MySQL Cluster的简易部署文档

1. 部署环境

1.1 机器环境
两台机器,CentOS 6.0 Basic Server。
安装“Development Tools”(yum groupinstall 'Development Tools')。

1.2 MySQL Cluster版本
mysql-cluster-gpl-7.1.15a-linux-i686-glibc23.tar.gz
下载地址: http://dev.mysql.com/downloads/cluster

1.3 节点分配
使用一个管理节点,两个数据节点,两个SQL节点。
分配如下:
-------------------------------
Name     | IP
-------------------------------
Mgm1     | 192.168.1.1
-------------------------------
Ndb1      | 192.168.1.1
-------------------------------
Ndb2      | 192.168.1.2
-------------------------------
MySQL1 | 192.168.1.1
-------------------------------
MySQL2 | 192.168.1.2
-------------------------------

2. 安装配置

2.1 添加mysql用户
groupadd mysql
useradd -g mysql mysql

2.2 安装
tar -xzvf mysql-cluster-gpl-7.1.15a-linux-i686-glibc23.tar.gz -C /usr/local/
mv /usr/local/mysql-cluster-gpl-7.1.15a-linux-i686-glibc23 /usr/local/mysql

数据节点及SQL节点:
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

管理节点:
cp /usr/local/mysql/bin/ndb_mgm* /usr/local/bin/
chmod +x /usr/local/bin/ndb_mgm*

2.3 配置
mkdir -p /usr/local/mysql/mysql-cluster
mkdir -p /var/run/mysqld

2.3.1 配置管理节点
在mysql-cluster目录新建文件 config.ini。
config.ini:
# Begin

[ndbd default]
NoOfReplicas=2 # 副本数
ServerPort=2202

[mysqld default]
[ndb_mgmd default]
[tcp default]

[ndb_mgmd]
HostName=192.168.1.1

[ndbd]
HostName=192.168.1.1
DataDir=/usr/local/mysql/mysql-cluster # 数据存储目录

[ndbd]
HostName=192.168.1.2
DataDir=/usr/local/mysql/mysql-cluster # 数据存储目录

[mysqld]
HostName=192.168.1.1

[mysqld]
HostName=192.168.1.2

# End

2.3.2 配置数据节点和SQL节点
在文件 /etc/my.cnf 中添加以下数据:
my.cnf:
# Begin

[mysqld]
ndbcluster
datadir=/usr/local/mysql/data
ndb-connectstring=192.168.1.1 # IP of mgm

[mysql_cluster]
ndb-connectstring=192.168.1.1 # IP of mgm

# End

2.4 设置mysql目录归属
chown -R root /usr/local/mysql
chown -R mysql /usr/local/mysql/data
chgrp -R mysql /usr/local/mysql
chown -R mysql:mysql /var/run/mysqld

2.5 开放集群连接端口
端口只为集群机器开放。
管理节点默认端口为1186,数据节点端口设为2202,SQL节点的默认服务端口为3306。
在/etc/sysconfig/iptables中添加:
-A INPUT -i eth1 -s 192.168.1.0/24 -m state --state NEW -m tcp -p tcp --dport 1186 -j ACCEPT
-A INPUT -i eth1 -s 192.168.1.0/24 -m state --state NEW -m tcp -p tcp --dport 2202 -j ACCEPT
-A INPUT -i eth1 -s 192.168.1.0/24 -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
然后重启iptables:
service iptables restart

3. 启动Cluster环境
保证启动顺序:先管理节点,再数据节点,最后SQL节点

3.1 启动MGM
ndb_mgmd -f /usr/local/mysql/mysql-cluster/config.ini

3.2 启动NDBD
/usr/local/mysql/bin/ndbd --initial
注意,只有首次启动时,才添加--initial参数

3.3 启动SQL
/usr/local/mysql/bin/mysqld_safe --user=mysql &

4. 安全关闭
关闭SQL节点的mysqld服务:
/usr/local/mysql/bin/mysqladmin -uroot shutdown
关闭Cluster,在MGM节点所在机器上运行:
ndb_mgm -e shutdown

5. 备注
新建表时,需指定表的存储引擎:
engine=ndbcluster

你可能感兴趣的:(Linux)