Docker Составить: начальная загрузка кластера Percona XtraDB - PullRequest
0 голосов
/ 19 февраля 2020

Мне нужна помощь. Как я могу bootstrap a Percona XtraDB Cluster на docker -создать в качестве 1-го узла?

У меня есть my.cnf файл

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

и 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 -создать -d

1 Ответ

1 голос
/ 19 февраля 2020

в соответствии с руководством , кажется, что 2-й и 3-й серверы следует запускать только после запуска 1-го сервера, поэтому при составлении docker это должно быть что-то вроде



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


Обратите внимание depends поля - они важны - см. Документацию. И посмотрите CLUSTER_JOIN=pxc_node присутствует, они указывают, к какому серверу присоединиться

...