免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1158 | 回复: 0
打印 上一主题 下一主题

MySQL cluster 安装测试 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-23 02:32 |只看该作者 |倒序浏览

安装包下载

请从http://dev.mysql.com/downloads/cluster/ 选择GENERIC LINUX

下载mysql-cluster-gpl-7.0.9-linux-i686-glibc23.tar.gz安装包。

 

此安装为一个管理节点,3个数据节点,3SQL节点。一共7个节点。其中3个数据节点实现数据存储的冗余,3SQL节点实现MYSQLD服务的冗余以及负载均衡。

 

节点名称

IP地址

管理节点

192.168.72.141

数据节点1(仅使mysql数据同步作用)

192.168.72.151

数据节点2

192.168.72.152

数据节点3

192.168.72.153

SQL节点1

192.168.72.158

SQL节点2

192.168.72.159

SQL节点3

192.168.72.161

 

安装步骤

1.  mysqld增加一个登录用户和组:--7个节点都要做此步骤

shell> groupadd mysql

shell> useradd -g mysql mysql

 

2.安装管理节点

 

shell> tar zxvf mysql-cluster-gpl-7.0.9-linux-i686-glibc23.tar.gz

shell> mv mysql-cluster-gpl-7.0.9-linux-i686-glibc23  /opt/mysql

 

创建MYSQL-CLUSTER目录,并配置CONFIG.INI文件

shell> mkdir /apps/mysql/mysql-cluster

shell> cd /apps/mysql/mysql-cluster

shell> vi config.ini

config.ini内容为下:

 

[ndbd default]

NoOfReplicas= 3       (数量代表sql节点的副本数量)

DataMemory=500M        

indexMemory=300M      

[tcp default]

SendBufferMemory=2M

ReceiveBufferMemory=2M

 

[ndb_mgmd default]

PortNumber=1186

Datadir=/apps/mysql/mysql-cluster

[ndb_mgmd]

Id=1

HostName=192.168.72.141

[ndbd]

Id=2

HostName= 192.168.72.151

DataDir= /apps/mysql/data

[ndbd]

Id=3

HostName= 192.168.72.152

DataDir= /apps/mysql/data

[ndbd]

Id=4

HostName= 192.168.72.153

DataDir= /apps/mysql/data

[mysqld]

Id=5

Hostname=192.168.72.158

[mysqld]

Id=6

Hostname=192.168.72.159

[mysqld]

Id=7

Hostname=192.168.72.161 

 

 

 

 

 

 

2. 数据节点安装

分别在192.168.72.151, 192.168.72.152, 192.168.72.153上操作:

 

shell> tar zxvf mysql-cluster-gpl-7.0.9-linux-i686-glibc23.tar.gz

shell> mv mysql-cluster-gpl-7.0.9-linux-i686-glibc23  /opt/mysql

编辑/etc/my.cnf

内容如下:

[mysqld]

ndbcluster                          #运行NDB存储引擎

ndb-connectstring=192.168.72.141    #定位管理节点

[mysql_cluster]

ndb-connectstring=192.168.72.141    #定位管理节点


4.SQL节点安装

 

分别在192.168.72.158, 192.168.72.159, 192.168.72.161上操作:

 

shell> tar zxvf mysql-cluster-gpl-7.0.9-linux-i686-glibc23.tar.gz

shell> mv mysql-cluster-gpl-7.0.9-linux-i686-glibc23  /opt/mysql

shell> ./scripts/mysql_install_db --user=mysql

编辑/etc/my.cnf文件,添加内容如下。

[mysqld]

ndbcluster                             #运行NDB存储引擎

ndb-connectstring=192.168.72.141    #定位管理节点

[mysql_cluster]

Ndb-connectstring=192.168.72.141    #定位管理节点

 

5.开始启动CLUSTER

CLUSTER启动的顺序依次为:管理节点数据节点—SQL节点

 

管理节点(192.168.72.141) 启动:

shell> cd /apps/mysql/mysql_cluster

shell> ./bin/ndb_mgmd –f /apps/mysql/mysql-cluster/config.ini --configdir=/apps/mysql/mysql-cluster/ --ndb-nodeid=1

 

数据节点(72.151,72.152,72.153)启动:

shell> cd /apps/mysql/

shell> ./bin/ndbd –-initial –-ndb-connectstring=192.168.72.141:1186

注意:仅限第一次mysql节点启动使用–-initial,后面再启动不需要此参

 

SQL节点(72.158,72.159,72.161)启动:

shell> cd /apps/mysql

shell> ./bin/mysqld_safe –user=mysql &

 

节点全部启动后,用ndb_mgm 工具的show命令查看集群状态。

 

 

登陆管理节点72.141  /apps/mysql/mysql-cluster/bin

下面就说明 mysql cluster的节点全部启动,并且状态正常:

 

 

[root@cmgphf1 bin]# ./ndb_mgm -e show

Connected to Management Server at: localhost:1186

Cluster Configuration

---------------------

[ndbd(NDB)]     3 node(s)

id=2    @192.168.72.151  (mysql-5.1.39 ndb-7.0.9, Nodegroup: 0)

id=3    @192.168.72.152  (mysql-5.1.39 ndb-7.0.9, Nodegroup: 0)

id=4    @192.168.72.153  (mysql-5.1.39 ndb-7.0.9, Nodegroup: 0, Master)

 

[ndb_mgmd(MGM)] 1 node(s)

id=1    @192.168.72.141  (mysql-5.1.39 ndb-7.0.9)

 

[mysqld(API)]   3 node(s)

id=5    @192.168.72.158  (mysql-5.1.39 ndb-7.0.9)

id=6    @192.168.72.159  (mysql-5.1.39 ndb-7.0.9)

id=7    @192.168.72.161  (mysql-5.1.39 ndb-7.0.9)


测试过程 数据同步测试

1.    72.158mysql上建dbtable

[root@72_158 data]# mysql -uroot -p --socket=/tmp/mysql.sock

Enter password:

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 4 to server version: 5.1.39-ndb-7.0.9-cluster-gpl

 

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

 

mysql> create database ctest;

Query OK, 1 row affected (0.26 sec)

 

mysql> use ctest;

Database changed

mysql> create table t1(id int not null primary key) engine=ndb;

Query OK, 0 rows affected (0.63 sec)

 

mysql> insert into t1 values(1);

Query OK, 1 row affected (0.07 sec)

 

mysql> insert into t1 values(2);

Query OK, 1 row affected (0.01 sec)

 

mysql> flush tables;

Query OK, 0 rows affected (0.01 sec)

 

 

2.    登陆其他sql节点,进行检查表数据是否同步

 

[root@72_159 ~]# mysql -uroot -p --socket=/tmp/mysql.sock

Enter password:

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 3 to server version: 5.1.39-ndb-7.0.9-cluster-gpl

 

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

 

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| ctest              |

| mysql              |

| test               |           |

+--------------------+

6 rows in set (0.00 sec)

 

mysql> use ctest;

Database changed

mysql> select * from t1; 

+----+

| id |

+----+

|  1 |

|  2 |

+----+

2 rows in set (0.01 sec)


节点重启测试

 

1.    检查各节点的状态,对红色部分进行主机重启

 

[root@cmgphf1 bin]# ./ndb_mgm -e show

Connected to Management Server at: localhost:1186

Cluster Configuration

---------------------

[ndbd(NDB)]     3 node(s)

id=2    @192.168.72.151  (mysql-5.1.39 ndb-7.0.9, Nodegroup: 0)

id=3    @192.168.72.152  (mysql-5.1.39 ndb-7.0.9, Nodegroup: 0)

id=4    @192.168.72.153  (mysql-5.1.39 ndb-7.0.9, Nodegroup: 0, Master)

 

[ndb_mgmd(MGM)] 1 node(s)

id=1    @192.168.72.141  (mysql-5.1.39 ndb-7.0.9)

 

[mysqld(API)]   3 node(s)

id=5    @192.168.72.158  (mysql-5.1.39 ndb-7.0.9)

id=6    @192.168.72.159  (mysql-5.1.39 ndb-7.0.9)

id=7    @192.168.72.161  (mysql-5.1.39 ndb-7.0.9)

 

2.     72.152,72.153,72.158,72.159 节点重启动,只保留一个NDBSQL节点,来测试数据库能否正常使用:

 

[root@cmgphf1 bin]# ./ndb_mgm -e show

Connected to Management Server at: localhost:1186

Cluster Configuration

---------------------

[ndbd(NDB)]     3 node(s)

id=2    @192.168.72.151  (mysql-5.1.39 ndb-7.0.9, Nodegroup: 0, Master已经漂移

id=3 (not connected, accepting connect from 192.168.72.152)

id=4 (not connected, accepting connect from 192.168.72.153)

 

[ndb_mgmd(MGM)] 1 node(s)

id=1    @192.168.72.141  (mysql-5.1.39 ndb-7.0.9)

 

[mysqld(API)]   3 node(s)

id=5 (not connected, accepting connect from 192.168.72.158)

id=6 (not connected, accepting connect from 192.168.72.159)

id=7    @192.168.72.161  (mysql-5.1.39 ndb-7.0.9)

 

 

3.     登陆72.161,进行数据正常查询,说明已经具备了单点故障:

 

[root@72_161 mysql]# mysql -uroot -p --socket=/tmp/mysql.sock

Enter password:

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 8 to server version: 5.1.39-ndb-7.0.9-cluster-gpl

 

mysql> use ctest;

Database changed

 

mysql> show tables;

+-----------------+

| Tables_in_ctest |

+-----------------+

| t1              |

+-----------------+

1 row in set (0.00 sec)

 

mysql> select * from t1;

+----+

| id |

+----+

|  2 |

|  1 |

+----+

2 rows in set (0.00 sec)

 

 

4.     72.161 sql节点上删除表里一条记录

mysql> delete from t1 limit 1;

Query OK, 1 row affected (0.02 sec)

 

mysql> select * from t1;

+----+

| id |

+----+

|  1 |

+----+

1 row in set (0.01 sec)

 

5.     对停掉的节点进行启动,并且检查其它sql节点的t1表数据是否同步

a.     检查mysql cluster状态:

[root@72_141 bin]# ./ndb_mgm -e show

Connected to Management Server at: localhost:1186

Cluster Configuration

---------------------

[ndbd(NDB)]     3 node(s)

id=2    @192.168.72.151  (mysql-5.1.39 ndb-7.0.9, Nodegroup: 0, Master)

id=3    @192.168.72.152  (mysql-5.1.39 ndb-7.0.9, Nodegroup: 0)

id=4    @192.168.72.153  (mysql-5.1.39 ndb-7.0.9, Nodegroup: 0)

 

[ndb_mgmd(MGM)] 1 node(s)

id=1    @192.168.72.141  (mysql-5.1.39 ndb-7.0.9)

 

[mysqld(API)]   3 node(s)

id=5    @192.168.72.158  (mysql-5.1.39 ndb-7.0.9)

id=6    @192.168.72.159  (mysql-5.1.39 ndb-7.0.9)

id=7    @192.168.72.161  (mysql-5.1.39 ndb-7.0.9)

 

 

b.     检查sql节点上的t1表数据

 

[root@72_158 mysql]# mysql -uroot -p --socket=/tmp/mysql.sock

Enter password:

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 3 to server version: 5.1.39-ndb-7.0.9-cluster-gpl

 

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

 

mysql> use ctest;

Database changed

mysql> select * from t1;

+----+

| id |

+----+

|  1 |

+----+

1 row in set (0.00 sec)

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP