MariaDB Galera Cluster Startup
时间:2016-02-27 17:06 来源:linux.it.net.cn 作者:IT
1.环境
系统信息 CentOS-6.5-x86_64
服务器节点IP:192.168.1.200 , 192.168.1.201 , 192.168.1.202
2.关闭SELinux
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
重启机器(可以通过/usr/sbin/sestatus -v 查看状态)
3.安装基础软件支撑
1
2
3
yum -y install tcp_wrappers
wget http://pkgs.repoforge.org/socat/socat
-1.7
.
2.4
-1
.el
6
.rf.x
86
_
64
.rpm
rpm -iv socat
-1.7
.
2.4
-1
.el
6
.rf.x
86
_
64
.rpm
4.安装Mariadb Galera Cluster
创建 /etc/yum.repos.d/MariaDB.repo,内容如下
1
2
3
4
5
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/
10.0
/centos
6
-amd
64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=
1
运行
1
yum install -y MariaDB-Galera-server MariaDB-client galera
安装结束后启动MySQL服务,service mysql start
执行 mysql_secure_installation 进行数据库环境初始化
设置数据库编码为UTF-8,refer to https://gitsea.com/2014/08/05/centos-web-server-init/
5.防火墙设置
在/etc/sysconfig/iptables 增加如下两条
1
2
-A INPUT -m state --state NEW -m tcp -p tcp --dport
3306
-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport
4567
-j ACCEPT
重启防火墙 service iptables restart
6.配置集群
1
编辑
192.168
.
1.200
的服务器下 /etc/my.cnf.d/server.conf
在 [mariadb-10.0]下面增加如下内容
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
binlog_format=ROW
default-storage-engine=innodb
innodb_autoinc_lock_mode=
2
innodb_locks_unsafe_for_binlog=
1
query_cache_size=
0
query_cache_type=
0
bind-address=
0.0
.
0.0
datadir=/var/lib/mysql
innodb_log_file_size=
100
M
innodb_file_per_table
innodb_flush_log_at_trx_commit=
2
wsrep_provider=/usr/lib
64
/galera/libgalera_smm.so
wsrep_cluster_address=
"gcomm://192.168.1.200,192.168.1.201,192.168.1.202"
wsrep_cluster_name=
'galera_cluster'
wsrep_node_address=
'192.168.1.200'
wsrep_node_name=
'db1'
wsrep_sst_method=rsync
wsrep_sst_auth=root:
123456
201 服务器需要修改地方如下
1
2
wsrep_node_address=
'192.168.1.201'
wsrep_node_name=
'db2'
202 服务器需要修改地方如下
1
2
wsrep_node_address=
'192.168.1.202'
wsrep_node_name=
'db3'
启动192.168.1.200服务器
1
/etc/init.d/mysql start --wsrep-new-cluster
随后启动其他两个mysql服务 service mysql start
登录任意一台服务器节点通过 show status like ‘wsrep%’ 命令可以查看集群状态
现在可以在任意一个节点进行数据操作,其他节点会自动进行同步
关于动态增加节点,只需要在/etc/my.cnf.d/server.conf 修改 wsrep_cluster_address=”gcomm://192.168.1.200″ 地址为cluster其中一个节点即可,
然后通过service mysql start 启动服务,会自动增加到集群节点中
注意点:集群是乐观的并发控制,如果有两个事务同时向集群中不同的节点同一行写入并提交,失败的节点将中止,会造成死锁问题
通过设置单点写入多点读取的方式可以解决此问题。下面链接是其中一种解决方案
http://www.severalnines.com/blog/avoiding-deadlocks-galera-set-haproxy-single-node-writes-and-multi-node-reads
目前存在的一些问题可以参考 https://mariadb.com/kb/en/mariadb/documentation/replication-cluster-multi-master/galera/mariadb-galera-cluster-known-limitations/
参考链接:https://mariadb.com/kb/en/mariadb/documentation/replication-cluster-multi-master/galera/getting-started-with-mariadb-galera-cluster/
(责任编辑:IT)
1.环境 系统信息 CentOS-6.5-x86_64 服务器节点IP:192.168.1.200 , 192.168.1.201 , 192.168.1.202 2.关闭SELinux 修改/etc/selinux/config 文件 将SELINUX=enforcing改为SELINUX=disabled 重启机器(可以通过/usr/sbin/sestatus -v 查看状态) 3.安装基础软件支撑
4.安装Mariadb Galera Cluster
运行
安装结束后启动MySQL服务,service mysql start 执行 mysql_secure_installation 进行数据库环境初始化 设置数据库编码为UTF-8,refer to https://gitsea.com/2014/08/05/centos-web-server-init/ 5.防火墙设置 在/etc/sysconfig/iptables 增加如下两条
重启防火墙 service iptables restart 6.配置集群
在 [mariadb-10.0]下面增加如下内容
201 服务器需要修改地方如下
202 服务器需要修改地方如下
启动192.168.1.200服务器
随后启动其他两个mysql服务 service mysql start 登录任意一台服务器节点通过 show status like ‘wsrep%’ 命令可以查看集群状态
现在可以在任意一个节点进行数据操作,其他节点会自动进行同步 关于动态增加节点,只需要在/etc/my.cnf.d/server.conf 修改 wsrep_cluster_address=”gcomm://192.168.1.200″ 地址为cluster其中一个节点即可, 然后通过service mysql start 启动服务,会自动增加到集群节点中 注意点:集群是乐观的并发控制,如果有两个事务同时向集群中不同的节点同一行写入并提交,失败的节点将中止,会造成死锁问题 通过设置单点写入多点读取的方式可以解决此问题。下面链接是其中一种解决方案 http://www.severalnines.com/blog/avoiding-deadlocks-galera-set-haproxy-single-node-writes-and-multi-node-reads 目前存在的一些问题可以参考 https://mariadb.com/kb/en/mariadb/documentation/replication-cluster-multi-master/galera/mariadb-galera-cluster-known-limitations/ 参考链接:https://mariadb.com/kb/en/mariadb/documentation/replication-cluster-multi-master/galera/getting-started-with-mariadb-galera-cluster/ (责任编辑:IT) |