你好,游客 登录 注册 搜索
背景:
阅读新闻

Ubuntu下MySQL Cluster安装和配置

[日期:2016-04-11] 来源:Linux社区  作者:Linux [字体: ]

五 配置

通常情况下,需要为每个节点编写独立的配置信息,但因为数据节点和SQL节点的配置信息相同,所以若数据节点和SQL节点被设计在同一台计算机上的话,只用编写一个配置文件即可。则本次实验,本人只需编写三个配置文件即可,分别为:192.168.3.47上的管理节点(MGM)配置文件,SQL节点/数据节点配置文件和192.168.4.128上的SQL节点/数据节点的配置文件。

每个数据节点或者SQL节点需要一个my.cnf,该文件提供了两类信息:connectstring(连接字符),用于通知节点到哪里找到MGM节点;以及一行ndbcluster,用户通知该主机(容纳数据节点的机器)上的MySQL服务器运行在NDB模式下。

管理节点需要congfig.ini文件,该文件通知节点有多少需要维护的副本,需要在每个数据节点上为数据和索引分配多少内存,数据节点的位置,在每个数据节点上保存数据的磁盘位置,以及SQL节点的位置。

5.1 配置数据节点和SQL节点

数据节点所需要的my.cnf文件相当简单。配置文件应位于/etc目录下(如有必要,可手动创建该文件),例如:

vi /etc/my.cnf

对于每个SQL节点和数据节点,my.cnf文件类似于:

# Options for mysqld process:
[MYSQLD]
ndbcluster                      # run NDB engine
ndb-connectstring=192.168.3.47  # location of MGM node

[MYSQL_CLUSTER]
ndb-connectstring=192.168.3.47  # location of MGM node

输入上述内容后,保存文件。需要在容纳数据节点和SQL节点的每一台主机上执行上述操作。

5.2 配置管理节点

配置MGM节点的第一步是创建目录,该目录用户存放配置文件,然后创建配置文件本身。例如(以根用户身份运行):

mkdir /var/lib/mysql-cluster
cd /var/lib/mysql-cluster
vi config.ini

对于基本的典型设置,config.ini文件应类似于:

# Options affecting ndbd processes on all data nodes:
[NDBD DEFAULT]   
NoOfReplicas=2
DataMemory=80M
IndexMemory=18M

# TCP/IP options:
[TCP DEFAULT]   
#portnumber=2202

# Management process options:
[NDB_MGMD]         
nodeid=1         
HostName=192.168.3.47
DataDir=/var/lib/mysql-cluster/

# Options for data node :
[NDBD]                         
nodeid=12
HostName=192.168.4.128
DataDir=/usr/local/mysql/data/

# Options for data node :
[NDBD] 
nodeid=11                     
HostName=192.168.3.47
DataDir=/usr/local/mysql/data

# SQL node options:
[MYSQLD]
nodeid=21                     
HostName=192.168.3.47
[MYSQLD]
nodeid=22
HostName=192.168.4.128

一旦创建了所有的配置文件并指定了这些最低选项,可启动簇,并验证所有进程均能正常运行。

注释:簇管理节点的默认端口是1186,数据节点的默认端后是2202。

六 首次启动

完成配置后,启动簇并不困难。必须在数据节点所在的主机上分别启动每个簇节点进程。尽管能够按任何顺序启动节点,但还是建议,首先启动管理节点,然后启动存储节点,最后启动SQL节点。

1. 在管理节点上,从系统shell执行以下指令以启动MGM节点进程:

shell> ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial

可使用nbd_mgm指令登录到ndb_mgm客户端,登录后,可使用show指令来查看簇中个节点情况。

注意,启动MGM时,必须用-f或者–config-file选项,告诉ndb_mgmd到哪里找到配置文件。首次启动时必须选用–initial选项,或者更改了MGM节点的配置信息后,也需选用–initial选项。

2. 在每台数据节点主机上,对于首次启动,运行下述命令启动NDBD进程:

shell> ndbd --initial

注意,应仅在首次启动时ndbd时,或者在备份/恢复或者配置变化后重启ndbd时使用“–initial”参数,这很重要,因为该参数会使数据节点删除由早期ndbd实例创建的,用于恢复的任何文件,包括恢复用日志文件。

3. 在每台SQL节点上,执行以下指令,以启动mysqld进程:

/var/tmp/mysql/bin/mysqld_safe --user=mysql  &

若执行此命令时出现不能同时写syslog和error.log的情况,则使用以下指令:

/var/tmp/mysql/bin/mysqld_safe --user=mysql  --skip-syslog &

MySQL服务器启动后,可使用nysql -u root -p指令登录到mysql。

如果一切顺利,并且已经正确设置了簇,那么簇现在应该应能运行。通过调用ndb_mgm管理节点客户端,可对其进行测试。结果如下图:

七 测试MySQL-Cluster

 7.1 常规测试

为了让数据表能够在cluster中正常复制,创建数据表时必须指定为ndbcluster引擎(engine=ndb或engine=ndbcluster)。

登录到192.168.3.47的mysql,然后创建一个新数据库songzi,并创建一个ndbcluster引擎的数据表test(id int,name char(10)),并向表中插入一条数据(0,songzi)。192.168.3.47上的操作及结果如下图:

然后登录192.168.4.128的mysql,可查看到数据已同步,并且新建的表及数据也存在。192.168.4.128上的操作及结果如下图:

 7.2 模拟NDB节点Crash

终止192.168.4.128上的NDB进程,执行以下指令查看NDB进程情况

ps -ef | grep ndbd

kill 24077
ps -ef | grep ndbd

具体操作及结果见下图:
 

也可以在ndb_mgm管理节点客户端查看到192.168.4.128上的NDB节点已停掉

然后分别登录到192.168.3.47和192.168.4.128的mysql,可发现依然能够查询到数据。结果如下图

192.168.3.47

192.168.4.128

此结果说明测试成功,即当有一个NDB节点Crash后,整个MySQL环境仍可以正常服务。

7.3 模拟SQL节点Crash

在上192.168.3.47上终止mysqld进程,可执行以下指令:

killall mysqld

也可以在ndb_mgm管理节点客户端查看到192.168.3.47上的SQL节点已停掉

登录到192.168.4.128上的mysql,可查看到数据依然存在

此结果说明测试成功,及当有一个SQL节点Crash后,整个MySQL-Cluster环境仍可以工作。

至此,整个MySQL-Cluster安装及配置实验已完成。实验结束后,可使用指令shell> ndb_mgm -e shutdown或者ndb_mgm>shutdown来关闭簇中的所有节点。

MySQL Cluster 的详细介绍请点这里
MySQL Cluster 的下载地址请点这里

本文永久更新链接地址http://www.linuxidc.com/Linux/2016-04/130100.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款