我想创建一个2节点群集,但似乎没有相互连接。我该如何工作,这是我的代码。
Node1:docker-compose.yml
services:
percona-xtradb-cluster:
container_name: node1
image: 'percona/percona-xtradb-cluster:5.7'
environment:
- MYSQL_ROOT_PASSWORD=root
- CLUSTER_NAME=pxc-cluster
ports:
- 3306:3306
- 4567:4567
- 4568:4568
volumes:
- /home/vagrant/my.cnf:/etc/my.cnf
Node2:docker-compose.yml
services:
percona-xtradb-cluster:
container_name: node1
image: 'percona/percona-xtradb-cluster:5.7'
environment:
- MYSQL_ROOT_PASSWORD=root
- CLUSTER_NAME=pxc-cluster
- CLUSTER_JOIN=192.168.90.20
ports:
- 3306:3306
- 4567:4567
- 4568:4568
volumes:
- /home/vagrant/my.cnf:/etc/my.cnf
节点1:my.cnf
wsrep_provider=/usr/lib64/galera3/libgalera_smm.so
wsrep_cluster_address=gcomm://192.168.56.20,192.168.56.25
binlog_format=ROW
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
wsrep_node_address=192.168.56.20
wsrep_cluster_name=pxc-cluster
wsrep_node_name=node1
pxc_strict_mode=ENFORCING
wsrep_sst_method=xtrabackup-v2
wsrep_sst_auth="sstuser:1q2w3e4r"
!include /etc/mysql/node.cnf
!includedir /etc/my.cnf.d/
!includedir /etc/percona-xtradb-cluster.conf.d/
Node2:my.cnf
wsrep_provider=/usr/lib64/galera3/libgalera_smm.so
wsrep_cluster_address=gcomm://192.168.56.20,192.168.56.25
binlog_format=ROW
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
wsrep_node_address=192.168.56.25
wsrep_cluster_name=pxc-cluster
wsrep_node_name=node2
pxc_strict_mode=ENFORCING
wsrep_sst_method=xtrabackup-v2
wsrep_sst_auth="sstuser:1q2w3e4r"
!include /etc/mysql/node.cnf
!includedir /etc/my.cnf.d/
!includedir /etc/percona-xtradb-cluster.conf.d/
答案 0 :(得分:0)
不建议运行2节点群集,并且基本上没有1节点有用。如果其中一个节点死亡,则另一个节点也将停止接受写入,因为您无法拥有只有2个节点的仲裁。 galera集群至少需要3个节点。 您还需要引导第一个节点以初始化集群。