MariaDB gcomm后端连接失败110

时间:2016-05-13 14:05:54

标签: linux mariadb galera

我正在尝试在debian 8 jessie下工作MariaDB Galera 10.1。

我已经安装了所有必要的组件并进行了配置,但我无法正常工作。

节点构建为VPS。

节点1的配置:

[mysqld]

# Cluster node configurations
wsrep_cluster_address="gcomm://172.16.0.102,172.16.0.112"
wsrep_node_address="172.16.0.102"
wsrep_node_name='n1' 
wsrep_cluster_name='cluster'
innodb_buffer_pool_size=400M
# Mandatory settings to enable Galera
wsrep_provider=/usr/lib/galera/libgalera_smm.so
binlog_format=ROW
default-storage-engine=InnoDB
innodb_autoinc_lock_mode=2
innodb_doublewrite=1
query_cache_size=0
bind-address=0.0.0.0
# Galera synchronisation configuration
wsrep_sst_method=rsync

节点2的配置:

[mysqld]

# Cluster node configurations
wsrep_cluster_address="gcomm://172.16.0.102,172.16.0.112"
wsrep_node_address="172.16.0.112"
wsrep_node_name='n2' 
wsrep_cluster_name='cluster'
innodb_buffer_pool_size=400M
# Mandatory settings to enable Galera
wsrep_provider=/usr/lib/galera/libgalera_smm.so
binlog_format=ROW
default-storage-engine=InnoDB
innodb_autoinc_lock_mode=2
innodb_doublewrite=1
query_cache_size=0
bind-address=0.0.0.0
# Galera synchronisation configuration
wsrep_sst_method=rsync

当我尝试在节点1引导程序命令

上运行时
service mysql bootstrap

失败并出现错误

May 13 15:59:28 test mysqld[2397]: 2016-05-13 15:59:28  139843152635840 [ERROR] WSREP: failed to open gcomm backend connection: 110: failed to reach primary view: 110 (Connection timed out)
May 13 15:59:28 test mysqld[2397]: at gcomm/src/pc.cpp:connect():162
May 13 15:59:28 test mysqld[2397]: 2016-05-13 15:59:28 139843152635840 [ERROR] WSREP: gcs/src/gcs_core.cpp:gcs_core_open():208: Failed to open backend connection: -110 (Connection timed out) 
May 13 15:59:28 test mysqld[2397]: 2016-05-13 15:59:28 139843152635840 [ERROR] WSREP: gcs/src/gcs.cpp:gcs_open():1379: Failed to open channel 'cluster' at 'gcomm://172.16.0.102,172.16.0.112': -110 (Connection timed out)
May 13 15:59:28 test mysqld[2397]: 2016-05-13 15:59:28 139843152635840 [ERROR] WSREP: gcs connect failed: Connection timed out
May 13 15:59:28 test mysqld[2397]: 2016-05-13 15:59:28 139843152635840 [ERROR] WSREP: wsrep::connect(gcomm://172.16.0.102,172.16.0.112) failed: 7
May 13 15:59:28 test mysqld[2397]: 2016-05-13 15:59:28 139843152635840 [ERROR] Aborting

我正在使用的网络配置是私有的:

使用ProxmoxVE 4.0安装的2x DEDICATED服务器vRack网络中的服务器在VPS上配置为:

node1:172.16.0.102 //节点1在服务器1上

node2:172.16.0.112 //节点2在服务器2上

他们可以在私人网络上互相ping。

4 个答案:

答案 0 :(得分:16)

由于MariaDB 10.1.8, systemd 是新的init,它影响了Galera在RPM和基于Debian的Linux发行版(在我的案例中为Ubuntu 16.04)上的引导方式。在以前的版本中,您会使用service mysql start --wsrep-new-clusterservice mysqld bootstrap之类的内容,但由于失败而不再有效:

[ERROR] WSREP: gcs/src/gcs_core.cpp:gcs_core_open():208: Failed to open backend connection: -110 (Connection timed out)

要解决此问题,请运行:

galera_new_cluster

请注意您只需要在第一个'上运行此脚本。服务器即可。

要测试它是否正在运行,请输入带有mysql -u [your mysql user] -p的mysql,然后运行

SHOW GLOBAL STATUS LIKE 'wsrep_cluster_size';

您应该看到类似的内容:

+--------------+
| cluster size |
+--------------+
| 1            |
+--------------+

以防它对任何人都有用,这是我的my.conf(MariaDB 10.1.16)

[galera]
# Mandatory settings
wsrep_on=ON
wsrep_provider=/usr/lib/galera/libgalera_smm.so
wsrep_cluster_address="gcomm://[first ip],[second ip]"
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2

此处有更多详情:

MariaDB systemd and galera_new_cluster

Galera Cluster System Variables

答案 1 :(得分:7)

我找到了解决方案和确切问题。

问题在于启动集群节点。需要从与MariaDB galera_new_cluster一起安装的脚本开始,这将引导新的集群,之后一切正常。

希望这会有助于其他人在debian下传递配置。

答案 2 :(得分:1)

我遇到此错误,但在我的情况下,galera_new_cluster不起作用。

解决问题,方法是编辑/var/lib/m.ysql/grastate.dat文件并将safe_to_bootstrap更改为1。

答案 3 :(得分:0)

就我而言,一切都已正确配置,此错误是由阻止 MariaDB 端口的防火墙引起的。我通过在所有服务器上允许它们来修复它:

ufw allow 3306,4567,4568,4444/tcp;
ufw allow 4567/udp;