I’m trying to bootstrap a XtraDB 8.0 cluster using the available Docker images but I don’t succeed.
I get the following on Node 2
2021-06-16T10:12:17.647932Z 0 [ERROR] [MY-000000] [Galera] gcs/src/gcs.cpp:gcs_open():1758: Failed to open channel 'pxc-01' at 'gcomm://xtradb-02-pxc-01.pxc-net': -131 (State not recoverable)
2021-06-16T10:12:17.648042Z 0 [ERROR] [MY-000000] [Galera] gcs connect failed: State not recoverable
2021-06-16T10:12:17.648134Z 0 [ERROR] [MY-000000] [WSREP] Provider/Node (gcomm://xtradb-02-pxc-01.pxc-net) failed to establish connection with cluster (reason: 7)
2021-06-16T10:12:17.648192Z 0 [ERROR] [MY-010119] [Server] Aborting
The strange thing to me is that on Node 1 the gcomm:// is empty and normally you set all your nodes there, but this is impossible with the image.
How to resolve this issue ?
1 Like
https://hub.docker.com/r/percona/percona-xtradb-cluster/
If you want to start without the discovery service, use the CLUSTER_JOIN
variable. Empty variables will start a new cluster, To join an existing cluster, set CLUSTER_JOIN
to the list of IP addresses running cluster nodes.
So your first node needs and empty CLUSTER_JOIN, and all other nodes need the domain/ip of each other node.
1 Like
OK, thanks a lot, but a list like ? Comma separated, space, name it ? The docs can be updates a little bit, also up with 8.0 being available.
1 Like
#!/bin/bash
set -e
# if command starts with an option, prepend mysqld
if [ "${1:0:1}" = '-' ]; then
CMDARG="$@"
fi
if [ -z "$CLUSTER_NAME" ]; then
echo >&2 'Error: You need to specify CLUSTER_NAME'
exit 1
fi
# Get config
DATADIR="$("mysqld" --verbose --wsrep_provider= --help 2>/dev/null | awk '$1 == "datadir" { print $2; exit }')"
# if we have CLUSTER_JOIN - then we do not need to perform datadir initialize
# the data will be copied from another node
if [ -z "$CLUSTER_JOIN" ]; then
This file has been truncated. show original
Make it look like a regular gcomm:// entry. Just the hosts and ports.
1 Like