percona xtradb cluster 和 galera cluster 原理什么区别

Percona XtraDB Cluster 构建
#Percona XtraDB Cluster 构建>Percona XtraDB Cluster是MySQL高可用性和可扩展性的解决方案.底层使用Galera插件提供多主支持。应对常见的多写可以是用haproxy直接做代理,减小单节点写压力;多读节点可以使用常见的数据库中间件做读写分离。##简介Percona XtraDB Cluster提供的特性有:- 同步复制,事务要么在所有节点提交或不提交。由wsrep API调用galera 库进行集群内广播实现- 多主复制,可以在任意节点进行写操作- 在从服务器上并行应用事件,真正意义上的并行复制- 节点自动配置,使用SST、IST同步实现缺点:- 由于DDL需全局验证通过,则集群性能由集群中最差性能节点决定。- 为保证一致性,galera总是优先保证数据一致性,在多点并发写时,**锁冲突问题严重**- 新节点加入或延后较大的节点重新加入需全量拷贝数据(sst),作为donor的节点在同步过程中无法提供读写- 数据冗余度为节点数##安装**系统为centos6系**,其他安装方式可以参考[官方文档](/software/mysql-database/percona-xtradb-cluster)。 rpm -ivh /downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm yum install Percona-XtraDB-Cluster-56可能会报socat、libev 搜索安装即可
yum install epel-release yum install socat libev 或 rpm -ivh ftp://rpmfind.net/linux/atrpms/el6-x86_64/atrpms/stable/libev-4.04-2.el6.x86_64.rpm安装后注意防火墙的配置,需要开启, 4567 ,4568,同时SELinux当前也是不支持的,所以需要关闭,避免节点通信失败。yum安装后的数据文件在/var/lib/mysql 配置文件为/fPercona XtraDB Cluster原生支持mysql的配置,你可以复制当前mysql的配置到Percona XtraDB Cluster配置中,然后添加相应的集群配置文件即可。 # percona-xtraDb-cluster setting wsrep_provider=/usr/lib64/galera3/libgalera_smm.so wsrep_cluster_address=gcomm://192.168.11.146,192.168.11.194,192.168.11.130,192.168.11.145 wsrep_node_address=192.168.11.145 wsrep_slave_threads=8 wsrep_sst_method=xtrabackup-v2 # Cluster name wsrep_cluster_name=percona-db binlog_format=ROW default_storage_engine=InnoDB innodb_autoinc_lock_mode=2
# Authentication for SST method wsrep_sst_auth="sstuser:7c5d69d8"对应参数的含义: 写集复制提供库:/usr/lib64/galera3/libgalera_smm.so 写集复制集群地址 当前节点地址(需要配置为当前节点的ip地址) 写集复制slave线程数 写集复制的方法 集群名 二进制日志的格式 默认存储引擎 innodb自动提交的锁模式 写集复制认证的user:password在所有的集群节点上执行上面的安装步骤,并配置好配置文件。##启动第一个节点启动集群之前你需要确定以哪一个节点的数据为基准数据,其他节点将均复制该节点的数据。这个集群崩溃恢复的方式相同,第一次启动一个数据副本数据节点。这里有个参数`wsrep_cluster_address`需要注意,如果在第一启动之前已经设置好,就不要再次编辑`wsrep_cluster_address`. # 集群的第一个节点(拥有数据的父本) [root@percona1 ~]# /etc/init.d/mysql bootstrap-pxc如果出错可以查看mysql的启动日志,按照日志来排查,启动完成后可登陆mysql console查看`wsrep_cluster_status`是否为Primary,`wsrep_connected, wsrep_ready`是否为ON mysql> show status like "wsrep_cluster_status"; +----------------------+---------+ | Variable_name | Value | +----------------------+---------+ | wsrep_cluster_status | Primary | +----------------------+---------+ 1 row in set (0.00 sec) mysql> show status like "wsrep_connected";
+-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | wsrep_connected | ON| +-----------------+-------+ 1 row in set (0.00 sec)
mysql> show status like "wsrep_ready"; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | wsrep_ready | ON| +---------------+-------+ 1 row in set (0.00 sec)第一个节点启动后需要配置sst同步的用户名密码: mysql> CREATE USER 'sstuser'@'localhost' IDENTIFIED BY 's3cret'; mysql> GRANT RELOAD,LOCK TABLES, REPLICATION CLIENT ON *.* TO 'sstuser'@'localhost'; mysql> FLUSH PRIVILEGES; ## 启动其他节点**启动其他节点时,切记在同一时间只启动其中一个节点。在其他需要重启数据库的情况下也必须遵循**如果使用第一个节点的配置文件,只需要修改`wsrep_node_address`即可。 # 启动其他节点 [root@percona2 ~]# /etc/init.d/mysql start # 检查状态
mysql> show status like 'wsrep%'; +----------------------------+--------------------------------------+ | Variable_name | Value | +----------------------------+--------------------------------------+ | wsrep_local_state_uuid | cd-11e2-c68e41ec | ... | wsrep_local_state | 4 | | wsrep_local_state_comment | Synced | ... | wsrep_cluster_size | 3 | | wsrep_cluster_status | Primary | | wsrep_connected | ON | ... | wsrep_ready | ON | +----------------------------+--------------------------------------+ 40 rows in set (0.01 sec) 其他节点启动同第二个节点启动一样。percona-xtraDb-cluster官方推荐的最小集群节点为3个,当然2个也是可以跑的,只不过在故障恢复时2个节点的集群如果使用了sst算法会导致在同步数据时集群不可用。##新加节点这里单独提下新加节点的情况。集群配置好后,`wsrep_cluster_address`在配置文件中便设置确定了,如果新加节点可能会有疑惑,是否需要在集群的每个节点的配置文件中加上新的节点ip,然后restart每个节点。关于这个疑问[官方文档](/doc/percona-xtradb-cluster/5.6/manual/bootstrap.html)有明确的说明。摘自官方文档:
虽然设置中没有定义所有的集群成员,但是在新加入集群节点的配置中通过wsrep_cluster_name配置适合的集群名. 因此wsrep_cluster_address变量不需要在所有的节点完全一致,设置wsrep_cluster_name为所有集群节点是最佳实践,因为在重启节点时将尝试wsrep_cluster_name中节点的运行状态。##测试测试主要在多点写入的测试,可以在各个节点中做写入测试,然后每个节点查询,并且观察`wsrep_cluster_status,wsrep_connected,wsrep_ready`
最新教程周点击榜
微信扫一扫如何搭建Percona XtraDB Cluster集群_百度知道
如何搭建Percona XtraDB Cluster集群
提问者采纳
192.168.244.244.so# Cluster connection URL contains the IPs of node#1;192.168.168;&#47.147;my.148# In order for Galera to work correctly binlog format should be ROWbinlog_format=ROW# MyISAM storage engine has only experimental supportdefault_storage_engine=InnoDB# This changes how InnoDB autoincrement locks are managed and is a requirement for Galerainnodb_autoinc_lock_mode=2# Node #1 addresswsrep_node_address=192,192;usr/etc&#47, node#2 and node#3wsrep_cluster_address=lib&#47.146;var&#47:&#47.f[mysqld]datadir=/libgalera_mysqluser=mysql# Path to Galera librarywsrep_provider=/galera3/lib64&#47、配置节点
配置节点一
修改node1的&#47.244
其他类似问题
为您推荐:
cluster的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁yujianglei 的BLOG
用户名:yujianglei
文章数:131
访问量:12265
注册日期:
阅读量:5863
阅读量:12276
阅读量:315564
阅读量:1028898
51CTO推荐博文
主机规划:192.168.0.221&&&&&os6―221
192.168.0.222&&&&&os6―222
192.168.0.223&&&&&os6―223
192.168.0.224&&&&&os6―224&&haproxy
192.168.0.225&&&&&os6―225&&haproxy&安装脚本:#!/bin/bash
sed&&-i&"s/SELINUX=enforcing/SELINUX=disabled/g"&&&/etc/selinux/config
setenforce&0
service&iptables&&start
iptables&&-F
iptables&&-A&&INPUT&-p&&tcp&-i&eth0&&--dport&3306&-m&state&--state&NEW,ESTABLISHED&-j&&&ACCEPT
iptables&&-A&&INPUT&-p&&tcp&-i&eth0&&--dport&4444&-m&state&--state&NEW,ESTABLISHED&-j&&&ACCEPT
iptables&&-A&&INPUT&-p&&tcp&-i&eth0&&--dport&4567&-m&state&--state&NEW,ESTABLISHED&-j&&&ACCEPT
iptables&&-A&&INPUT&-p&&tcp&-i&eth0&&--dport&4568&-m&state&--state&NEW,ESTABLISHED&-j&&&ACCEPT
yum&&install&&ntp&&-y
ntpdate&cn.pool.ntp.org
echo&"*/1&*&*&*&*&root&&ntpdate&cn.pool.ntp.org"&&&&&&/etc/crontab安装percona之前,必须删除mysql-libs,这个包和percona冲突.yum&remove&&&mysql-libs&&-yrpm&&-ivh&&http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum&&install&socat&&-yyum&install&/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch&&-y
yum&install&Percona-XtraDB-Cluster-56&&-y配置文件:/f引导服务器配置,即os6---221[mysqld]
wsrep_provider=/usr/lib64/libgalera_smm.so
wsrep_cluster_address=gcomm://os6---221,os6-222,os6---223
binlog_format=ROW
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
wsrep_node_address=os6---221
wsrep_sst_method=xtrabackup-v2
wsrep_cluster_name=singulax
wsrep_sst_auth=“wsrep:wsrep”启动os6―221数据库/etc/init.d/myslq&&bootstrap-pxc创建replication用户(此步骤只需要在init服务器上执行,启动其他服务器时会自动复制.请参考PXC复制原理)GRANT&RELOAD,&LOCK&TABLES,&REPLICATION&CLIENT&ON&*.*&TO&&wsrep@'localhost'&&IDENTIFIED&BY&‘wsrep';
FLUSH&PRIVILEGES;os6---221服务器[mysqld]
wsrep_provider=/usr/lib64/libgalera_smm.so
wsrep_cluster_address=gcomm://os6---221,os6-222,os6---223
binlog_format=ROW
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
wsrep_node_address=os6---222
wsrep_sst_method=xtrabackup-v2
wsrep_cluster_name=singulax
wsrep_sst_auth=“wsrep:wsrep”启动os6―222数据库/etc/init.d/mysql&&start&&||&&&service&&mysql&startos6---223服务器[mysqld]
wsrep_provider=/usr/lib64/libgalera_smm.so
wsrep_cluster_address=gcomm://os6---221,os6-222,os6---223
binlog_format=ROW
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
wsrep_node_address=os6---223
wsrep_sst_method=xtrabackup-v2
wsrep_cluster_name=singulax
wsrep_sst_auth=“wsrep:wsrep”启动os6―223数据库/etc/init.d/mysql&&start&&||&&&service&&mysql&startpxc安装完毕后,会自动clustercheck命令和9200端口检测mysql服务的正常.用法:/usr/bin/clustercheck&&user&&&pass&&&available_when_donor=0|1&&&log_file&&&available_when_readonly=0|1&&&defaults_extra_file&添加检测用户:grant&&process&&on&*.*&&&to&&clustercheckuser@'localhost'&&identified&by&‘clustercheckuser';检测返回结果:200 &或者 &503.例如clustercheck&&&&&clustercheckuser&&&&&&&clustercheckuser
HTTP/1.1&200&OK
Content-Type:&text/plain
Connection:&close
Content-Length:&40
Percona&XtraDB&Cluster&Node&is&synced.9200端口:先安装xinetd,利用xinetd生成9200端口.yum&&install&&xinetd&&&-yxinetd安装完毕后,后生成mysqlchk文件,并配置#&default:&on
#&description:&mysqlchk
service&mysqlchk
#&this&is&a&config&for&xinetd,&place&it&in&/etc/xinetd.d/
&&&&&&&&disable&=&no
&&&&&&&&flags&&&&&&&&&&&=&REUSE
&&&&&&&&socket_type&&&&&=&stream
&&&&&&&&type&&&&&&&&&&&&=&UNLISTED
&&&&&&&&port&&&&&&&&&&&&=&9200
&&&&&&&&wait&&&&&&&&&&&&=&no
&&&&&&&&user&&&&&&&&&&&&=&nobody
&&&&&&&&server&&&&&&&&&&=&/usr/bin/clustercheck
&&&&&&&&log_on_failure&&+=&USERID
&&&&&&&&only_from&&&&&&&=&0.0.0.0/0
&&&&&&&&#&Passing&arguments&to&clustercheck
&&&&&&&&#&&user&&&pass&&&available_when_donor=0|1&&&log_file&&&available_when_readonly=0|1&&&defaults_extra_file&"
&&&&&&&&#&Recommended:&server_args&&&=&user&pass&1&/var/log/log-file&0&/f.local"
&&&&&&&&#&Compatibility:&server_args&=&user&pass&1&/var/log/log-file&1&/f.local"
&&&&&&&&#&55-to-56&upgrade:&server_args&=&user&pass&1&/var/log/log-file&0&/f.extra"
&&&&&&&&server_args&=&clustercheckuser&&clustercheckuser
&&&&&&&&#&recommended&to&put&the&IPs&that&need
&&&&&&&&#&to&connect&exclusively&(security&purposes)
&&&&&&&&per_source&&&&&&=&UNLIMITED
}然后,在/etc/services为9200端口添加新服务mysqlchk&9200/tcp&#&mysqlchk启动xinetdservice&&xinetd&&start
chkconfig&&xinetd&&onHaproxy负载均衡和检测安装haproxyyum&&install&haproxy&&&-y&&&#centos6官方自带安装包,直接yum安装即可配置防火墙iptables&&&-A&INPUT&&-p&&tcp&--dport&8080&-m&&state&&--state&&NEW,ESTABLISHED&&-j&&ACCEPT
iptables&&&-A&INPUT&&-p&&tcp&--dport&3306&-m&&state&&--state&&NEW,ESTABLISHED&&-j&&ACCEPT
iptables&&&-A&INPUT&&-p&&tcp&--dport&3307&-m&&state&&--state&&NEW,ESTABLISHED&&-j&&ACCEPT配置文件:frontend&stats-front
bind&*:8080
default_backend&stats-back
frontend&pxc-front
bind&*:3307
default_backend&pxc-back
frontend&pxc-onenode-front
bind&*:3308
default_backend&pxc-onenode-back
backend&stats-back
balance&roundrobin
stats&uri&/haproxy/stats
stats&auth&haproxy:haproxy
backend&pxc-back
balance&leastconn
option&httpchk
server&c1&192.168.115.221:3306&check&port&9200&inter&12000&rise&3&fall&3
server&c2&192.168.115.222:3306&check&port&9200&inter&12000&rise&3&fall&3
server&c3&192.168.115.223:3306&check&port&9200&inter&12000&rise&3&fall&3
backend&pxc-onenode-back
balance&leastconn
option&httpchk
server&c1&192.168.115.221:3306&check&port&9200&inter&12000&rise&3&fall&3
server&c2&192.168.115.222:3306&check&port&9200&inter&12000&rise&3&fall&3&backup
server&c3&192.168.115.223:3306&check&port&9200&inter&12000&rise&3&fall&3&backup启动service&haproxy&&start
service&haproxy&&stop访问:http://192.168.115.224:8080/haproxy/stats本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)版权所有(C) mcsrainbow,保留所有原创日志的权利。转载请注明出处: 。这篇文章发表于
18:01,属于 ,
分类。 你可以通过
来跟踪这篇文章。
你还可以对它进行 。
标签云(Tags)
WP Cumulus Flash tag cloud by
新浪微博(Sina Weibo)
友情链接(Blogroll)
文章归档(Archives)
功能(Meta)
网站安全监测(Webscan)
美国时间(US Time)
Google +1 (Plusone Button)
广告(Google Adsense)
Fusion theme by
| powered by

我要回帖

更多关于 percona xtradb 安装 的文章

 

随机推荐