无法启动 galera 集群 - -bash: galera_new_cluster: 找不到命令

Cannot get galera cluster to start - -bash: galera_new_cluster: command not found

我按照说明在 Centos 7.6 上安装 MariaDB Galera 集群 但是,我就是无法启动集群。 我可以在两个节点上启动 MariaDB 服务。 这是我的 server.cnf

[galera]
# Mandatory settings
wsrep_cluster_name="galera_cluster"
wsrep_on=ON
wsrep_provider=/usr/lib64/galera/libgalera_smm.so
wsrep_cluster_address=gcomm://172.18.35.XXX,172.18.35.XXX
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2

我很困惑,Maria DB 日志中没有任何内容。我还应该看什么?

没关系,我能够通过那一步,但集群不会启动。 我 运行

时没有收到任何错误
root@db-mmr101:/var/lib/mysql$  /usr/bin/mysqld_safe --wsrep-new-cluster
190709 15:01:24 mysqld_safe Logging to '/var/lib/mysql/db-mmr101.err'.
190709 15:01:25 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql

或者启动MariaDB服务。错误日志中也没有任何内容吗?

90709 15:01:30 mysqld_safe mysqld from pid file /var/lib/mysql/db-mmr101.pid ended
190709 15:01:38 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
190709 15:01:38 [Note] /usr/libexec/mysqld (mysqld 5.5.60-MariaDB) starting as process 19920 ...
190709 15:01:38 InnoDB: The InnoDB memory heap is disabled
190709 15:01:38 InnoDB: Mutexes and rw_locks use GCC atomic builtins
190709 15:01:38 InnoDB: Compressed tables use zlib 1.2.7
190709 15:01:38 InnoDB: Using Linux native AIO
190709 15:01:38 InnoDB: Initializing buffer pool, size = 128.0M
190709 15:01:38 InnoDB: Completed initialization of buffer pool
190709 15:01:38 InnoDB: highest supported file format is Barracuda.
190709 15:01:38  InnoDB: Waiting for the background threads to start
190709 15:01:39 Percona XtraDB (http://www.percona.com) 5.5.59-MariaDB-38.11 started; log sequence number 1597945
190709 15:01:39 [Note] Plugin 'FEEDBACK' is disabled.
190709 15:01:39 [Note] Server socket created on IP: '0.0.0.0'.
190709 15:01:39 [Note] Event Scheduler: Loaded 0 events
190709 15:01:39 [Note] /usr/libexec/mysqld: ready for connections.
Version: '5.5.60-MariaDB'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  MariaDB Server

你必须告诉第一个节点是集群中的第一个参与者,使用 MariaDB 命令是:

galera_new_cluster

https://galeracluster.com/library/training/tutorials/starting-cluster.html

您可能需要使用脚本的完整路径

我意识到 yum install 没有在 Centos7.6 上安装 MariaDB 10+,因为在 repo 中没有为此构建。必须使用 rpm 到 download/build MariaDB 10.4。 yum 将安装 Centos 7.6 附带的默认 MariaDB 5.5。 5.5 是一个非常老的版本,没有 galera_new_cluster 命令。 这是使用 rpm-qa 在 RHEL 7+ 上安装 MariaDB 的一个很好的指南 https://medium.com/@thomashysselinckx/installing-mariadb-with-rpm-on-centos7-bce648cce758 我花了很多时间,试图让它与 yum 一起工作,最终放弃并走上了 rpm 路线。

在使用 SystemD 作为初始系统的较新机器上,可能需要额外的步骤才能再次启动第一个集群节点。

首先确保将成为新主节点的节点被允许 bootstrap 集群(这部分与 SystemD 无关):

# cat /var/lib/mysql/grastate.dat
# GALERA saved state
version: 2.1
uuid:    6a1f102a-13a3-11e7-b710-b2876418a643
seqno:   -1
safe_to_bootstrap: 0

将safe_to_bootstrap的值替换为1:

# sed -i "/safe_to_bootstrap/s/0/1/" /var/lib/mysql/grastate.dat

然后运行命令

# galera_new_cluster