MysqlCluster安装实测可行
前言
MysqlCluster分为三部分,Management node,Data node,SQL node。其中Management node管理整个Cluster,ndb之间是互相连通的,实现数据存储,SQL节点是用来访问cluster的数据的,下图来源于官方文档。
环境
- CentOS7.0
- mysql-5.6.39 ndb-7.4.19(mysql-cluster-gpl-7.1.9a-linux-i686-glibc23.tar.gz)
- 切记关闭防火墙
方案
类型 | ip |
---|---|
Management node | 10.10.9.91 |
Data node | 10.10.1.92 |
Data node | 10.10.1.93 |
SQL node | 10.10.1.92 |
SQL node | 10.10.1.93 |
安装
安装mysqlCliuster
解压文件
- cd /usr/local/
- 上传MysqlCluster文件到当前目录
- tar -zxvf mysql-cluster-gpl-7.1.9a-linux-i686-glibc23.tar.gz
- 解压完成后将mysql-cluster-gpl-7.1.9a-linux-i686-glibc23改为mysql,便于记忆
配置Mysql文件权限
- cd /usr/local/mysql/
- chown -R root .
- chown -R mysql data
- chgrp -R mysql .
安装cluster
- cd /usr/local/mysql/scripts/
- ./mysql_install_db –user=mysql –basedir=/usr/local/mysql/ –datadir=/usr/local/mysql/data/
- 步骤2可能会报 /usr/local/mysql/scripts/mysql_install_db: /usr/bin/perl: 坏的解释器: 没有那个文件或目录这个错误,安装两个插件就可以了,安装yum install -y perl perl-devel和yum-y install autoconf
配置Mysql
- cp support-files/mysql.server /etc/rc.d/init.d/mysqld
- chmod +x /etc/rc.d/init.d/mysqld
- chkconfig –add mysqld
配置MGM
- 管理节点需要创建一个config.ini文件,配置mgm,ndb,mysqld,移动到/var/lib/mysql-cluster/ 目录下(该目录需要手动创建)
[ndbd default]
NoOfReplicas=1
DataMemory=200M
IndexMemory=20M
[ndb_mgmd]
NodeId=1
hostname=10.10.9.91
datadir=/var/lib/mysql-cluster/
[ndbd]
NodeId=2
hostname=10.10.9.92
datadir=/usr/local/mysql/data/
[ndbd]
NodeId=3
hostname=10.10.9.93
datadir=/usr/local/mysql/data/
[mysqld]
NodeId=5
hostname=10.10.9.93
[mysqld]
NodeId=6
hostname=10.10.9.92
配置Data_NODE和SQL_NODE
[mysqld]
ndbcluster
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
port=3306
ndb-connectstring=10.10.9.91
[mysql_cluster]
ndb-connectstring=10.10.9.91
[mysqld_safe]
log-error=/var/log/mysql.err #日志文件
启动Cluster
启动MGM
//切换到mysql/bin目录
cd /usr.local/mysql/bin
//执行ndb_mgmd命令,首次启动要加上--initial
./ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial
启动ndb
//切换到mysql/bin 目录
cd /usr/local/mysql/bin
//运行ndbd,第一次要加上 --initial
./ndbd --initial
启动SQL_NODE
//切换到mysql/bin 目录
cd /usr/local/mysql/bin
./mysqld_safe --user=root &
管理Cluster
//切换到 mysql/bin 目录,执行ndb_mgm
cd /usr/local/mysql/bin
./ndb_mgm
//ndb_mgm启动后键入show
show
这里可以清楚的看到,mgm已经启动,两个ndb节点连接上来了,sql节点也成功连接,现在MysqlCluster已经安装完成了。
报错及解决方案
- bash: /usr/local/mysql/scripts/mysql_install_db: /usr/bin/perl: 坏的解释器: 没有那个文件或目录
安装yum install -y perl perl-devel和yum-y install autoconf - Tables not available after 30 seconds. Consider increasing
ndb-wait-setup value
这是由于ndb没有全部启动或者是防火墙没关,所有的cluster机器的防火墙必须关闭