我正在尝试在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上
他们可以在私人网络上互相联系。
6条答案
按热度按时间zfycwa2u1#
自MariaDB 10.1.8以来,systemd 是新的init,它影响了加莱拉在RPM和基于Debian的Linux发行版(在我的情况下是Ubuntu 16.04)上的引导方式。在以前的版本中,你会使用像
service mysql start --wsrep-new-cluster
或service mysqld bootstrap
这样的东西,但这不再起作用,因为它会失败:要解决此问题,请运行:
请注意,您只需要在“第一个”服务器上运行此脚本。
要测试它是否正在运行,请输入mysql和
mysql -u [your mysql user] -p
,然后运行您应该看到类似以下内容:
如果对任何人都有用,这是我的my.conf(MariaDB 10.1.16)
更多详情:
MariaDB systemd和加莱拉_new_cluster
Galera Cluster System Variables
kdfy810k2#
我找到了解决方案和确切的问题。
启动群集节点时出现问题。需要通过MariaDB
galera_new_cluster
安装中包含的脚本启动新集群,之后一切正常。希望这将有助于其他人通过配置下debian。
yrwegjxp3#
我有这个错误,但在我的情况下
galera_new_cluster
不工作。通过编辑
/var/lib/mysql/grastate.dat
文件并将safe_to_bootstrap
更改为1解决了问题。完成后,
galera_new_cluster
工作。tf7tbtn24#
在我的情况下,一切都配置正确,这个错误是由防火墙造成的,它阻止了MariaDB端口。我通过在所有服务器上允许它们来修复它:
2q5ifsrm5#
我知道这个主题已经很老了。我试图安装一个kubernetes mariadb集群,遇到了这个问题。我不得不将
grastate.dat
中的信息从一个节点复制到下一个节点。我必须用cat grastate.dat显示一个表单node 1,并将所有内容复制到下一个节点,而不使用uuid。完成后,该文件看起来如下所示:然后保存并删除容器。一旦它重新启动,它将使用该文件中的详细信息,并将正确启动。
kgqe7b3p6#
加莱拉已经改变:现在,将线safe_to_bootstrap = 1变为1是不够的。
为了启动集群或者甚至重新启动集群,第一节点必须用命令加莱拉_new_cluster启动mariadb。然后你可以启动另一个节点,当所有节点都启动时,在正常模式下重新启动第一个节点。