mirror of
https://github.com/actiontech/dble.git
synced 2026-05-05 05:50:32 -05:00
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:
@@ -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/*
|
||||
|
||||
@@ -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
|
||||
@@ -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'"
|
||||
|
||||
Executable
+31
@@ -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
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user