文档章节

mariadb galera集群配置

阿dai
 阿dai
发布于 2017/09/04 21:37
字数 1174
阅读 127
收藏 0

安装mariadb galera

配置本地mariadb galera安装yum源:

源地址:http://yum.mariadb.org/ 

把这个站中的10.0.20/centos6-amd64/目录整个下载下来,放到本地做成本地源来使用,本地源的配置如下:  

[root@test3 my.cnf.d]# tail -15 /etc/yum.repos.d/Centos-Local.repo 
name=CentOS-6 - Local
baseurl=http://192.168.1.160/base/
gpgcheck=0
enabled=1
failovermethod=priority
[c6-epel]
name=CentOS-6 - Local
baseurl=http://192.168.1.160/epel/$basearch/
gpgcheck=0
enabled=1
[mariadb]
name=mariadb_galera
baseurl=http://192.168.1.160/mariadb_galera/centos6X86_64/
gpgcheck=0
enabled=1

其中的192.168.1.160是我的局域网yum源服务器。

好了,配置好yum源后开始安装了,我这里准备了4台服务器,分别是:

192.168.1.161 nd1

192.168.1.162 nd2

192.168.1.163 nd3

192.168.1.164 nd4

分别在四台服务器上面使用命令安装套件:

yum -y install MariaDB-Galera-server MariaDB-client rsync galera

开始配置:

安装好mariadb galera,启动数据库,使用命令service mysql start启动,启动之后需要对数据库进行安全加固,删除一些不需要的账户,这里就不进行赘述了。然后需要添加一个同步数据的用户,在四台服务器上进入数据库中实行下面的命令:

grant all privileges on *.* to 'wsrep_sst-user'@'192.168.1.%' identified by 'password';

flush privileges;

之后退出数据库,创建配置文件:

[root@test2 ~]# cat /etc/my.cnf.d/galera.cnf

[server]

query_cache_size=0

binlog_format=ROW

default_storage_engine=innodb

innodb_autoinc_lock_mode=2

wsrep_provider=/usr/lib64/galera/libgalera_smm.so

#wsrep_cluster_address="gcomm://192.168.1.162,192.168.1.163,192.168.1.164"

wsrep_cluster_address=gcomm://

wsrep_cluster_name='example_cluster'

wsrep_node_address='192.168.1.161'

wsrep_node_name='nd1'

wsrep_sst_method=rsync

#wsrep_sst_method=xtrabackup

wsrep_sst_auth=wsrep_sst-user:password

上面是nd1的配置文件,其中需要注意的地方有wsrep_cluster_address=gcomm://这条命令,gcomm://是一个特殊的参数,在启动第一台数据库时需要使用这个参数来启动,否则会启动失败,后面的节点使用wsrep_cluster_address="gcomm://192.168.1.162,192.168.1.163,192.168.1.164"这个参数来启动数据库。当第一台数据库需要重启时需要切换到wsrep_cluster_address="gcomm://192.168.1.162,192.168.1.163,192.168.1.164"这个参数来启动才能加入到集群中。这样讲有点抽象,换一种方式来讲就是最开始启动集群的第一台服务器时将wsrep_cluster_address="gcomm://192.168.1.162,192.168.1.163,192.168.1.164"这一行注释掉,使用下面那个参数来启动,后面的节点注释掉wsrep_cluster_address=gcomm://这个参数启动数据库,加入到集群中来。当集群全部起来以后万一第一台数据库要重启时将下面那条参数注释掉,开启上面那条参数。这样就能加入集群中来。至于wsrep_sst_auth=wsrep_sst-user:password这个参数就是我们之前设定的用来同步的用户名和密码。

另外,需要注意的是防火墙需要开启TCP的3306端口和TCP4567端口开启,否则集群将不能实现,这里为了方便直接清空了防火墙iptables -F,也可以使用下面的命令来使防火墙开启相应端口:

iptables -A INPUT -i eth0 -p tcp --dport 3306 -j ACCEPT

iptables -A INPUT -i eth0 -p tcp --dport 4567 -j ACCEPT

配置好了参数之后,最先重启nd1节点service mysql restart,接下来重启nd2-4节点,之后就可以进数据库中查询同步状态了,可以使用下面的命令查询数据库同步状态:

MariaDB [(none)]> show global status like  'wsrep%';
+------------------------------+-----------------------------------------------------------------------------+
| Variable_name                | Value                                                                       |
+------------------------------+-----------------------------------------------------------------------------+
| wsrep_local_state_uuid       | 0381ab0f-a3aa-11e4-9737-be607495053f                                        |
| wsrep_protocol_version       | 7                                                                           |
| wsrep_last_committed         | 2                                                                           |
| wsrep_replicated             | 0                                                                           |
| wsrep_replicated_bytes       | 0                                                                           |
| wsrep_repl_keys              | 0                                                                           |
| wsrep_repl_keys_bytes        | 0                                                                           |
| wsrep_repl_data_bytes        | 0                                                                           |
| wsrep_repl_other_bytes       | 0                                                                           |
| wsrep_received               | 4                                                                           |
| wsrep_received_bytes         | 948                                                                         |
| wsrep_local_commits          | 0                                                                           |
| wsrep_local_cert_failures    | 0                                                                           |
| wsrep_local_replays          | 0                                                                           |
| wsrep_local_send_queue       | 0                                                                           |
| wsrep_local_send_queue_max   | 1                                                                           |
| wsrep_local_send_queue_min   | 0                                                                           |
| wsrep_local_send_queue_avg   | 0.000000                                                                    |
| wsrep_local_recv_queue       | 0                                                                           |
| wsrep_local_recv_queue_max   | 1                                                                           |
| wsrep_local_recv_queue_min   | 0                                                                           |
| wsrep_local_recv_queue_avg   | 0.000000                                                                    |
| wsrep_local_cached_downto    | 18446744073709551615                                                        |
| wsrep_flow_control_paused_ns | 0                                                                           |
| wsrep_flow_control_paused    | 0.000000                                                                    |
| wsrep_flow_control_sent      | 0                                                                           |
| wsrep_flow_control_recv      | 0                                                                           |
| wsrep_cert_deps_distance     | 0.000000                                                                    |
| wsrep_apply_oooe             | 0.000000                                                                    |
| wsrep_apply_oool             | 0.000000                                                                    |
| wsrep_apply_window           | 0.000000                                                                    |
| wsrep_commit_oooe            | 0.000000                                                                    |
| wsrep_commit_oool            | 0.000000                                                                    |
| wsrep_commit_window          | 0.000000                                                                    |
| wsrep_local_state            | 4                                                                           |
| wsrep_local_state_comment    | Synced                                                                      |
| wsrep_cert_index_size        | 0                                                                           |
| wsrep_causal_reads           | 0                                                                           |
| wsrep_cert_interval          | 0.000000                                                                    |
| wsrep_incoming_addresses     | 192.168.1.164:3306,192.168.1.162:3306,192.168.1.161:3306,192.168.1.163:3306 |
| wsrep_evs_delayed            |                                                                             |
| wsrep_evs_evict_list         |                                                                             |
| wsrep_evs_repl_latency       | 0/0/0/0/0                                                                   |
| wsrep_evs_state              | OPERATIONAL                                                                 |
| wsrep_gcomm_uuid             | c009d89b-a3b6-11e4-9e41-a2518f032b8a                                        |
| wsrep_cluster_conf_id        | 6                                                                           |
| wsrep_cluster_size           | 4                                                                           |
| wsrep_cluster_state_uuid     | 0381ab0f-a3aa-11e4-9737-be607495053f                                        |
| wsrep_cluster_status         | Primary                                                                     |
| wsrep_connected              | ON                                                                          |
| wsrep_local_bf_aborts        | 0                                                                           |
| wsrep_local_index            | 2                                                                           |
| wsrep_provider_name          | Galera                                                                      |
| wsrep_provider_vendor        | Codership Oy <info@codership.com>                                           |
| wsrep_provider_version       | 25.3.9(r3385)                                                               |
| wsrep_ready                  | ON                                                                          |
| wsrep_thread_count           | 2                                                                           |
+------------------------------+-----------------------------------------------------------------------------+
57 rows in set (0.00 sec)

其中可以看到wsrep_incoming_addresses中已经列出来了所有的四台服务器都同步了,还有wsrep_connected和wsrep_ready都是ON状态。这样就可以确定数据库已经同步了,接下来创建一个数据库测试是否真的能同步数据。

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.01 sec)
MariaDB [(none)]> create database huxianglin;
Query OK, 1 row affected (0.00 sec)

这是在节点1上面进行的操作

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| huxianglin         |
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
5 rows in set (0.00 sec)

这是在节点2上面前后查询结果的对比,从中我们可以看出数据已经同步到节点2了。至此mariadb galera集群实验完成了,至于mariadb galera的仲裁人节点配置可以使用命令来实现

garbd -a gcomm://192.168.1.100:4567 -g my_wsrep_cluster -d

# 注释:参数说明: -d:以daemon模式运行 -a:集群地址 -g: 集群名称

具体使用方法可以自行百度!

本文转载自:http://xianglinhu.blog.51cto.com/5787032/1676039

共有 人打赏支持
阿dai
粉丝 63
博文 217
码字总数 284060
作品 0
昌平
运维
私信 提问
如何安装和配置MariaDB Galera CentOS-7集群

192.168.3.130 clustera galera-db01 192.168.3.131 clusterb galera-db02 192.168.3.129 clusterc galera-db03 以下1-3步三台都需要执行 1:卸载mysql(因为mysql与mariaDB与mysql不兼容) ......

3764208
06/13
0
0
利用MariaDB Galera Cluster实现mariadb的多主复制

利用MariaDB Galera Cluster实现mariadb的多主复制 时间:2014年01月08日 | 分类:MariaDB | 评论:0 条 | 浏览:870 次 一、MariaDB Galera Cluster概要: 1.简述: MariaDB Galera Cluster...

vga
2014/12/13
0
0
Percona 成为 MariaDB 基金会铜牌赞助商

MariaDB 基金会宣布 Percona 成为其铜牌赞助商。 Percona 是一个成立于 2006 年的开源数据库支持和服务公司,其开源了基于 MySQL 和 MariaDB 的一系列软件,包括集群、备份与服务器等内容,也...

h4cd
09/07
0
0
初识MariaDB之10——MariaDB Galera Cluster

一、背景介绍 无论是采用binlog或者GTID的方式,其本质都是通过I/Othread和sqlthread的形式进行的同步,因为无法避免复制延迟而饱受诟病,基于上述MariaDB引入了Galera Cluster来解决此问题。...

qiao645
06/29
0
0
centos6.x系统安装配置mariaDB集群

系统环境: Mariadb01 192.168.137.21 node01.com centos-6.x 2.6.32-573.el6.x8664 selinux=disabled Mariadb02 192.168.137.22 node02.com centos-6.x 2.6.32-573.el6.x8664 selinux=disab......

3764208
06/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

js前端图片处理例子

首先需要了解几个api FileReader FileReader主要用于将文件内容读入内存,通过一系列异步接口,可以在主线程中访问本地文件。 <table> <tr> <th>方法定义</th> <th>描述</th> </tr> <tr> <t......

别人说我名字很长
13分钟前
0
0
前端常用插件、工具类库汇总(下)

前言 对本文感兴趣可以先加个收藏,也可以转发分享给身边的小伙伴,以后遇到类似的场景就来看看具体的插件及其用法。 上一篇《前端常用插件、工具类库汇总(上)》内容摘要: 动画库 滚动库 ...

我的卡
19分钟前
2
0
jq 的 $ 符号冲突解决办法

百度了一下,都是 感觉挺负责的,我只是想当前页面 简单使用jq ,解决冲突即可。 很简单的 将 $ 符号换成 jQuery 即可,就不怕冲突了。 jQuery('#message').val();...

之渊
21分钟前
0
0
如何在Cordova Android 7.0.0 以下版本集成最新插件 极光插件为例

前提 Cordova Android 7.0.0开始改变了项目安卓平台的架构。新建一个空项目分别添加Android 6.4.0 和 Android 7.0.0平台: cordova platform add android@6.4.0cordova platform add androi...

极光推送
29分钟前
0
0
移动端Appium自动化测试框架的优势

众所周知,现在市面上的移动端操作系统已被Android和IOS占领,其中Android的份额更是在80%以上。那么面对市面上林林总总的自动化测试框架和工具,为什么说Appium在自动化测试框架的统治级优势...

程序猿拿Q
43分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部