mariadb 10.1.13 galera 集群:错误

Posted

技术标签:

【中文标题】mariadb 10.1.13 galera 集群:错误【英文标题】:mariadb 10.1.13 galera cluster : error 【发布时间】:2016-07-22 23:42:27 【问题描述】:

mariadb 10.1.x galera 集群设置。

第一个节点 192.168.159.132

/etc/mysql/my.cnf

[galera]
# Mandatory settings
wsrep_on=ON
wsrep_provider=/usr/lib/galera/libgalera_smm.so
wsrep_cluster_address=gcomm://192.168.159.132,192.168.159.135,192.168.159.136
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2

第一个节点 192.168.159.132

$ sudo 服务 mysql 引导

* Bootstrapping the cluster mysqld
Starting mysql (via systemctl): mysql.service
Job for mariadb.service failed because the control process exited with error code. See "systemctl status mariadb.service" and "journalctl -xe" for details.

$ systemctl status mariadb.service

[ERROR] WSREP: gcs/src/gcs_core.cpp:gcs_core_open():208: Failed to open backend connection: -110 (Connection timed out)
[ERROR] WSREP: gcs/src/gcs.cpp:gcs_open():1379: Failed to open channel 'my_wsrep_cluster' at 'gcomm://192.168.32.251,192.168.32.252,192.168.32...ection timed out)
[ERROR] WSREP: gcs connect failed: Connection timed out
[ERROR] WSREP: wsrep::connect(gcomm://192.168.32.251,192.168.32.252,192.168.32.253) failed: 7
[ERROR] Aborting
systemd[1]: mariadb.service: Main process exited, code=exited, status=1/FAILURE
systemd[1]: Failed to start MariaDB database server.
systemd[1]: mariadb.service: Unit entered failed state.
systemd[1]: mariadb.service: Failed with result 'exit-code'.

为什么“Galera Cluster”没有启动?

如何查看“连接超时”?

【问题讨论】:

【参考方案1】:

您的配置中有错误。在 gcom 之后你只使用一个 : like:

wsrep_cluster_address=gcomm://192.168.159.132,192.168.159.135,192.168.159.136

【讨论】:

见上文:错误“连接超时”【参考方案2】:

您收到“连接超时”,因为该节点正在尝试连接到 wsrep_cluster_address 中列出的其他节点,这些节点不在线,因为这是集群中的第一个节点。因此,在引导期间,您应该使用空的 wsrep_cluster_address 启动第一个节点:.wsrep_cluster_address='gcomm://'

【讨论】:

【参考方案3】:

他们是一个错误:

使用如下格式:

wsrep_cluster_address="gcomm://first_ip,second_ip,third_ip"

【讨论】:

【参考方案4】:

galera 配置看起来不错。但是你必须在引导第一个节点时提供一个额外的参数。试试这个:

mysqld --wsrep-new-cluster

对于第一个节点wsrep_cluster_address 可以为空。对于下一个节点,您必须提供至少一个已经是集群一部分的 IP 地址。但最好提供您将要使用的所有节点的列表。提及集群地址中尚未出现在集群中的节点时,它不会给您任何错误。所以你可以为每个节点使用wsrep_cluster_address=gcomm://192.168.159.132,192.168.159.135,192.168.159.136

【讨论】:

以上是关于mariadb 10.1.13 galera 集群:错误的主要内容,如果未能解决你的问题,请参考以下文章

Mariadb配置Galera集群

MariaDB Galera集群部署--技术流ken

MariaDB GALERA 集群双节点部署

galera mariadb集群恢复策略

Mariadb-Galera集群杂记

Mariadb Galera Cluster 部署