linux MariaDB gcomm后端连接失败110

yr9zkbsy  于 2023-05-28  发布在  Linux
关注(0)|答案(6)|浏览(243)

我正在尝试在Debian 8杰西下使用MariaDB加莱拉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上运行bootstrap命令时

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

我使用的网络配置是私有的:
2x专用服务器安装ProxmoxVE 4.0,服务器在vRack网络中,在VPS上配置为:
node 1:172.16.0.102节点1位于服务器1上
node 2:172.16.0.112节点2位于服务器2上
他们可以在私人网络上互相联系。

zfycwa2u

zfycwa2u1#

自MariaDB 10.1.8以来,systemd 是新的init,它影响了加莱拉在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和mysql -u [your mysql user] -p,然后运行

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和加莱拉_new_cluster
Galera Cluster System Variables

kdfy810k

kdfy810k2#

我找到了解决方案和确切的问题。
启动群集节点时出现问题。需要通过MariaDB galera_new_cluster安装中包含的脚本启动新集群,之后一切正常。
希望这将有助于其他人通过配置下debian。

yrwegjxp

yrwegjxp3#

我有这个错误,但在我的情况下galera_new_cluster不工作。
通过编辑/var/lib/mysql/grastate.dat文件并将safe_to_bootstrap更改为1解决了问题。
完成后,galera_new_cluster工作。

tf7tbtn2

tf7tbtn24#

在我的情况下,一切都配置正确,这个错误是由防火墙造成的,它阻止了MariaDB端口。我通过在所有服务器上允许它们来修复它:

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

2q5ifsrm5#

我知道这个主题已经很老了。我试图安装一个kubernetes mariadb集群,遇到了这个问题。我不得不将grastate.dat中的信息从一个节点复制到下一个节点。我必须用cat grastate.dat显示一个表单node 1,并将所有内容复制到下一个节点,而不使用uuid。完成后,该文件看起来如下所示:

# GALERA saved state
version: 2.1
uuid:    
seqno:   -1
safe_to_bootstrap: 1

然后保存并删除容器。一旦它重新启动,它将使用该文件中的详细信息,并将正确启动。

kgqe7b3p

kgqe7b3p6#

加莱拉已经改变:现在,将线safe_to_bootstrap = 1变为1是不够的。
为了启动集群或者甚至重新启动集群,第一节点必须用命令加莱拉_new_cluster启动mariadb。然后你可以启动另一个节点,当所有节点都启动时,在正常模式下重新启动第一个节点。

相关问题