MySQL Group Replication: Timeout while waiting for the group communication engine to be ready

Question:

I am running into an issue joining the second instance into a MySQL replication group. It appears to be either a communication or timeout error. In short, I’m seeing this error in the log of the second node:

The steps I have taken to set up the group:

1) First I ensured that the proper ports are open between the two servers:

For reference, I’m using these four variables for privacy:

  • AA.AAA.AA.A = My FIRST server’s PUBLIC IP address
  • AA.0.0.000 = My FIRST server’s PRIVATE IP address
  • BBB.BBB.BBB.BBB = My SECOND server’s PUBLIC IP address
  • BBB.0.0.000 = My SECOND server’s PRIVATE IP address

The FIRST server lives on Amazon AWS, and it has a security group which opens itself to BBB.BBB.BBB.BBB on 3306 and 33061.

The SECOND server lives on a private server and it has a firewall which allows traffic from AA.AAA.AA.A on 3306 and 33061.

From the FIRST server, make sure I can access the second server:

From the FIRST server, make sure I can make outgoing connections:

From the SECOND server, make sure I an access the second server:

From the SECOND server, make sure I can make outgoing connections:

This all seems to be in working order!

2) Next I start up MySQL on each server with the following configs:

My FIRST server’s Config file:

This is my SECOND server’s config:

Both servers start up and there are no errors in the error log.

3) Now I attempt to bootstrap the groups:

On the FIRST server:

This looks good and there are no errors in the log file.

On the SECOND server:

In the log file, I can see the group replication starting up successfully, the second server connecting to itself (BBB.0.0.000:33061) and the FIRST server (AA.AAA.AA.A:33061) — “Success connecting using SSL” — but immediately after I get the following two errors: [GCS] Timeout while waiting for the group communication engine to be ready! and [GCS] The group communication engine is not ready for the member to join. Local port: 33061

When I go back to the FIRST server, there is no movement in the logs, they are exactly the same as they were previously.

I can’t find any useful information about these two errors: “Timeout while waiting for the group communication engine to be ready!” and “The group communication engine is not ready for the member to join. Local port: 33061”

Has anyone seen this before and know what it indicates?

Answer:

It turns out that this was a networking issue. Instead of using a mix of internal and public IPs, I needed to use only the public IPs. Additionally, I needed to run an ifconfig command to bind the servers’ public IPs.

On each server, I ran “ifconfig” to identify the name of the network endpoint. Then I ran “ifcongig ntwk 00.00.00.00”:

Second Server:

After binding to the public IP addresses, I updated the config files. The FIRST server config file is:

And the SECOND server config file is:

Finally, on the first server I restarted mysql, logged in, and ran the following commands:

On the second server I restarted mysql, logged in, and ran the following commands:

Now they are communicating and connected!

Leave a Reply