Realize the quick start of two groups MGR and DBLE (#1874)

* Realize the quick start of two groups MGR and DBLE

* modify dble image name、remove the MGR information in start_mgr.sh
This commit is contained in:
wd2365151147
2020-06-11 10:08:11 +08:00
committed by GitHub
parent ac49f998a3
commit 591c823d01
5 changed files with 251 additions and 37 deletions
+1
View File
@@ -14,6 +14,7 @@ RUN version=$(curl "https://github.com/actiontech/dble/releases/latest"|awk -F "
COPY quick-start/*.xml /opt/dble/conf/
COPY quick-start/*.cnf /opt/dble/conf/
COPY quick-start/docker_init_start.sh /opt/dble/bin/
COPY quick-start/start_mgr.sh /opt/dble/bin/
COPY wait-for-it.sh /opt/dble/bin/
RUN chmod 777 /opt/dble/bin/*
+205 -35
View File
@@ -7,52 +7,222 @@ networks:
- subnet: 172.18.0.0/16
gateway: 172.18.0.253
services:
mysql1:
image: mysql:5.7
container_name: backend-mysql1
hostname: backend-mysql1
privileged: true
stdin_open: true
tty: true
ports:
- "33061:3306"
volumes:
- ./:/etc/mysql/
networks:
net:
mgr-a-1:
image: mysql:5.7
container_name: mgr-a-1
hostname: mgr-a-1
privileged: true
stdin_open: true
tty: true
ports:
- "3307:3306"
networks:
net:
ipv4_address: 172.18.0.2
environment:
MYSQL_ROOT_PASSWORD: 123456
mysql2:
image: mysql:5.7
container_name: backend-mysql2
hostname: backend-mysql2
privileged: true
stdin_open: true
tty: true
ports:
- "33062:3306"
volumes:
- ./:/etc/mysql/
networks:
net:
environment:
MYSQL_ROOT_PASSWORD: 123456
MYSQL_ROOT_HOST: 172.18.0.8
command: ["mysqld",
"--server-id=1",
"--log-bin=mysql-bin-1.log",
"--enforce-gtid-consistency=ON",
"--log-slave-updates=ON",
"--gtid-mode=ON",
"--transaction-write-set-extraction=XXHASH64",
"--binlog-checksum=NONE",
"--master-info-repository=TABLE",
"--relay-log-info-repository=TABLE",
"--plugin-load=group_replication.so",
"--relay-log-recovery=ON",
"--loose-group-replication-start-on-boot=OFF",
"--loose-group-replication-group-name=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
"--loose-group-replication-local-address=mgr-a-1:6606",
"--loose-group-replication-group-seeds=mgr-a-1:6606,mgr-a-2:6606,mgr-a-3:6606",
"--loose-group-replication-single-primary-mode=ON",
"--loose-group-replication-enforce-update-everywhere-checks=OFF"]
mgr-a-2:
image: mysql:5.7
container_name: mgr-a-2
hostname: mgr-a-2
privileged: true
stdin_open: true
tty: true
ports:
- "3308:3306"
networks:
net:
ipv4_address: 172.18.0.3
environment:
MYSQL_ROOT_PASSWORD: 123456
dble-server:
environment:
MYSQL_ROOT_PASSWORD: 123456
MYSQL_ROOT_HOST: 172.18.0.8
command: ["mysqld",
"--server-id=2",
"--log-bin=mysql-bin-1.log",
"--enforce-gtid-consistency=ON",
"--log-slave-updates=ON",
"--gtid-mode=ON",
"--transaction-write-set-extraction=XXHASH64",
"--binlog-checksum=NONE",
"--master-info-repository=TABLE",
"--relay-log-info-repository=TABLE",
"--plugin-load=group_replication.so",
"--relay-log-recovery=ON",
"--loose-group-replication-start-on-boot=OFF",
"--loose-group-replication-group-name=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
"--loose-group-replication-local-address=mgr-a-2:6606",
"--loose-group-replication-group-seeds=mgr-a-1:6606,mgr-a-2:6606,mgr-a-3:6606",
"--loose-group-replication-single-primary-mode=ON",
"--loose-group-replication-enforce-update-everywhere-checks=OFF"]
mgr-a-3:
image: mysql:5.7
container_name: mgr-a-3
hostname: mgr-a-3
privileged: true
stdin_open: true
tty: true
ports:
- "3309:3306"
networks:
net:
ipv4_address: 172.18.0.4
environment:
MYSQL_ROOT_PASSWORD: 123456
MYSQL_ROOT_HOST: 172.18.0.8
command: ["mysqld",
"--server-id=3",
"--log-bin=mysql-bin-1.log",
"--enforce-gtid-consistency=ON",
"--log-slave-updates=ON",
"--gtid-mode=ON",
"--transaction-write-set-extraction=XXHASH64",
"--binlog-checksum=NONE",
"--master-info-repository=TABLE",
"--relay-log-info-repository=TABLE",
"--plugin-load=group_replication.so",
"--relay-log-recovery=ON",
"--loose-group-replication-start-on-boot=OFF",
"--loose-group-replication-group-name=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
"--loose-group-replication-local-address=mgr-a-3:6606",
"--loose-group-replication-group-seeds=mgr-a-1:6606,mgr-a-2:6606,mgr-a-3:6606",
"--loose-group-replication-single-primary-mode=ON",
"--loose-group-replication-enforce-update-everywhere-checks=OFF"]
mgr-b-1:
image: mysql:5.7
container_name: mgr-b-1
hostname: mgr-b-1
privileged: true
stdin_open: true
tty: true
ports:
- "3310:3306"
networks:
net:
ipv4_address: 172.18.0.5
environment:
MYSQL_ROOT_PASSWORD: 123456
MYSQL_ROOT_HOST: 172.18.0.8
command: ["mysqld",
"--server-id=4",
"--log-bin=mysql-bin-1.log",
"--enforce-gtid-consistency=ON",
"--log-slave-updates=ON",
"--gtid-mode=ON",
"--transaction-write-set-extraction=XXHASH64",
"--binlog-checksum=NONE",
"--master-info-repository=TABLE",
"--relay-log-info-repository=TABLE",
"--plugin-load=group_replication.so",
"--relay-log-recovery=ON",
"--loose-group-replication-start-on-boot=OFF",
"--loose-group-replication-group-name=bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb",
"--loose-group-replication-local-address=mgr-b-1:6606",
"--loose-group-replication-group-seeds=mgr-b-1:6606,mgr-b-2:6606,mgr-b-3:6606",
"--loose-group-replication-single-primary-mode=ON",
"--loose-group-replication-enforce-update-everywhere-checks=OFF"]
mgr-b-2:
image: mysql:5.7
container_name: mgr-b-2
hostname: mgr-b-2
privileged: true
stdin_open: true
tty: true
ports:
- "3311:3306"
networks:
net:
ipv4_address: 172.18.0.6
environment:
MYSQL_ROOT_PASSWORD: 123456
MYSQL_ROOT_HOST: 172.18.0.8
command: ["mysqld",
"--server-id=5",
"--log-bin=mysql-bin-1.log",
"--enforce-gtid-consistency=ON",
"--log-slave-updates=ON",
"--gtid-mode=ON",
"--transaction-write-set-extraction=XXHASH64",
"--binlog-checksum=NONE",
"--master-info-repository=TABLE",
"--relay-log-info-repository=TABLE",
"--plugin-load=group_replication.so",
"--relay-log-recovery=ON",
"--loose-group-replication-start-on-boot=OFF",
"--loose-group-replication-group-name=bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb",
"--loose-group-replication-local-address=mgr-b-2:6606",
"--loose-group-replication-group-seeds=mgr-b-1:6606,mgr-b-2:6606,mgr-b-3:6606",
"--loose-group-replication-single-primary-mode=ON",
"--loose-group-replication-enforce-update-everywhere-checks=OFF"]
mgr-b-3:
image: mysql:5.7
container_name: mgr-b-3
hostname: mgr-b-3
privileged: true
stdin_open: true
tty: true
ports:
- "3312:3306"
networks:
net:
ipv4_address: 172.18.0.7
environment:
MYSQL_ROOT_PASSWORD: 123456
MYSQL_ROOT_HOST: 172.18.0.8
command: ["mysqld",
"--server-id=6",
"--log-bin=mysql-bin-1.log",
"--enforce-gtid-consistency=ON",
"--log-slave-updates=ON",
"--gtid-mode=ON",
"--transaction-write-set-extraction=XXHASH64",
"--binlog-checksum=NONE",
"--master-info-repository=TABLE",
"--relay-log-info-repository=TABLE",
"--plugin-load=group_replication.so",
"--relay-log-recovery=ON",
"--loose-group-replication-start-on-boot=OFF",
"--loose-group-replication-group-name=bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb",
"--loose-group-replication-local-address=mgr-b-3:6606",
"--loose-group-replication-group-seeds=mgr-b-1:6606,mgr-b-2:6606,mgr-b-3:6606",
"--loose-group-replication-single-primary-mode=ON",
"--loose-group-replication-enforce-update-everywhere-checks=OFF"]
dble-server:
image: actiontech/dble:latest
container_name: dble-server
hostname: dble-server
privileged: true
stdin_open: true
tty: true
command: ["/opt/dble/bin/wait-for-it.sh", "backend-mysql1:3306","--","/opt/dble/bin/docker_init_start.sh"]
command: ["/opt/dble/bin/wait-for-it.sh", "mgr-a-1:3306","--","/opt/dble/bin/docker_init_start.sh"]
ports:
- "8066:8066"
- "9066:9066"
depends_on:
- "mysql1"
- "mysql2"
- "mgr-a-1"
- "mgr-a-2"
- "mgr-a-3"
- "mgr-b-1"
- "mgr-b-2"
- "mgr-b-3"
networks:
net:
ipv4_address: 172.18.0.5
ipv4_address: 172.18.0.8
+13 -2
View File
@@ -11,13 +11,24 @@
<dbInstance name="instanceM1" url="172.18.0.2:3306" user="root" password="123456" maxCon="300" minCon="10"
primary="true" readWeight="1" id="xx1">
</dbInstance>
<dbInstance name="instanceS1" url="172.18.0.3:3306" user="root" password="123456" maxCon="1000" minCon="10" readWeight="2">
<property name="testOnCreate">false</property>
</dbInstance>
<dbInstance name="instanceS2" url="172.18.0.4:3306" user="root" password="123456" maxCon="1000" minCon="10" readWeight="2">
<property name="testOnCreate">false</property>
</dbInstance>
</dbGroup>
<dbGroup name="dbGroup2" rwSplitMode="0" delayThreshold="100" disableHA="true">
<heartbeat errorRetryCount="1" timeout="10">show slave status</heartbeat>
<dbInstance name="instanceM2" url="172.18.0.3:3306" user="root" password="123456" maxCon="300" minCon="10"
<dbInstance name="instanceM2" url="172.18.0.5:3306" user="root" password="123456" maxCon="300" minCon="10"
primary="true">
</dbInstance>
<dbInstance name="instanceS3" url="172.18.0.6:3306" user="root" password="123456" maxCon="1000" minCon="10" readWeight="2">
<property name="testOnCreate">false</property>
</dbInstance>
<dbInstance name="instanceS4" url="172.18.0.7:3306" user="root" password="123456" maxCon="1000" minCon="10" readWeight="2">
<property name="testOnCreate">false</property>
</dbInstance>
</dbGroup>
</dble:db>
@@ -2,6 +2,7 @@
echo "dble init&start in docker"
sh /opt/dble/bin/start_mgr.sh
sh /opt/dble/bin/dble start
sh /opt/dble/bin/wait-for-it.sh 127.0.0.1:8066
mysql -P9066 -u man1 -h 127.0.0.1 -p654321 -e "create database @@shardingNode ='dn1,dn2,dn3,dn4,dn5,dn6'"
+31
View File
@@ -0,0 +1,31 @@
#!/bin/bash
ip_master_arr=(172.18.0.2 172.18.0.5)
ip_slave_arr=(172.18.0.3 172.18.0.4 172.18.0.6 172.18.0.7)
# master:
for M in ${ip_master_arr[@]}
do
mysql -h$M -p3306 -uroot -p123456 \
-e "SET @@GLOBAL.group_replication_bootstrap_group=1;" \
-e "create user 'repl'@'%';" \
-e "GRANT REPLICATION SLAVE ON *.* TO repl@'%';" \
-e "flush privileges;" \
-e "change master to master_user='root' for channel 'group_replication_recovery';" \
-e "START GROUP_REPLICATION;" \
-e "SET @@GLOBAL.group_replication_bootstrap_group=0;"
done
# slave:
for S in ${ip_slave_arr[@]}
do
mysql -h$S -p3306 -uroot -p123456 \
-e "change master to master_user='repl' for channel 'group_replication_recovery';" \
-e "set global group_replication_allow_local_disjoint_gtids_join=ON;" \
-e "START GROUP_REPLICATION;"
done