如何重启 MariaDB Galera 集群?
在所有节点都崩溃后,我尝试恢复集群但没有成功。我只有2个节点。
正如文档所说,我在其中一个节点上设置了一个参数:
set global wsrep_provider_options="pc.bootstrap=true";
Run Code Online (Sandbox Code Playgroud)
然后尝试启动第一个节点:
systemctl start mariadb
Run Code Online (Sandbox Code Playgroud)
之后我收到一个错误:
Oct 11 16:11:12 proxy1 sh[2367]: 2016-10-11 16:11:12 140291677038720 [Note] /usr/sbin/mysqld (mysqld 10.1.18-MariaDB) starting as process 2402 ...
Oct 11 16:11:15 proxy1 sh[2367]: WSREP: Recovered position b6c1dc93-8fa7-11e6-933e-e64cd44e3be0:141
Oct 11 16:11:15 proxy1 mysqld[2434]: 2016-10-11 16:11:15 140047023368320 [Note] /usr/sbin/mysqld (mysqld 10.1.18-MariaDB) starting as process 2434 ...
Oct 11 16:11:15 proxy1 mysqld[2434]: 2016-10-11 16:11:15 140047023368320 [Note] WSREP: Read nil XID from storage engines, skipping position init
Oct 11 16:11:15 proxy1 …
Run Code Online (Sandbox Code Playgroud) 我崩溃了我所有的 3 个节点。启动所有节点后,我注意到 mariadb 已死。我无法再次运行它。
我在所有服务器上使用 CentOS 7
我尝试启动第一个节点,然后再启动其他节点,但没有成功。
首先,我试图按照文档中的说明找到最新的 seqno。因此,我查看了所有 3 个节点上的此文件:/var/lib/mysql/grastate.dat
并注意到所有 3 个节点上的内容都相同(uuid 相同且 seqno 相同)!这是这个文件:
# GALERA saved state
version: 2.1
uuid: ec3e180d-bbff-11e6-b989-3273ac13ba57
seqno: -1
cert_index:
Run Code Online (Sandbox Code Playgroud)
好的。由于所有节点都是相同的,我可以将任何节点作为新节点运行并向其添加另一个节点。我使用了下一个命令:
galera_new_cluster
Run Code Online (Sandbox Code Playgroud)
它没有用。节点未启动。
这是我得到的:
-- Unit mariadb.service has begun starting up.
Dec 07 18:20:55 GlusterDC1_1 sh[4298]: 2016-12-07 18:20:55 139806456780992 [Note] /usr/sbin/mysqld (mysqld 10.1.19-MariaDB) starting as process 4332 ...
Dec 07 18:20:58 GlusterDC1_1 sh[4298]: WSREP: Recovered position ec3e180d-bbff-11e6-b989-3273ac13ba57:83
Dec 07 18:20:58 GlusterDC1_1 mysqld[4364]: 2016-12-07 18:20:58 139830894778560 [Note] /usr/sbin/mysqld (mysqld 10.1.19-MariaDB) …
Run Code Online (Sandbox Code Playgroud)