Mysql cluster (集群)7.2在Linux下的安装配置

Mysql cluster7.2后,其靠谱度大大提高,业界也因为其官方宣传的卓越性能慢慢热起来。确实,每分钟1 Billion的查询响应绝对是一个令人振奋的数字!今天将我最近对其测试体验的一些心得拿出来,与大家分享。

一些说明:
shell> 提示符表示在linux的终端shell提示符
mysql>表示在sql节点上的mysql终端
mgmd>表示在cluster的管理控制台

cluster官方关系图



从图上我们可以知道,cluster由三种节点(node)组成:sql节点,数据节点和管理节点。sql节点(mysqld)是sql终端,接收各种sql语句。数据节点(ndbd或者ndbmtd)是cluster的数据存储和查询设备。管理节点(ndb_mgmd)是整个mysql 集群的控制器和配置器。基本上所有的cluster参数配置都在此设备进行。所有的节点都具有可扩展性。mysql cluster7.2支持高达255个节点,48个数据节点。

准备工作:
配置mysql cluster至少需要4台主机。在测试环境中,我使用了8台,虽然mysql说可以用很差的配置,但是你最好不用太差的机器,否则测试起来会很不爽。cluster本来就是为高可用,高性能数据库服务而生的。我测试用的机器配置如下(也不是很好):
CPU Inter  xeon E1230 3.2G 4核
Mem 32G
一块500G sata硬盘7200
单网卡

分配如下
管理节点1个:10.237.2.173
sql节点2个:10.237.2.174-175
数据节点4个:10.237.2.177-180
memcached节点1个:10.237.2.176

开始安装
一、下载mysql cluster7.2

http://www.mysql.com/downloads/cluster/

二、安装SQL节点(mysqld)和Data节点(ndbd),管理节点

shell>mkdir -p /opt/soft/mysql
shell>tar -xzvf mysql-cluster-gpl-7.2.4-linux2.6-x86_64.tar.gz
shell>mv mysql-cluster-gpl-7.2.4-linux2.6-x86_64 /opt/soft/mysql
shell>cd /opt/soft/mysql

下面跟其他普通mysql服务器的安装完全一致(我们假设数据库的数据存放目录在/data/db)

shell>mkdir /data/db
shell>cd /opt/soft/mysql/
shell>groupadd mysql
shell>useradd -r -g mysql mysql
shell>chown -R mysql .
shell>chgrp -R mysql .
shell>chown -R mysql.mysql /data/db
shell>cp support-files/my-large.cnf /etc/my.cnf
shell> chown -R root .
shell>./scripts/mysql_install_db --user=mysql
shell>cp support-files/mysql.server /etc/init.d/mysql.server

三、配置mysql节点
在sql节点服务器上修改配置文件my.cnf
shell>vi /etc/my.cnf
在[mysqld]下面添加

ndbcluster
ndb-connectstring="10.237.2.173:1186"

四、配置数据节点

在数据节点上修改配置文件my.cnf
shell>vi /etc/my.cnf
在[mysqld]下面添加

#启用ndb引擎
ndbcluster
ndb-connectstring="10.237.2.173:1186"

#告知ndb引擎,管理节点在哪里
[ndbcluster]
ndb-connectstring="10.237.2.173:1186"

OK,短短几行就搞定,下面来配置管理节点
五、配置管理节点
在管理节点上创建一个目录存在日志
shell>mkdir -p /data/cluster
shell>cp /opt/soft/mysql/support-files/config.huge.ini /data/cluster/config.ini

编辑管理节点的配置文件config.ini
shell>vi /data/cluster/config.ini

其中重要的几项

  1. [NDBD DEFAULT]
  2. NoOfReplicas=2
  3. DataDir=/data/db

  4. #此值按数据库大小设置,官方给出了公式
  5. #(内存) 数据大小 *副本 * 1.25 = 数据库内存总需求
  6. #实例:50 GB * 2 * 1.25 = 125 GB
  7. #(数据大小 *副本 * 1.25)/节点数 = 每个节点的内存大小
  8. #实例:(2 GB * 2 * 1.25)/4 = 1.25 GB
  9. DataMemory=5120M
  10. IndexMemory=400M

  11. #此值设置为1的时候,ndb将不会把数据写入磁盘(意思就是shutdown后数据库就没了)
  12. Diskless=0
  13. #速度快,你可以改为1试试,具体含义参考mysql官方文档
  14. ODirect=0

  15. RedoBuffer=32M

  16. [MGM DEFAULT]
  17. PortNumber=1186
  18. DataDir=/data/cluster

  19. [TCP DEFAULT]
  20. SendBufferMemory=32M
  21. ReceiveBufferMemory=32M


  22. [NDB_MGMD]
  23. NodeId=1
  24. HostName=10.237.2.173
  25. ArbitrationRank=1

  26. [NDBD]
  27. NodeId=10
  28. HostName=10.237.2.177

  29. [NDBD]
  30. NodeId=11
  31. HostName=10.237.2.178

  32. [NDBD]
  33. NodeId=12
  34. HostName=10.237.2.179

  35. [NDBD]
  36. NodeId=13
  37. HostName=10.237.2.180


  38. [API]
  39. NodeId=20
  40. HostName=10.237.2.174
  41. ArbitrationRank=2


  42. [API]
  43. NodeId=21
  44. HostName=10.237.2.175

  45. [API]
  46. NodeId=22
  47. HostName=10.237.2.176

  48. #空几个在这里是有用的
  49. [API]
  50. [API]
  51. [API]
  52. [API]



好了。配置完成,我们开始按管理节点->数据节点->sql节点的次序依次启动

在管理节点上启动管理服务器
shell>/opt/soft/mysql/bin/ndb_mgmd -f /data/cluster/config.ini

在数据节点上启动数据节点
shell>/opt/soft/mysql/bin/ndbd --initial
--initial参数是当此数据节点第一次启动时使用,在以后启动时,此参数不需要(如果使用,会清空此节点的数据,慎之)。
此外,如果是多CPU,也可以使用
shell>/opt/soft/mysql/bin/ndbmtd --initial 当然启用多cpu增强性能,需要在config.ini配置里增加相应参数指明。

启动数据节点
在sql节点服务器上执行
shell>/etc/init.d/mysql.server start

完成后,回到管理节点,我们登录管理服务器控制台看看是否正常
shell>/opt/soft/mysql/bin/ndb_mgm
如果成功,会进入控制台
ndb_mgm>show

如果正常,会显示每个节点的连接情况,

如果不正常,可以查看日志。在数据节点的/data/db目录下,在管理节点的/data/cluster目录下,分别有各种日志。

祝大家配置顺利。后一篇将侧重分享下mysql cluster 7.2的性能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值