简体   繁体   中英

Docker Compose : Percona XtraDB Cluster Bootstrapping

I need some help. How can I bootstrap a Percona XtraDB Cluster on a docker-compose as 1st node?

I have this my.cnf file

wsrep_provider=/usr/lib64/galera3/libgalera_smm.so
wsrep_cluster_name=pxc-cluster
wsrep_cluster_address=gcomm://192.168.56.15,192.168.56.20,192.168.56.25
wsrep_node_name=pxc1
wsrep_node_address=192.168.56.15
wsrep_sst_method=xtrabackup-v2
wsrep_sst_auth=xtrabackup:1q2w3e4r
pxc_strict_mode=ENFORCING
!include /etc/mysql/node.cnf

and docker-compose.yml

version: '2'
services:
    percona-xtradb-cluster:
        container_name: pxc_node
        image: 'percona/percona-xtradb-cluster:5.7'
        environment:
            - MYSQL_ROOT_PASSWORD=root
            - CLUSTER_NAME=pxc-cluster
            - XTRABACKUP_PASSWORD=1q2w3e4r
        ports:
            - 3306:3306
            - 4567:4567
            - 4568:4568
            - 4444:4444
        volumes:
            - /etc/percona.d/my.cnf:/etc/my.cnf

run sudo docker-compose up -d

according to manual , it seems you should start 2nd and 3rd servers only after 1st server is started, so, with your docker compose it should be something like this



version: '2'
services:
    percona-xtradb-cluster:
        container_name: pxc_node
        image: 'percona/percona-xtradb-cluster:5.7'
        environment:
            - MYSQL_ROOT_PASSWORD=root
            - CLUSTER_NAME=pxc-cluster
            - XTRABACKUP_PASSWORD=1q2w3e4r
        ports:
            - 3306:3306
            - 4567:4567
            - 4568:4568
            - 4444:4444
        volumes:
            - /etc/percona.d/my.cnf:/etc/my.cnf

    percona-xtradb-server1:
        depends_on: 
          - percona-xtradb-cluster
        container_name: pxc_node1
        image: 'percona/percona-xtradb-cluster:5.7'
        environment:
            - MYSQL_ROOT_PASSWORD=root
            - CLUSTER_NAME=pxc-cluster
            - CLUSTER_JOIN=pxc_node
            - XTRABACKUP_PASSWORD=1q2w3e4r
        volumes:
            - /etc/percona.d/my.cnf:/etc/my.cnf

    percona-xtradb-server2:
        depends_on: 
          - percona-xtradb-cluster
        container_name: pxc_node2
        image: 'percona/percona-xtradb-cluster:5.7'
        environment:
            - MYSQL_ROOT_PASSWORD=root
            - CLUSTER_NAME=pxc-cluster
            - XTRABACKUP_PASSWORD=1q2w3e4r
            - CLUSTER_JOIN=pxc_node
        volumes:
            - /etc/percona.d/my.cnf:/etc/my.cnf


Notice depends fields - they are important - see documentation. And see CLUSTER_JOIN=pxc_node present, they indicate what server to join

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM