mysql的ndb集群
时间:2010-07-23 来源:lzq467826892
########################################################################
mysql的ndb集群是一个热备与负载均衡的mysql的数据库集群,安全性可达到99.99%,是有mysql节点,数据库节点,管理节点组成。如下图
mysql节点A-----------mysql节点B
| \ / |
| 管理节点 |
| / \ |
数据节点A------------数据节点B
########################################################################
############设备软件需求:##############
5台服务器,RHEL5.2操作系统,mysql-cluster-gpl-7.1.4b-linux-i686-glibc23.tar.gz
192.168.0.13 管理节点
192.168.0.61 mysql节点A
192.168.0.62 mysql节点B
192.168.0.63 数据节点A
192.168.0.64 数据节点B
配置方案:
########1.节点软件安装:#############
将mysql-cluster-gpl-7.1.4b-linux-i686-glibc23.tar.gz分别在mysql节点A、B,数据节点A、B上安装。
# useradd mysql
# tar zxvf mysql-cluster-gpl-7.1.4b-linux-i686-glibc23.tar.gz
# mv mysql-cluster-gpl-7.1.4b-linux-i686-glibc23 /usr/loacl/mysql
# chown -R mysql.mysql /usr/local/mysql
########2.配置mysql节点:(在192.168.0.61上)###########
# vim /etc/my.cnf
[mysqld] # mysql服务进程参数
ndbcluster
ndb-connectstring=192.168.0.13
[mysql_cluster] # 集群服务进程指向管理节点
ndb-connectstring=192.168.0.13
# scp /etc/my.cnf 192.168.0.62:/etc/my.cnf 两个sql节点的配置完全相同,可以copy.
#########3.配置数据节点:(在192.168.0.63上)#############
# vim /etc/my.cnf
[mysqld]
Datadir=/usr/local/mysql/data #数据在本地的存储位置
ndbcluster
ndb-connectstring=192.168.0.13
[mysql_cluster]
ndb-connectstring=192.168.0.13 #都指向管理节点
# scp /etc/my.cnf 192.168.0.63:/etc/my.cnf 两个数据节点的配置完全相同,可以copy.
#############4.配置管理节点:(在192.168.0.13上)############
# cat /usr/local/mysql/cluster-conf/config.ini 此目录与文件要自己创建。
[ndbd default]。
NoOfReplicas=2 数据节点的个数,此处为两个。
DataMemory=80M 数据存储占本地内存数
IndexMemory=18M 数据索引占本地内存数
[ndb_mgmd] 管理节点
Id=1
Hostname=192.168.0.13
Datadir=/var/log/ 日志存放位置
[ndbd] 数据节点
Id=2
Hostname=192.168.0.63
Datadir=/usr/local/mysql/data
[ndbd]
Id=3
Hostname=192.168.0.64
Datadir=/usr/local/mysql/data
[mysqld] sql节点
Id=4
Hostname=192.168.0.61
[mysqld]
Id=5
Hostname=192.168.0.62
复制其他任何一个节点上的以下文件到管理节点
# scp 192.168.0.61:/usr/loacl/mysql/bin/ndb_mgmd /bin/ndb_mgmd
# scp 192.168.0.61:/usr/loacl/mysql/bin/ndb_mgmd /bin/ndb_mgm
############5.管理节点启动 #############
# /bin/ndb_mgmd -f /usr/loca/mysql/cluster-conf/config.ini 启动管理节点
2010-07-08 22:02:52 [MgmtSrvr] INFO -- NDB Cluster Management Server. mysql-5.1.44 ndb-7.1.4b
2010-07-08 22:02:52 [MgmtSrvr] INFO -- Loaded config from '/usr/local/mysql/mysql-cluster/ndb_1_config.bin.1'
# /bin/ndb_mgm 查看各节点情况
-- NDB Cluster -- Management Client --
ndb_mgm> show
Connected to Management Server at: localhost:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=2 (not connected, accepting connect from 192.168.0.63)
id=3 (not connected, accepting connect from 192.168.0.64)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @192.168.0.13 (mysql-5.1.44 ndb-7.1.4)
[mysqld(API)] 2 node(s)
id=4 (not connected, accepting connect from 192.168.0.61)
id=5 (not connected, accepting connect from 192.168.0.62)
此时发现与其他节点无法连接,因为其他节点还没有启动。
############6.启动数据节点#############
# /usr/local/mysql/bin/ndbd
2010-07-08 22:15:58 [ndbd] INFO -- Configuration fetched from '192.168.0.13:1186', generation: 1
记得两个节点都启动。如果现在在管理节点上观察,会发现数据节点启动成功,一个主的,一个从的。
############7.启动sql节点##############
首先初始化mysql
# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --ldata=/usr/loacl/mysql/data/
Installing MySQL system tables...
OK
Filling help tables...
OK 初始化成功
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/local/mysql//bin/mysqladmin -u root password 'new-password'
/usr/local/mysql//bin/mysqladmin -u root -h localhost password 'new-password'
Alternatively you can run:
/usr/local/mysql//bin/mysql_secure_installation
which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.
See the manual for more instructions.
You can start the MySQL daemon with:
cd /usr/local/mysql/ ; /usr/local/mysql//bin/mysqld_safe &
You can test the MySQL daemon with mysql-test-run.pl
cd /usr/local/mysql//mysql-test ; perl mysql-test-run.pl
Please report any problems with the /usr/local/mysql//scripts/mysqlbug script!
# /usr/local/mysql/bin/mysqld_safe & 启动(两个SQL节点都要启动)
[1] 20112
100708 22:22:37 mysqld_safe Logging to '/usr/local/mysql/data/localhost.err'.
100708 22:22:37 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
##########8.再去管理节点观察##############
# /bin/ndb_mgm
ndb_mgm> show
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=2 @192.168.0.63 (mysql-5.1.44 ndb-7.1.4, Nodegroup: 0, Master)
id=3 @192.168.0.64 (mysql-5.1.44 ndb-7.1.4, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @192.168.0.13 (mysql-5.1.44 ndb-7.1.4)
[mysqld(API)] 2 node(s)
id=4 @192.168.0.61 (mysql-5.1.44 ndb-7.1.4)
id=5 @192.168.0.62 (mysql-5.1.44 ndb-7.1.4)
显示全部连接成功,此时可以说配置完毕!