Ubuntu中安装和配置MySQL-Cluster

一 MySQL-Cluster简介

MySQL Cluster是一种技术,该技术允许在无共享的系统中部署“内存中”数据库的簇。通过无共享体系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求。此外,由于每个组件都有自己的内存和磁盘,所以不存在单点故障。

MySQL簇将标准的MySQL服务器与名为NDB的“内存中”的簇式存储引擎集成了起来。术语NDB指的是与存储引擎相关的设置部分,而术语“MySQL簇”指的是MySQL和NDB存储引擎的组合。

MySQL簇由一组计算机构成,每台计算机上均运行着多种进程,包括MySQL服务器,NDB簇的数据节点,管理服务器(MGM),以及(可能)专门的数据访问程序。关于簇中这些组件的关系,如下图:

所有这些程序一起构成了MySQL簇。将数据保存到NBD簇引擎中时,表将保存在数据节点内。能够从簇中所有其他MySQL服务器直接访问这些表。因此,假如在将数据保存在簇内的工资应用程序中,如果某一应用程序更新了一位雇员的工资,所有查询该数据的其他MySQL 服务器能立刻发现这种变化。

对于MySQL簇,保存在数据节点的数据可被映射,簇能够处理单独数据节点的故障,除了少数事物将因事物状态丢失而被放弃外,不会产生其他影响。由于事物性应用程序能够处理失败事宜,因而它不是问题源。

二 MySQL簇的基本概念

NDB 是一种“内存中”存储引擎,它具有可用性高和数据一致性好的特点。

能够使用多种故障切换和负载平衡选项配置NDB 存储引擎,但以簇层面上的存储引擎开始最简单。MySQL簇的NDB存储引擎包含完整的数据集,仅取决于簇本身内的其他数据。

下面名,我们将介绍设置由NDB存储引擎和一些MySQL服务器构成的MySQL簇的设置方法。

目前,MySQL簇的部分可以独立于MySQL服务器进行配置。在MySQL簇中,簇的每个部分被视为一个节点。

注释:在很多情况下,术语“节点”用于指计算机,但在讨论MySQL簇时,它表示的是进程。在单台计算机上可以有任意数目的节点,所以我们才有可能将多个不同功能的节点配置在同一台计算机上,为此,我们采用术语簇主机

有三类簇节点,在最低的MySQL簇配置中,至少有三个节点,这三类节点分别是:

管理节点(MGM):这类节点的作用是管理MySQL簇内的其他节点,如提供配置数据,启动并停止节点,运行备份等。由于这类节点负责管理其他节点的配置,所以管理节点应在其他节点之前先启动。MGM节点是用命令ndb_mgm启动的。

数据节点(NDB):这类节点用于保存簇的数据。数据集点的数目与副本的数目相关,是片段的倍数。例如,对于两个副本,每个副本又两个片段,那么就有4个数据节点。没有必要有一个以上的副本。。数据节点是用命令ndbd来启动的。

SQL节点:这类节点是用来访问簇数据的节点。对于MySQL簇,客户端节点是使用NDB 簇存储引擎的传统MySQL服务器。典型情况下,SQL节点是使用命令mysql -ndbcluster来启动的,或将ndbcluster添加到my.cnf后面使用mysqld启动。

簇配置包括对簇中单独节点的配置,以及设置节点之间的单独通信链路。对于目前设计的MySQL簇,其意图在于,从处理器的能力,内存空间和宽带来讲,存储节点是同质的,此外,为了提供单一的配置点,作为整体,簇的所有配置均位于一个文件中。

管理服务器(MGM节点)负责管理簇配置文件和簇日志。簇中的每个节点从管理服务器检索配置数据,并请求确定管理服务器所在的位置的方式。当数据节点内出现有趣的事件时,节点将关于这类事件的信息传输到管理服务器,然后,啊经这类信息写入簇日志。

实验环境

实验过程中,只是用两台计算机来实现MySQL-Cluster环境的配置,具体环境如下:

管理节点(MGM)服务器:192.168.3.47 主机名:songzi nodeid=1

数据节点1(NDB ):192.168.3.47 nodeid=11

数据节点2(NDB):192.168.4.128 nodeid=12

SQL节点1:192.168.3.47 nodeid=21

SQL节点2:192.168.4.128 nodeid=22

其中192.168.3.47安装的为Ubuntu12.04的32位操作系统,192.168.4.128安装的为ubuntu12.04的64位操作系统。

对于MySQL-Cluster的安装包下载,下载地址见http://dev.mysql.com/downloads/cluster/ ,其中192.168.3.47的操作系统为32位的linux,所以选择的下载版本为:mysql-cluster-gpl-7.3.3-linux-glibc2.5-i686.tar.gz。而192.168.4.128为64 位的linux操作系统,所以选择的下载版本为:mysql-cluster-gpl-7.3.3-linux-glibc2.5-x86_64.tar.gz。在终端中执行 :uname -m指令可查看操作系统的信息,若结果显示为i686,则为32位操作系统。若结果为x86_64,则为64位操作系统。务必选择正确的版本,并下载。

此外 如果之前安装过mysql-server,在进行此次实验之前,需要将mysql-server卸载,执行以下指令卸载mysql

sudo apt-get autoremove –purge mysql-serversudo apt-get remove mysql-serversudo apt-get autoremove mysql-serversudo apt-get remove mysql-common (非常重要)

四 安装

对于每台运行存储或者SQL节点的MySQL簇计算机,必须在其上安装MySQL服务器的二进制版本。对于管理节点,没有必要安装MySQL服务器的二进制版本,但应安装MGM 服务器端口监督程序和客户端二进制版本(分别是ndb_mgmd和ndb_mgm)。本节将详细介绍每种簇节点安装正确的二进制版本所需要的步骤。

4.1 存储节点和SQL节点安装

SQL节点和数据节点的安装步骤基本相同,所以在设计为存储节点或SQL节点的的每一台机器上,以系统根用户身份执行以下步骤:

\1. 检查/etc/passwd和/etc/group/文件,查看在系统上是否已经存在mysql组和mysql用户,这时因为某些操作系统会将其作为安装进程的一部分创建。可以使用以下指令查看:

cat show /etc/passwd

cat show /etc/group

如果它们不存在,则需要创建新的mysql用户组,然后为该组添加一个mysql用户

groupadd mysql

useradd -g mysql mysql

\2. 进入包含已经下载好文件的目录,解压档案文件,并创建与mysql可执行文件链接symlink。注意,根据MySQL的版本号和浏览器下载文件的目录,实际的文件和目录名可能会有所不同。如本人下载文件在浏览器默认的/home/jenny/Downloads目录下,

cd /home/jenny/Downloads

tar zxvf -C mysql-cluster-gpl-7.3.3-linux-glibc2.5-i686.tar.gz /usr/local/bin

cd /var/tmp

ln -s /usr/local/bin/mysql-cluster-gpl-7.3.3-linux-glibc2.5-i686.tar.gz mysql

\3. 进入mysql目录,运行所提供的用于创建系统数据库的脚本:

cd mysql

scripts/mysql_install_db –user=mysql

如果此脚本不能运行,若报错为主机名不匹配的话,则很有可能是下载的版本不对,查看操作系统是32位还是64位,选择正确的版本。若报错找不到默认的文件,则很有可能是因为之前的mysql-server没有卸载,执行上文提供的指令,彻底卸载mysql-server。

\4. 为MySQL服务器和数据目录设置必要的权限:

chown -R root .

chown -R mysql data

chgrp -R mysql .

注意,在每台运行数据节点的机器上,数据目录是/usr/local/mysql/data,也可另外指定,若指定为此目录,则此文件必须存在,必要时需手动创建。配置管理节点时将用到这类信息。

\5. 将MySQL启动脚本拷贝恰当的目录下,使之成为可执行的脚本,并设置它以便在启动操作系统时启动:

cp support-files/mysql.server /etc/init.d

chmod +x /etc/init.d/mysql.server

chconfig –add mysql.server

请记住,对于存储节点或SQL节点所在的每台机器,必须分别执行以上步骤。

4.2 管理节点安装

对于管理(MGM)节点,不需要安装mysqld可执行文件,仅需要安装用于MGM服务器和客户端的二进制文件,这类文件可在下载的档案文件中找到。假定将下载的档案文件放在了/var/tmp文件下,以系统管理员的身份执行以下步骤,在簇管理节点主机上安装ndb_mgmd和ndb_mgm:

\1. 进入/var/tmp目录,从档案文件中将ndb_mgmd和ndb_mgm提取到恰当的目录下,如/usr/local/bin:

cd /var/tmp

tar zxvf -C mysql-cluster-gpl-7.3.3-linux-glibc2.5-i686.tar.gz

cp /mysql-cluster-gpl-7.3.3-linux-glibc2.5-i686.tar.gz/bin/ndb_mgm* /usr/local/bin/

\2. 进入nndb_mgmd和ndb_mgm所在的目录,然后使这两个文件成为可执行的:

cd /usr/local/bin

chmod mysql-cluster-gpl-7.3.3-linux-glibc2.5-i686.tar.gzd +x ndb_mgm*

至此,所有节点的安装工作就已经完成,接下来将详细介绍每个节点的具体配置方法。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/222920.html<

(0)
管理的头像管理
上一篇2025-04-15 17:35
下一篇 2025-04-15 17:36

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注