欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > 数据库 >内容正文

数据库

mysql cluster 安装NDB二进制版本

发布时间:2025/4/5 数据库 43 豆豆
生活随笔 收集整理的这篇文章主要介绍了 mysql cluster 安装NDB二进制版本 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

2019独角兽企业重金招聘Python工程师标准>>>

mysql cluster 基于NDB CLUSTER存储引擎的完整的分布式数据库系统。MYSQL CLUSTER是一个share nothing架构,各个mysql server之间并不共享任何数据。mysql cluster实际上是在无共享存储设备上实现的一种完全分布式数据库系统。现在版本的MYSQL CLUSTER可以做到将所有搜索引擎装载在内存中,实际的数据可以不用全部装载到内存中。

mysql cluster有3部分组成:

1.sql node:负责数据库存储层之上的所有事情,比如链接管理,quere优化和相应,cache管理。需要在配置文件(my.cnf)添加ndbcluster参数。

2.data node:实现底层的数据存储功能,保存cluster的数据,每个data节点保存完整数据的一个fragment.一般来说ndb节点被组织成一个一个的ndb group,一个ndb group实际上就是一组存有完全相同的物理数据的NDB节点群。数据节点的配置参数在管理节点的config.ini中配置。NoOfreplicas参数指定每一份数据被冗余存储在不同节点上面的分数,一般至少设置成2.

3.managerment node:负责管理整个集群中的各个节点的管理工作,包括集群的配置,启动关闭节点,对各个节点进行常规维护,以及实施数据的备份等。

mysql cluter 启动顺序:

managerment node --->data node --->sql node

######################################################3

mysql cluster network:

managerment node:10.10.54.86

data node:10.10.54.85/87

sql node:10.10.54.85/87

备份以前数据:

[root@nan86 ~]# mv /usr/local/mysql/ /usr/local/mysql_bak

[root@nan85 ~]# mv /usr/local/mysql/ /usr/local/mysql_bak

[root@nan87 ~]# mv /usr/local/mysql/ /usr/local/mysql_bak

配置步骤:

1.解压文件: 三个主机85,86,87都做如下操作: #tar xvf mysql-cluster-gpl-7.2.15-linux2.6-x86_64.tar.gz #mv mysql-cluster-gpl-7.2.15-linux2.6-x86_64 /usr/local/mysql #chown mysql.mysql -R /usr/local/mysql2.配置管理节点 在主机10.10.54.86上:[root@nan86 bin]# cp /usr/local/mysql/bin/ndb_mgm* /usr/local/bin/ [root@nan86 etc]# pwd /etc [root@nan86 etc]# mkdir ndb [root@nan86 ndb]# vim /etc/ndb/config.ini  [NDBD DEFAULT] NoOfReplicas=2 DataMemory=512M IndexMemory=256M//可以不加 [TCP DEFAULT] portnumber=2202[NDB_MGMD] nodeid=1 hostname=10.10.54.86 datadir=/data/ndb[NDBD] nodeid=2 hostname=10.10.54.85 datadir=/data/ndb BackupDataDir=/data/backup[NDBD] nodeid=3 hostname=10.10.54.87 datadir=/data/ndb BackupDataDir=/data/backup[MYSQLD] nodeid=10 hostname=10.10.54.85[MYSQLD] nodeid=11 hostname=10.10.54.873.SQL节点配置 在主机10.10.54.85和10.10.54.87上做如下操作:#/etc/init.d/mysqld stop # vim /etc/my.cnf //添加如下: [mysql_cluster] ndb-connectstring=10.10.54.86 [mysqld] datadir=/data/ndb ndbcluster ndb-connectstring=10.10.54.86# vim /etc/init.d/mysqld  #修改下面的数据 datadir=/data/ndb初始化数据: #/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql4.启动管理节点 在主机10.10.54.86上[root@nan86 ~]# ndb_mgmd -f /etc/ndb/config.ini --initial MySQL Cluster Management Server mysql-5.5.35 ndb-7.2.15[root@nan86 ~]# ndb_mgm -- NDB Cluster -- Management Client -- ndb_mgm> show5.启动data节点 在10.10.54.85和10.10.54.87 # ndbd --initial --ndb-connectstring=10.10.54.86 2014-02-26 08:21:38 [ndbd] INFO     -- Angel connected to '10.10.54.86:1186' 2014-02-26 08:21:38 [ndbd] INFO     -- Angel allocated nodeid: 26.启动SQL节点 在10.10.54.85和10.10.54.87 #/etc/init.d/mysqld start7.查看SQL节点和data节点是否成功 在管理节点上,看到如下是成功的。 [root@nan86 ndb]# 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 @10.10.54.85  (mysql-5.5.35 ndb-7.2.15, Nodegroup: 0, *) id=3 @10.10.54.87  (mysql-5.5.35 ndb-7.2.15, Nodegroup: 0)[ndb_mgmd(MGM)] 1 node(s) id=1 @10.10.54.86  (mysql-5.5.35 ndb-7.2.15)[mysqld(API)] 2 node(s) id=4 @10.10.54.85  (mysql-5.5.35 ndb-7.2.15) id=5 @10.10.54.87  (mysql-5.5.35 ndb-7.2.15)@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 如果看到如下: ndb_mgm> show Connected to Management Server at: localhost:1186 Cluster Configuration --------------------- [ndbd(NDB)] 2 node(s) id=2 (not connected, accepting connect from 10.10.54.85) id=3 (not connected, accepting connect from 10.10.54.87)[ndb_mgmd(MGM)] 1 node(s) id=1 @10.10.54.86  (mysql-5.5.35 ndb-7.2.15)[mysqld(API)] 2 node(s) id=4 (not connected, accepting connect from 10.10.54.85) id=5 (not connected, accepting connect from 10.10.54.87)解决方法: (1)查看SQL节点和data节点是否启动。 (2)查看/data/ndb下所有文件所有者否是mysql.mysql/usr/local/mysql下所有文件所有者否是mysql.mysql (3)查看iptables (4)查看网络 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@7.验证NDB集群 在10.10.54.85上 mysql> create table sn(age int)-> engine=ndb; mysql> show tables; +----------------+ | Tables_in_test | +----------------+ | sn             | +----------------+ mysql> insert into sn values(12); ... 在10.10.54.87上 mysql> select * from sn; +------+ | age  | +------+ |   12 | |   12 | |   12 | |   12 | |   12 | +------+ 经测试,插入更新同样能同步。



转载于:https://my.oschina.net/u/1454868/blog/203568

总结

以上是生活随笔为你收集整理的mysql cluster 安装NDB二进制版本的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。