简介
mysql集群的是三种节点:
管理节点
管理节点主要是用来对其他的节点进行管理。通常通过配置config.ini文件来配置集群中有多少需要维护的副本、配置每个数据节点上为数据和索引分配多少内存、IP地址、以及在每个数据节点上保存数据的磁盘路径;
--------------------------------------------------------
管理节点通常管理Cluster配置文件和Cluster日志。Cluster中的每个节点从管理服务器检索配置信息,并请求确定管理服务器所在位置的方式。如果节点内出现新的事件的时候,节点将这类事件的信息传输到管理服务器,将这类信息写入到Cluster日志中;
--------------------------------------------------------
一般在MySQL Cluster体系中至少需要一个管理节点,另外值得注意的是,因为数据节点和SQL节点在启动之前需要读取Cluster的配置信息,所以通常管理节点是最先启动的;
SQL节点
SQL节点简单地讲就是mysqld服务器,应用不能直接访问数据节点,只能通过SQL节点访问数据节点来返回数据。任何一个SQL节点都是连接到所有的存储节点的,所以当人任何一个存储节点发生故障的时候,SQL节点都可以把请求转移到另一个存储节点执行。通常来讲,SQL节点越多越好,SQL节点越多,分配到每个SQL节点的负载就越小,系统的整体性能就越好;
数据节点
数据节点用来存放Cluster里面的数据,MySQL Cluster在各个数据节点之间复制数据,任何一个节点发生了故障,始终会有另外的数据节点存储数据;

注意:
通常这3种不同逻辑的节点可以分布在不同的计算机上面,也可以在同一台服务器上。集群最少有3台计算机,为了保证能够正常维护集群服务,通常将管理节点放在一个单独的主机上;
安装
安装管理节点
解压mysql-cluster安装包
tar -zxvf mysql-cluster-gpl-7.6.13-linux-glibc2.12-x86_64.tar.gz
mv mysql-cluster-gpl-7.6.13-linux-glibc2.12-x86_64 /usr/local/mysql-cluster
创建配置文件
vim /usr/local/mysql-cluster/config.ini
[ndbd default]
NoOfReplicas=2 #数据节点需是此值的倍数
DataMemory=512M
IndexMemory=18M
[ndb_mgmd]
HostName=192.168.31.88
DataDir=/usr/local/mysql-cluster
[ndbd]
HostName=192.168.31.88
DataDir=/usr/local/mysql-cluster
[ndbd]
HostName=192.168.31.146
DataDir=/usr/local/mysql-cluster
[mysqld]
HostName=192.168.31.88
[mysqld]
HostName=192.168.31.146
添加环境变量
echo "export PATH=$PATH:/usr/local/mysql-cluster/bin" >> /etc/profile
source /etc/profile
使用配置文件初始化管理节点
/usr/local/mysql-cluster/bin/ndb_mgmd -f /usr/local/mysql-cluster/config.ini --initial
#注意(首次启动才需要加 --initial后面启动去掉--initial即可)
管理节点关闭命令:ndb_mgm -e shutdown
查看状态:ndb_mgm-e status
查看状态:ndb_mgm-e show

安装数据节点
解压mysql-cluster安装包
tar -zxvf mysql-cluster-gpl-7.6.13-linux-glibc2.12-x86_64.tar.gz
mv mysql-cluster-gpl-7.6.13-linux-glibc2.12-x86_64 /usr/local/mysql-cluster
创建配置文件(/etc/my.cnf)
[mysqld]
ndbcluster #使用ndb集群引擎
ndb-connectstring=192.168.31.88
default-storage-engine=ndbcluster
#设置默认引擎,只有该引擎的表数据才能保存到数据节点中
[mysql_cluster]
ndb-connectstring=192.168.31.88
3.启动ndbd(数据节点)
ndbd --initial


安装SQL节点
1.解压mysql-cluster安装包
tar -zxvf mysql-cluster-gpl-7.6.13-linux-glibc2.12-x86_64.tar.gz
mv mysql-cluster-gpl-7.6.13-linux-glibc2.12-x86_64 /usr/local/mysql-cluster
2.要先安装mysql,需用mysql-cluster包来初始化实例,注意使用二进制安装法:安装教程
3.修改配置文件(/etc/my.cnf)
#主要比普通my.cnf多如下配置项
[mysqld]
ndbcluster #使用ndb集群引擎
ndb-connectstring=192.168.31.88
default-storage-engine=ndbcluster
#设置默认引擎,只有该引擎的表数据才能保存到数据节点中
[mysql_cluster]
ndb-connectstring=192.168.31.88
4.启动mysql(SQL节点)
systemctl restart mysql
