欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

cobar实现mysql分片及分片集之内双节点之间的高可用

程序员文章站 2022-05-29 23:10:17
...

首先看节点规划:IP:192.168.0.99Host:mgs02Role:cobar&..

首先看节点规划:

IP:192.168.0.99 Host:mgs02 Role:cobar

IP:192.168.0.101 Host:mysql01 Role:mysql-master1

IP:192.168.0.102 Host:mysql02 Role:mysql-slave1

IP:192.168.0.103 Host:mysql03 Role:mysql-master2

IP:192.168.0.104 Host:mysql04 Role:mysql-slave2

数据库分片规划:

lens_conf.* 不分片,数据分布在101和102这个单片上

lens_mobapp_trace.test表 分片,101、102为一个片,103、104为一个片

lens_mobapp_data.emp表 分片,101、102为一个片,103、104为一个片

lens_mobapp_data.loc表 分片,101、102为一个片,103、104为一个片


1、cobar不支持HA下的读写分离,如果使用了HA,每个分片内的节点都可能要有数据写入,因此,应该配置双向同步,首先配置mysql-master1和mysql-slave1、mysql-master2和mysql-slave2的双向同步,这里不再详述,与单向同步的区别就是需要开启log_slave_updates参数,然后彼此设置对方为自己的主库。

接着需要在后端的mysql要做分片的表所在库中创建一张心跳表,并插入10条数据(针对多个cobar节点,避免单条数据的锁争用;如果只有一个cobar节点的话可以只插入一条数据,这里插入10条)

## 需要在lens_conf、lens_mobapp_data、lens_mobapp_trace三个schema中执行下面语句,可以只在 ## 每个分片的某一个节点上执行,另一个节点就会同步执行。 create table xdual(id int not null,gmt datetime,primary key (id)); insert into xdual values(1,now()); insert into xdual values(2,now()); insert into xdual values(3,now()); insert into xdual values(4,now()); insert into xdual values(5,now()); insert into xdual values(6,now()); insert into xdual values(7,now()); insert into xdual values(8,now()); insert into xdual values(9,now()); insert into xdual values(10,now());


2、安装cobar

## 解压 [root@mgs02 opt]# tar xf cobar-server-1.2.7.tar.gz -C /opt/ [root@mgs02 opt]# ls cobar-server-1.2.7/ bin conf lib logs

3、配置cobar

首先配置schema.xml

[root@mgs02 opt]# vim cobar-server-1.2.7/conf/schema.xml
ds_master_shared01$0-2ds_slave_shared01$0-2256update xdual set gmt=now() where id=${(1,10)}ds_master_shared02$0-1ds_slave_shared02$0-1256update xdual set gmt=now() where id=${(1,10)}192.168.0.101:3306/lens_conf192.168.0.101:3306/lens_mobapp_data192.168.0.101:3306/lens_mobapp_tracelens123456STRICT_TRANS_TABLES192.168.0.102:3306/lens_conf192.168.0.102:3306/lens_mobapp_data192.168.0.102:3306/lens_mobapp_tracelens123456STRICT_TRANS_TABLES192.168.0.103:3306/lens_mobapp_data192.168.0.103:3306/lens_mobapp_tracelens123456STRICT_TRANS_TABLES192.168.0.104:3306/lens_mobapp_data192.168.0.104:3306/lens_mobapp_tracelens123456STRICT_TRANS_TABLES