Not able to run three-node-cluster-on-a-single-box

Hi,
I have same issue. Trying to follow the steps here:
How to set up a three-node cluster on a single box

link: https://docs.percona.com/percona-xtradb-cluster/8.0/howtos/singlebox.html

Downloaded the latest tarball and extracted in /usr/local/Percona-XtraDB-Cluster_8.0.27-18.1.x86_64

Here are the configs of the 3 my.cnf:

cat /etc/my.4000.cnf

[mysqld]
port = 4000
socket=/tmp/mysql.4000.sock
datadir=/app1/bench/d1
basedir=/usr/local/Percona-XtraDB-Cluster_8.0.27-18.1.x86_64
user=mysql
log_error=error.log
binlog_format=ROW
wsrep_cluster_address=‘gcomm://10.87.229.32:5030,10.87.229.32:6030’
wsrep_provider=/usr/local/Percona-XtraDB-Cluster_8.0.27-18.1.x86_64/lib/libgalera_smm.so
wsrep_sst_receive_address=10.87.229.32:4020
wsrep_node_incoming_address=10.87.229.32
wsrep_cluster_name=trimethylxanthine
wsrep_provider_options = “gmcast.listen_addr=tcp://10.87.229.32:4030;”
wsrep_sst_method=xtrabackup-v2
wsrep_node_name=node4000
innodb_autoinc_lock_mode=2

cat /etc/my.5000.cnf

[mysqld]
port = 5000
socket=/tmp/mysql.5000.sock
datadir=/app1/bench/d2
basedir=/usr/local/Percona-XtraDB-Cluster_8.0.27-18.1.x86_64
user=mysql
log_error=error.log
binlog_format=ROW
wsrep_cluster_address=‘gcomm://10.87.229.32:4030,10.87.229.32:6030’
wsrep_provider=/usr/local/Percona-XtraDB-Cluster_8.0.27-18.1.x86_64/lib/libgalera_smm.so
wsrep_sst_receive_address=10.87.229.32:5020
wsrep_node_incoming_address=10.87.229.32

wsrep_cluster_name=trimethylxanthine
wsrep_provider_options = “gmcast.listen_addr=tcp://10.87.229.32:5030;”
wsrep_sst_method=xtrabackup-v2
wsrep_node_name=node5000
innodb_autoinc_lock_mode=2

cat /etc/my.6000.cnf

[mysqld]
port = 6000
socket=/tmp/mysql.6000.sock
datadir=/app1/bench/d3
basedir=/usr/local/Percona-XtraDB-Cluster_8.0.27-18.1.x86_64
user=mysql
log_error=error.log
binlog_format=ROW
wsrep_cluster_address=‘gcomm://10.87.229.32:4030,10.87.229.32:5030’
wsrep_provider=/usr/local/Percona-XtraDB-Cluster_8.0.27-18.1.x86_64/lib/libgalera_smm.so
wsrep_sst_receive_address=10.87.229.32:6020
wsrep_node_incoming_address=10.87.229.32
wsrep_cluster_name=trimethylxanthine
wsrep_provider_options = “gmcast.listen_addr=tcp://10.87.229.32:6030;”
wsrep_sst_method=xtrabackup-v2
wsrep_node_name=node6000
innodb_autoinc_lock_mode=2
type or paste code here

When attempting to start the first node it gave me this error message:

Preformatted text# bin/mysqld_safe --defaults-file=/etc/my.4000.cnf --wsrep-new-cluster
2023-07-01T12:05:14.670117Z mysqld_safe Logging to ‘/app1/bench/d1/error.log’.
2023-07-01T12:05:14.671985Z mysqld_safe Logging to ‘/app1/bench/d1/error.log’.
2023-07-01T12:05:14.692600Z mysqld_safe Starting mysqld daemon with databases from /app1/bench/d1
2023-07-01T12:05:14.696485Z mysqld_safe Skipping wsrep-recover for empty datadir: /app1/bench/d1
2023-07-01T12:05:14.697387Z mysqld_safe Assigning 00000000-0000-0000-0000-000000000000:-1 to wsrep_start_position
2023-07-01T12:05:14.909989Z mysqld_safe mysqld from pid file /app1/bench/d1/rn000112059.pid ended with return value of 1Preformatted text

Also no error logs has been generated so I do not know where to check.

I am using almalinux8 ip 10.87.229.32

Please share some thoughts please.
Thanks

Hey @ir0nwarez
I tried with the 8.0.32 version and everything worked well for me

Did you initialize MySQL before starting your cluster? You have to have at least the system tables in place before you can start.

Hi,

did you follow same steps using that version?

Hi matt,

apologies, but I just did the exact steps on the guide mentioned.

Can you share your steps please?

Thanks

Hi Matt,

I am trying to follow the step by step guide provided via this link: How to set up a three-node cluster on a single box - Percona XtraDB Cluster

When I run this command:
bin/mysqld_safe --defaults-file=/etc/my.4000.cnf --wsrep-new-cluster

It gives me error with these:

bin/mysqld_safe --defaults-file=/etc/my.4000.cnf --wsrep-new-cluster
2023-07-06T08:39:25.013359Z mysqld_safe Logging to ‘/app1/bench/d1/error.log’.
2023-07-06T08:39:25.015602Z mysqld_safe Logging to ‘/app1/bench/d1/error.log’.
2023-07-06T08:39:25.037864Z mysqld_safe Starting mysqld daemon with databases from /app1/bench/d1
2023-07-06T08:39:25.042663Z mysqld_safe Skipping wsrep-recover for empty datadir: /app1/bench/d1
2023-07-06T08:39:25.043760Z mysqld_safe Assigning 00000000-0000-0000-0000-000000000000:-1 to wsrep_start_position
2023-07-06T08:39:25.243543Z mysqld_safe mysqld from pid file /app1/bench/d1/rn000112059.pid ended with return value of 1

No where to go from here.
Please suggest.

Thanks!

Hello @ir0nwarez,
That guide is a tad incomplete. It looks like there is an assumption that you already have a working MySQL datadir. You need to create one. Try adding --initialize to the mysqld command.

Hi Mattheweb,

tried your suggestion still the same error:

bin/mysqld --initialize

root@rn000112059:/usr/local/Percona-XtraDB-Cluster-8.0.x86_64

bin/mysqld_safe --defaults-file=/etc/my.4000.cnf --wsrep-new-cluster

2023-07-06T15:28:07.978902Z mysqld_safe Logging to ‘/app1/bench/d1/error.log’.
2023-07-06T15:28:07.981359Z mysqld_safe Logging to ‘/app1/bench/d1/error.log’.
2023-07-06T15:28:08.005019Z mysqld_safe Starting mysqld daemon with databases from /app1/bench/d1
2023-07-06T15:28:08.009452Z mysqld_safe Skipping wsrep-recover for empty datadir: /app1/bench/d1
2023-07-06T15:28:08.010420Z mysqld_safe Assigning 00000000-0000-0000-0000-000000000000:-1 to wsrep_start_position
2023-07-06T15:28:08.234775Z mysqld_safe mysqld from pid file /app1/bench/d1/rn000112059.pid ended with return value of 1
root@rn000112059:/usr/local/Percona-XtraDB-Cluster-8.0.x86_64

If you can point me to the correct steps that would be great. I just follow the guide and now I am stuck :frowning:

You didn’t provide the other parameters along with --initialize. You still have an empty data dir.

bin/mysqld_safe --initialize --defaults-file=/etc/my.4000.cnf
bin/mysqld_safe --defaults-file=/etc/my.4000.cnf --wsrep-new-cluster

Thanks Matthewb for the help,

But still facing issues:

root@rn000112059:/usr/local/Percona-XtraDB-Cluster-8.0.x86_64

bin/mysqld_safe --initialize --defaults-file=/etc/my.4000.cnf bin/mysqld_safe: line 745: /mnt/jenkins/workspace/pxc80-autobuild-RELEASE/test/Percona-XtraDB-Cluster-8.0.32-24/20230518-183049/usr/local/Percona-XtraDB-Cluster_8.0.32-24.2_Linux.x86_64.glibc2.17/data/mysqld_safe.pid: No such file or directory

2023-07-07T03:01:41.669107Z mysqld_safe Logging to ‘/mnt/jenkins/workspace/pxc80-autobuild-RELEASE/test/Percona-XtraDB-Cluster-8.0.32-24/20230518-183049/usr/local/Percona-XtraDB-Cluster_8.0.32-24.2_Linux.x86_64.glibc2.17/data/rn000112059.err’.
Logging to ‘/mnt/jenkins/workspace/pxc80-autobuild-RELEASE/test/Percona-XtraDB-Cluster-8.0.32-24/20230518-183049/usr/local/Percona-XtraDB-Cluster_8.0.32-24.2_Linux.x86_64.glibc2.17/data/rn000112059.err’.
2023-07-07T03:01:41.688609Z mysqld_safe Starting mysqld daemon with databases from /mnt/jenkins/workspace/pxc80-autobuild-RELEASE/test/Percona-XtraDB-Cluster-8.0.32-24/20230518-183049/usr/local/Percona-XtraDB-Cluster_8.0.32-24.2_Linux.x86_64.glibc2.17/data
2023-07-07T03:01:41.693515Z mysqld_safe Skipping wsrep-recover for empty datadir: /mnt/jenkins/workspace/pxc80-autobuild-RELEASE/test/Percona-XtraDB-Cluster-8.0.32-24/20230518-183049/usr/local/Percona-XtraDB-Cluster_8.0.32-24.2_Linux.x86_64.glibc2.17/data
2023-07-07T03:01:41.694868Z mysqld_safe Assigning 00000000-0000-0000-0000-000000000000:-1 to wsrep_start_position
2023-07-07T03:01:41.710207Z mysqld_safe mysqld from pid file /mnt/jenkins/workspace/pxc80-autobuild-RELEASE/test/Percona-XtraDB-Cluster-8.0.32-24/20230518-183049/usr/local/Percona-XtraDB-Cluster_8.0.32-24.2_Linux.x86_64.glibc2.17/data/rn000112059.pid ended with return value of 1
root@rn000112059:/usr/local/Percona-XtraDB-Cluster-8.0.x86_64

bin/mysqld_safe --defaults-file=/etc/my.4000.cnf --wsrep-new-cluster 2023-07-07T03:02:05.829292Z mysqld_safe Logging to ‘/app1/bench/d1/error.log’.

2023-07-07T03:02:05.831319Z mysqld_safe Logging to ‘/app1/bench/d1/error.log’.
2023-07-07T03:02:05.852925Z mysqld_safe Starting mysqld daemon with databases from /app1/bench/d1
2023-07-07T03:02:05.857341Z mysqld_safe Skipping wsrep-recover for empty datadir: /app1/bench/d1
2023-07-07T03:02:05.858492Z mysqld_safe Assigning 00000000-0000-0000-0000-000000000000:-1 to wsrep_start_position
2023-07-07T03:02:06.072081Z mysqld_safe mysqld from pid file /app1/bench/d1/rn000112059.pid ended with return value of 1

I have no idea where /mnt/jenkins came from.

Please advise.

Thank you

This worked for me:

mkdir /tmp/mysql4000

$ cat my.4000.cnf
[mysqld]
port = 4000
socket=/tmp/mysql.4000.sock
datadir=/tmp/mysql4000
basedir=/home/matthew/dbdeployer/opt/mysql/pxc8.0.27
user=matthew
log_error=error.log
binlog_format=ROW
wsrep_cluster_address="gcomm://10.10.10.203:5030,10.10.10.203:6030"
wsrep_provider=/home/matthew/dbdeployer/opt/mysql/pxc8.0.27/lib/libgalera_smm.so
wsrep_sst_receive_address=10.10.10.203:4020
wsrep_node_incoming_address=10.10.10.203
wsrep_cluster_name=trimethylxanthine
wsrep_provider_options="gmcast.listen_addr=tcp://10.10.10.203:4030"
wsrep_sst_method=xtrabackup-v2
wsrep_node_name=node4000
innodb_autoinc_lock_mode=2

$ bin/mysqld --defaults-file=my.4000.cnf --initialize
$ bin/mysqld --defaults-file=my.4000.cnf --wsrep-new-cluster

2023-07-07T16:24:38.993163Z 2 [Note] [MY-000000] [Galera] Bootstrapping a new cluster, setting initial position to 00000000-0000-0000-0000-000000000000:-1
2023-07-07T16:24:38.997940Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /tmp/mysqlx.sock
2023-07-07T16:24:38.998029Z 0 [System] [MY-010931] [Server] /home/matthew/dbdeployer/opt/mysql/pxc8.0.27/bin/mysqld: ready for connections. Version: '8.0.27-18.1'  socket: '/tmp/mysql.4000.sock'  port: 4000  Percona XtraDB Cluster binary (GPL) 8.0.27, Revision ac35177, WSREP version 26.4.3.

Stop using mysqld_safe, that’s an old outdated script (also the source of the “jenkins” stuff because you have something misconfigured). Just use mysqld like I did.