安装版本为MySQL-cluster-gpl-7.4.6-linux-glibc2.5-i686.tar.gz(下载地址 )
系统为Linux虚拟机
虚拟机2个(保证防火墙关闭,不然可能部署会不成功)
ip:192.168.52.130 作为管理,数据节点,服务节点
ip:192.168.52.131 作为数据节点,服务节点
一:安装cluster软件
每个节点都需要如下几步(其实管理可以不用,不过我做的时候都在一起,所以没太多研究):
1、下载解压到/usr/local/mysql(目录可以自己选)
tar -zxvf mysql-cluster-gpl-7.4.6-linux-glibc2.5-i686.tar.gz
mv mysql-cluster-gpl-7.4.6-linux-glibc2.5-i686 /usr/local/mysql/
2、创建mysql用户
useradd mysql
chown -R mysql:mysql /usr/local/mysql/
3、修改/etc/profile以方便使用
PATH=$PATH:/usr/local/mysql/bin
export PATH
4、安装mysq(源码安装mysql的步骤)
cd /usr/local/mysql/scripts
./mysql_install_db --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql
5、配置管理节点ndb
拷贝/usr/local/mysql/bin/ndb_mgm,ndb_mgmd两个文件到/usr/local/bin
cp /usr/local/mysql/bin/ndb_mgm* /usr/local/bin
到此所有的安装就结束了,下面是启动
节点的启动顺序为管理节点->数据节点->SQL节点
二:启动管理节点
在管理节点上创建配置文件config.ini 步骤如下
mkdir /var/lib/mysql-cluster
vim /var/lib/mysql-cluster/config.ini
config.ini内容
[ndbd default]
NoOfReplicas=2 #每个数据节点的镜像数量,如果为1当数据节点坏了则cluster不可用,》1相反
DataMemory=200M # 每个数据节点中给数据分配的内存
IndexMemory=30M #每个数据节点中给索引分配的内存
[ndb_mgmd]
id=1
hostname=192.168.52.130 #管理节点 IP
datadir=/var/lib/mysql-cluster/ #管理节点 目录
[ndbd]
id=2
hostname=192.168.52.131 #数据节点 IP
datadir=/usr/local/mysql/data #数据节点目录
[ndbd]
id=3
hostname=192.168.52.130 #数据节点 IP
datadir=/usr/local/mysql/data #数据节点目录
[mysqld]
id=4
hostname=192.168.52.130 #sql节点 IP
[mysqld]
id=5
hostname=192.168.52.131 #sql节点 IP
(注:NoOfReplicas表示数据份数,如果为1,会有数据节点单点故障)
在管理节点上启动管理服务
ndb_mgmd -f /var/lib/mysql-cluster/config.ini
如果修改过config.ini 可以重新加载
ndb_mgmd -f /var/lib/mysql-cluster/config.ini --reload --加个reload即可
ndb_mgm -e show 查看集群状态
ndb_mgm -e shutdown 关闭集群软件
管理节点就启动起来了。
其他机器连接管理节点测试
首先其他节点是不知道管理节点是哪个ip(因为其他节点没有config.ini)
三:每个节点都配置/etc/my.cnf文件
所以要配置,配置文件放在/etc/my.cnf,mysql在启动服务的时候会默认加载/etc/my.cnf
my.cnf内容如下:
[mysqld]
ndbcluster
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
socket=/tmp/mysql.sock
port=3306
ndb-connectstring=192.168.52.130 ---管理节点ip
[mysql_cluster]
ndb-connectstring=192.168.52.130 ---管理节点ip
然后在非管理节点上ndb_mgm -e show 也能看见刚才的集群状态
2启动数据节点
/usr/local/mysql/bin/ndbd --initial
安装后第一次启动数据节点时要加上--initial参数,其它时候不要加,除非是在备份、恢复或配置变化后重启时
ndb_mgm -e show 集群状态
3启动服务节点
/usr/local/mysql/bin/mysqld_safe --user=mysql &
ndb_mgm -e show 集群状态
到此就搭建成功了,测试的话待续。