标签:client serve term 软件包 -o 时间 def mysqld mysql
Mysql NDB Cluster其主要功能是在无共享存储的系统中部署基于内存的数据库Cluster,其主要是通过NDB Cluster(简称NDB)存储引擎来实现的。本文使用的NDB Cluster版本为7.6,主机描述见下表:1、各个节点软件包安装
我这里创建了一个YUM仓库,所以直接通过yum命令安装。
[root@mydb02 ~]# yum -y install mysql-cluster-commercial-management-server
[root@mydb03 ~]# yum -y install mysql-cluster-commercial-server mysql-cluster-commercial-common mysql-cluster-commercial-client
[root@mydb04 ~]# yum -y install mysql-cluster-commercial-data-node mysql-cluster-commercial-client
[root@mydb05 ~]# yum -y install mysql-cluster-commercial-data-node mysql-cluster-commercial-client
2、NDB Cluster服务配置
//创建配置文件
[root@mydb02 ~]# mkdir /var/lib/mysql-cluster
[root@mydb02 ~]# vi /var/lib/mysql-cluster/config.ini
[tcp default]
SendBufferMemory=2M
ReceiveBufferMemory=2M
[NDBD DEFAULT]
#设置冗余的分数
NoOfReplicas=2
#指定存放数据的内存段大小
DataMemory=1024M
#存放跟踪文件、日志文件、pid文件以及错误日志的目录
DataDir=/var/lib/mysql-cluster
ServerPort=2202
#数据库中存储NDB表的最大数量
MaxNoOfTables=8192
#设置哈希索引在系统中同意时间被使用的总数,该参数的默认值为128。
MaxNoOfOrderedIndexes=2048
#定义了可在簇中定义的属性数目
MaxNoOfAttributes=5000000
#开启这个设置会使内地版NDB尝试采用O_DIRECT写LCP、备份、重做日志,通常使用更少的内存和cpu。
ODirect=1
#每个redo日志文件的大小
FragmentLogFileSize=100M
#系统中可以定义的最大数量的触发器
MaxNoOfTriggers=1000
[NDB_MGMD]
NodeId=1
HostName=192.168.120.93
DataDir=/var/lib/mysql-cluster
TotalSendBufferMemory=2048M
[NDBD]
TotalSendBufferMemory=2048M
NodeId=2
HostName=192.168.120.130
DataDir=/var/lib/mysql
[NDBD]
TotalSendBufferMemory=2048M
NodeId=3
HostName=192.168.120.131
DataDir=/var/lib/mysql
[MYSQLD]
NodeId=4
TotalSendBufferMemory=2048M
HostName=192.168.120.129
初始化NDB管理节点,执行一次,后续启动不需要加--initial参数。
[root@mydb02 ~]# ndb_mgmd -f /var/lib/mysql-cluster/config.ini –initial
通过ndb客户端查看,除了管理节点已连接外,其他尚未和管理节点建立连接,如下图:
//数据节点1创建my.cnf文件
[root@mydb04 ~]# vi /etc/my.cnf
[mysqld]
ndbcluster
ndb-connectstring = 192.168.120.93
[mysql_cluster]
ndb-connectstring = 192.168.120.93
//数据节点1初始化
[root@mydb04 ~]# ndbd --initial
//数据节点2创建my.cnf文件
[root@mydb05 ~]# vi /etc/my.cnf
[mysqld]
ndbcluster
ndb-connectstring = 192.168.120.93
[mysql_cluster]
ndb-connectstring = 192.168.120.93
//数据节点2初始化
[root@mydb05 ~]# ndbd –initial
在管理节点通过ndb客户端可以验证数据节点已建立连接,如下图:
//创建配置文件
[root@mydb03 ~]# vi /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
ndbcluster
default-storage-engine=ndbcluster
tmp_table_size = 512M
max_heap_table_size = 102400M
max_allowed_packet = 3072M
log_timestamps=system
collation-server=utf8_general_ci
character-set-server = utf8
[mysql_cluster]
ndb-connectstring=192.168.120.93
//启动MySQL服务
[root@mydb03 ~]# systemctl start mysqld
验证SQL节点是否和管理节点建立连接,如下图:
到此,整个ndb cluster服务搭建完成,最后通过SQL节点创建表以及导入数据即可。另外,只有使用了NDBCluster引擎的表才会执行同步操作,如果创建表时未指定engine类型为ndbcluster,则系统不会同步。使用如下命令在SQL节点更改表类型为ndbcluster:
mysql> alter table xj.chapter engine=ndbcluster;
3、NDB Cluster服务管理
创建Cluster的时候,已做过初始化操作,后续的启动过程不需要加--initial参数。启动的顺序是先启动ndb管理服务,再启动ndb数据节点服务,最后是SQL节点服务。
[root@mydb02 ~]# ndb_mgmd -f /var/lib/mysql-cluster/config.ini
[root@mydb04 ~]# ndbd
[root@mydb05 ~]# ndbd
[root@mydb03 ~]# systemctl start mysqld
//通过NDB客户端执行shutdown可关闭cluster里的所有服务除SQL节点服务
[root@mydb02 ~]# ndb_mgm
ndb_mgm>shutdown
[root@mydb03 ~]# systemctl stop mysqld
4、监控NDB Cluster服务
这里使用MySQL Enterprise Monitor工具,这个工具的安装请参考我博客里相关内容。待MySQL Enterprise Monitor agent服务启动后,它会收集操作系统以及MySQL信息发送到服务端,最终从web界面获取相关信息,如下图:
MySQL NDB Cluster Installation Guide
标签:client serve term 软件包 -o 时间 def mysqld mysql
原文地址:http://blog.51cto.com/candon123/2155752