Mysql Cluster概述与部署(二)

2014-11-24 12:01:54 · 作者: · 浏览: 1
ame=10.1.6.203 32 33 #设置SQL节点2 34 [mysqld] 35 NodeId=5 36 hostname=10.1.6.205 37 [mysqld] #运行任意ip连接 38 [mysqld] 4.启动mysql cluster 1)先启动管理节点服务器.2)启动NDB存储节点服务器.3)启动SQL节点服务器. 1)执行启动MGM节点进程 1 root@10.1.6.205:/usr/local/mysql/bin# /usr/local/mysql/bin/ndb_mgmd -f /opt/cluster/config.ini 2 MySQL Cluster Management Server mysql-5.5.22 ndb-7.2.6 必须用参数-f或--config-file告诉ndb_mgm配置文件config.ini文件所在的位置. 2)在2台存储节点服务器上,如果是第一次启动NDB进程的话,必须先执行以下命令: 1 root@10.1.6.205:/usr/local/mysql/bin# /usr/local/mysql/bin/ndbd --initial 2 2013-08-28 23:40:36 [ndbd] INFO -- Angel connected to '10.1.6.205:1186' 3 2013-08-28 23:40:36 [ndbd] INFO -- Angel allocated nodeid: 2

注意:仅在首次启动NDB时,或者在备份/恢复或配置文件发生变化且重启NDB时才使用-initial参数.因为该参数会使节点删除由早期NDB实例创建的,用于恢复的任何文件,包括用于恢复的日志文件.
如果不是第一次启动,用以下命令
1
root@10.1.6.205:/usr/local/mysql/bin# /usr/local/mysql/bin/ndbd
3)启动SQL节点服务器
1
root@10.1.6.203:/usr/local/mysql/bin# /usr/local/mysql/bin/mysqld_safe /etc/my.cnf &
5.查看各个节点情况

01
root@10.1.6.205:/usr/local/mysql# /usr/local/mysql/bin/ndb_mgm
02
-- NDB Cluster -- Management Client --
03
ndb_mgm> show
04
Cluster Configuration
05
---------------------
06
[ndbd(NDB)] 2 node(s)
07
id=2    @10.1.6.203  (mysql-5.5.22 ndb-7.2.6, Nodegroup: 0, Master)
08
id=3    @10.1.6.205  (mysql-5.5.22 ndb-7.2.6, Nodegroup: 0)
09

10
[ndb_mgmd(MGM)] 1 node(s)
11
id=1    @10.1.6.205  (mysql-5.5.22 ndb-7.2.6)
12

13
[mysqld(API)]   4 node(s)
14
id=4    @10.1.6.203  (mysql-5.5.22 ndb-7.2.6)
15
id=5    @10.1.6.205  (mysql-5.5.22 ndb-7.2.6)
16
id=6 (not connected, accepting connect from any host)
17
id=7 (not connected, accepting connect from any host)
18

19
ndb_mgm>

6.测试
注意:与没有使用Cluster的Mysql相比,在mysql cluster内操作数据的方式没有太大的区别.操作时注意
1)表必须用engine=NDB或engine=NDBCLUSTER选项创建
2)每个NDB表必须有一个主键.如果在创建表时用户未定义主键,NDB Cluster存储引擎会自动生成隐含的主键.
该隐含键也将占用空间,就像任何其他的表索引一样.由于没有足够的内存来容纳这些自动创建的键,所以很容易出现问题.
在203 sql节点1上创建表
01
root@10.1.6.203:/usr/local/mysql/bin# /usr/local/mysql/bin/mysql -uroot -p
02
mysql> use test;
03
mysql> create table dave (num int(10)) engine=ndb;
04
mysql> show create table dave\G;
05
*************************** 1. row ***************************
06
       Table: dave
07
Create Table: CREATE TABLE `dave` (
08
  `num` int(10) DEFAULT NULL
09
) ENGINE=ndbcluster DEFAULT CHARSET=latin1
10
1 row in set (0.00 sec)
11

12
mysql> insert into dave
13
    -> values
14
    -> (100);
15
Query OK, 1 row affected (0.01 sec)
16
mysql> select * from dave;
17
+------+
18
| num  |
19
+------+
20
|  100 |
21
+------+
然后在205 sql节点2上查看该表
1
root@10.1.6.205:/usr/local/mysql# /usr/local/mysql/bin/mysql -uroot -p
2
mysql> use test
3
mysql> select * from dave;
4
+------+
5
| num  |
6
+------+
7
|  100 |
8
+------+
测试OK

关注一下表

1
mysql> select * from ndbinfo.memoryusage;
2
+---------+--------------+--------+------------+----------+-------------+
3
| node_id | memory_type  | used   | used_pages | total    | total_pages |
4
+---------+--------------+--------+------------+----------+-------------+
5
|       2 | Data memory  | 851968 |         26 | 83886080 |        2560 |
6
|       2 | Index memory |