设为首页 收藏本站
查看: 416|回复: 0

[经验分享] Mysql Cluster7.4.12分布式集群搭建

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-8-25 09:42:36 | 显示全部楼层 |阅读模式
集群规划:

节点IP ADDRESS
Management Server (ndb_mgmd)192.168.6.203
data nodes (ndbd)192.168.6.204
192.168.6.205
SQL node (mysqld)
192.168.6.204
192.168.6.205

Mysql Cluster版本:
MySQL Cluster NDB 7.4.12 (5.6.31-ndb-7.4.12),
下载地址: http://dev.mysql.com/downloads/cluster/

集群部署:
1、环境清理及安装:
如果已经存在mysql相关的安装或者依赖包,则先清理mysql的相关安装和依赖

检查mysql是否存在mysql相关依赖包:
1
rpm -qa | grep mysql*



如存在:mysql-libs-5.1.66-2.el6_3.x86_64
则卸载mysql并删除依赖:
1
2
3
yum -y remove mysql
rpm -e --nodeps mysql-libs-5.1.66-2.el6_3.x86_64
......




2、集群安装:
管理节点:
192.168.6.203
1
rpm -ivh MySQL-Cluster-server-gpl-7.4.12-1.el6.x86_64.rpm



数据节点 和 mysql server:
192.168.6.204
192.168.6.205
1
2
rpm -ivh MySQL-Cluster-server-gpl-7.4.12-1.el6.x86_64.rpm
rpm -ivh MySQL-Cluster-client-gpl-7.4.12-1.el6.x86_64.rpm




配置文件:
管理节点配置文件:
在192.168.6.203上创建  /var/lib/mysql-cluster/config.ini ,内容如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
[NDB_MGMD DEFAULT]  
Portnumber=1186  

[NDB_MGMD]  
NodeId=10  
HostName=192.168.6.203  
DataDir=/var/lib/mysql-cluster/  
Portnumber=1186  

[TCP DEFAULT]  
SendBufferMemory=4M  
ReceiveBufferMemory=4M  

[NDBD DEFAULT]  
NoOfReplicas=2    # Number of replicas
DataMemory=800M    # How much memory to allocate for data storage
IndexMemory=100M   # How much memory to allocate for index storage
                  # For DataMemory and IndexMemory, we have used the
                  # default values. Since the "world" database takes up
                  # only about 500KB, this should be more than enough for
                  # this example Cluster setup.

[NDBD]  
NodeId=20  
HostName=192.168.6.204  
DataDir=/var/lib/mysql/  

[NDBD]
NodeId=21
HostName=192.168.6.205
DataDir=/var/lib/mysql/

[MYSQLD DEFAULT]  
[mysqld]  
hostname=192.168.6.204
[mysqld]  
hostname=192.168.6.205



数据节点和mysqld节点:

在192.168.6.20[4,5]上分别创建/etc/my.cnf
1
2
3
4
5
6
7
8
[mysqld]
# Options for mysqld process:
ndbcluster                      # run NDB storage engine
ndb-connectstring="192.168.6.203:1186"

[mysql_cluster]
# # Options for MySQL Cluster processes:
ndb-connectstring="192.168.6.203:1186"  # location of management server




3、启动集群:
准备工作:集群每台机器 关闭防火墙;设置selinux的SELINUX=disabled;
先启动管理节点:
192.168.6.203上启动管理节点:
1
ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial



再启动数据节点:
192.168.6.20[4,5]上启动数据节点:
1
ndbd



最后192.168.6.20[4,5]启动mysqld服务:
1
mysqld_safe --user=mysql &




通过管理节点,查看节点连接状态:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
shell>  ndb_mgm
-- NDB Cluster -- Management Client --
ndb_mgm> show
Connected to Management Server at: 192.168.6.203:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=20   @192.168.6.204  (mysql-5.6.31 ndb-7.4.12, Nodegroup: 0, *)
id=21   @192.168.6.205  (mysql-5.6.31 ndb-7.4.12, Nodegroup: 0)

[ndb_mgmd(MGM)] 1 node(s)
id=10   @192.168.6.203  (mysql-5.6.31 ndb-7.4.12)

[mysqld(API)]   2 node(s)
id=22   @192.168.6.204  (mysql-5.6.31 ndb-7.4.12)
id=23   @192.168.6.205  (mysql-5.6.31 ndb-7.4.12)

ndb_mgm>



看到上面的状况,则说明集群启动成功。

进入mysqld,查看mysql是否已经支持分布式存储引擎ndbcluster
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
shell> mysql -uroot -p
mysql> set password=password('xxxxxx')  # 第一次登陆需要修改root 用户的登录密码
mysql> show engines\g;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine             | Support | Comment                                                        | Transactions | XA   | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| ndbcluster         | YES     | Clustered, fault-tolerant tables                               | YES          | NO   | NO         |
| MRG_MYISAM         | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
| MyISAM             | YES     | MyISAM storage engine                                          | NO           | NO   | NO         |
| BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
| PERFORMANCE_SCHEMA | YES     | Performance Schema                                             | NO           | NO   | NO         |
| CSV                | YES     | CSV storage engine                                             | NO           | NO   | NO         |
| ARCHIVE            | YES     | Archive storage engine                                         | NO           | NO   | NO         |
| FEDERATED          | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
| InnoDB             | DEFAULT | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
| ndbinfo            | YES     | MySQL Cluster system information storage engine                | NO           | NO   | NO         |
| MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
11 rows in set (0.00 sec)




4、测试数据同步:
在192.168.6.204上创建一张t2表:

1
2
3
4
5
6
7
8
9
10
11
12
mysql> use test;
Database changed
mysql> create table t2(id int, name varchar(20)) engine=ndbcluster;
Query OK, 0 rows affected (0.10 sec)
mysql> desc t2;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | YES  |     | NULL    |       |
| name  | varchar(20) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)



在192.168.6.205上向表t2插入一条数据:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
mysql> desc t2;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | YES  |     | NULL    |       |
| name  | varchar(20) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
mysql> insert into t2 values(1,'lisan');
Query OK, 1 row affected (0.00 sec)

mysql> select * from t2;
+------+-------+
| id   | name  |
+------+-------+
|    1 | lisan |
+------+-------+
1 row in set (0.00 sec)



在204上查看t2表:
1
2
3
4
5
6
7
mysql> select * from t2;
+------+-------+
| id   | name  |
+------+-------+
|    1 | lisan |
+------+-------+
1 row in set (0.00 sec)



看到上面结果,则说明分布式mysql数据同步成功。

安装过程中遇到的问题:

1、Unable to connect with connect string: nodeid=0,localhost:1186  Retrying every 5 seconds. Attempts left: 2 1, failed.

可能原因:软件包安装错误(多装或者是少装都会出错);config.ini或者my.cnf配置文件有误;

2、Unable to connect with connect string: nodeid=0,192.168.1.102:1186   Retrying every 5 seconds. Attempts left: 12 11 10 9 8 7 6 5 4 3 2 1, failed.

可能原因:防火墙开启,阻止集群数据通信;selinux开启,可以通过setenforce  0 关闭;





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-262709-1-1.html 上篇帖子: linux下mysql的安装以及多实例操作 下篇帖子: mysql 常用操作 (包括mysqldump,pt-table)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表