MySQL-Cluster数据库集群测验

云:白驹苍狗,聚散离合,变化万千。

这是我没接触云计算之前,大自然的云在我心中的形象,倏忽缥缈,形态万千。在接触云计算这个词之后,更是觉得有太多相似之处,聚散离合之间有无尽可能创造出新的形态。我对于服务集群的概念,就像是缩小版的云计算服务,不过是对企业内部的服务而已。

对于任何一个互联网相关的公司,数据往往是核心,数据服务的稳定也是重中之重。随着现在公司业务上升,数据库服务压力也是急剧增加,频繁出现数据库宕机的情况。所以想要采用数据集群的方式去分摊数据库压力,解决这个技术瓶颈。(当然,数据库服务压力过大,跟缓存层设计,以及代码查询实现方式都有解不开的关系,这一部分也是解决问题的关键点)以下测验在本地docker环境下实现,并未上线,还请各位知悉。

结构图示:

mysql-cluster常用结构图

1.数据节点管理器(不影响其他服务);
2.数据库服务进程(可扩展);
3.数据节点(可扩展)。
注:2/3 部分都是可以动态扩展,1 的运行状态不影响2/3提供服务;

服务启动顺序

ndb_mgmd  >>>  数据节点ndbd   >>>  mysql服务

实现细节:

系统环境:Ubuntu14.04
MySQL Cluster 7.5(mysql5.7.19)
Docker version 1.12.4
docker-compose version 1.14.0

1.mysql-cluster镜像加载

docker pull mysql/mysql-cluster

2.创建专用虚拟网络cluster

docker network create cluster --subnet=192.168.0.0/16

3.启动数据管理节点ndb_mgmd

docker run -d --net=cluster --name=management1 --ip=192.168.0.2 mysql/mysql-cluster ndb_mgmd

4.启动数据节点ndbd

docker run -d --net=cluster --name=ndb1 --ip=192.168.0.3 mysql/mysql-cluster ndbd
docker run -d --net=cluster --name=ndb2 --ip=192.168.0.4 mysql/mysql-cluster ndbd

5.启动mysql服务节点

docker run -d --net=cluster --name=mysql1 --ip=192.168.0.10 -e MYSQL_RANDOM_ROOT_PASSWORD=true mysql/mysql-cluster mysqld

6.检查所有服务运行状态

docker ps -a

7.检查数据节点连接状态

docker run -it --net=cluster mysql/mysql-cluster ndb_mgm
Starting ndb_mgm
-- NDB Cluster -- Management Client --
ndb_mgm> show
Connected to Management
Server at: 192.168.0.2:1186
Cluster Configuration
---------------------
[ndbd(NDB)]    2 node(s)
id=2    @192.168.0.3  (mysql-5.7.18 ndb-7.6.2, Nodegroup: 0, *)
id=3    @192.168.0.4  (mysql-5.7.18 ndb-7.6.2, Nodegroup: 0)
[ndb_mgmd(MGM)]    1 node(s)
id=1    @192.168.0.2  (mysql-5.7.18 ndb-7.6.2)
[mysqld(API)]    1 node(s)
id=4    @192.168.0.10  (mysql-5.7.18 ndb-7.6.2)

到这里服务已经启动,但是想要本地访问还需要设置mysqld 服务允许远程登录。
连接mysql

###查看随机登录密码
docker logs mysql1 2>&1 | grep PASSWORD
###连接mysql服务-mysql1
docker exec -it mysql1 mysql -uroot -p
###修改登录密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
###设置远程登录访问
GRANT select on *.* to 'root'@'%' identified by "defaultpass";
FLUSH privileges;

动态扩展

第一步:确保数据节点和mysql节点运行正常,在管理节点服务器上杀掉管理节点的进程(此时只杀掉管理节点进程,不会对NDB节点和mysql节点产生影响,数据库功能一样可以进行运行)。

第二步:如果只是调整当前数据库的配置参数,可以直接修改/etc/my.cnf,修改完成之后保存,然后执行管理节点启动命令ndb_mgmd -f /etc/mysql-cluster.cnf启动管理节点即可,已经修改的内容即可生效。

如果是需要添加数据节点或者mysql节点的话。同样需要先停掉管理节点的管理进程,原有的数据节点和mysql节无需进行任何操作。直接在管理服务器上修改/etc/mysql-cluster.cnf文件。
比如需要新增两台服务器192.168.0.5、192.168.0.6来做数据节点,192.168.0.6来做mysql服务节点,修改管理节点上的/etc/mysql-cluster.cnf文件如下:

docker run -d --net=cluster --name=mysql2 --ip=192.168.0.20 -e MYSQL_RANDOM_ROOT_PASSWORD=true mysql/mysql-cluster mysqld

注意事项:只需要设置数据节点的配置文件与mysql1的相同即可,配置文件如下
/etc/mysql-cluster.cnf
++++++++++ADD MYSQLD++++++++++
[ndbd]
NodeId=3
hostname=192.168.0.4
datadir=/var/lib/mysql

[ndbd]
NodeId=4
hostname=192.168.0.5
datadir=/var/lib/mysql

++++++++++++++END++++++++++++
++++++++++ADD MYSQLD++++++++++

[mysqld]
NodeId=7
hostname=192.168.0.20

++++++++++++++END++++++++++++

附:使用dokcer-compose管理服务

效果实例:

关闭管理进程management1
节点管理进程关闭情况下mysql服务状态:自动同步,正常服务
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容