设为首页 收藏本站
查看: 935|回复: 0

[经验分享] Mariadb galera 群集

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-1-26 09:27:17 | 显示全部楼层 |阅读模式
                      环境:  CentOS 7 x64  *  3

IP : 192.168.0.100
IP : 192.168.0.101
IP : 192.168.0.102

配置mariadb YUM 源
http://yum.mariadb.org/10.0.15/rhel7-amd64/rpms/

分别下载软件 MariaDB-Galera-10.0.15

wget http://mirrors.neusoft.edu.cn/ma ... lera-10.0.15.tar.gz


vi /etc/yum.repos.d/mariadb.repo
-----------------------------------------------------------------------------
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.0.15/centos7-amd64/
enabled = 1
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
------------------------------------------------------------------------------

yum makecache


yum -y install galera MariaDB-client cmake lsof perl-DBD-MySQL perl-Digest-MD5

rpm -ivh percona-xtrabackup-2.2.8-5059.el7.x86_64.rpm

/usr/sbin/groupadd mysql
/usr/sbin/useradd -g mysql mysql
mkdir -p /opt/local/mysql/data
mkdir -p /opt/local/mysql/binlog
mkdir -p  /opt/local/mysql/logs
mkdir -p /opt/local/mysql/relaylog
mkdir -p /var/lib/mysql
mkdir -p /opt/local/mysql/wsrep

tar zxvf mariadb-galera-10.0.15.tar.gz

cd mariadb-10.0.15

cmake -DCMAKE_INSTALL_PREFIX="/opt/local/mysql" -DDEFAULT_CHARSET=utf8 -DMYSQL_DATADIR="/opt/local/mysql/data/" -DCMAKE_INSTALL_PREFIX="/opt/local/mysql" -DINSTALL_PLUGINDIR=plugin -DWITH_INNOBASE_STORAGE_ENGINE=1 -DDEFAULT_COLLATION=utf8_general_ci -DENABLE_DEBUG_SYNC=0 -DENABLED_LOCAL_INFILE=1 -DENABLED_PROFILING=1 -DWITH_ZLIB=system -DWITH_EXTRA_CHARSETS=none -DMYSQL_MAINTAINER_MODE=OFF -DEXTRA_CHARSETS=all -DWITH_FAST_MUTEXES=ON -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1

make

make install

chmod +w /opt/local/mysql
chown -R mysql:mysql /opt/local/mysql
chmod +w /var/lib/mysql
chown -R mysql:mysql /var/lib/mysql
cp /opt/software/my.cnf /opt/local/mysql/my.cnf
./scripts/mysql_install_db --defaults-file=/opt/local/mysql/my.cnf --basedir=/opt/local/mysql --datadir=/opt/local/mysql/data --user=mysql
cp ./support-files/mysql.server  /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
echo 'basedir=/opt/local/mysql/' >> /etc/init.d/mysqld
echo 'datadir=/opt/local/mysql/data' >>/etc/init.d/mysqld
service mysqld start
ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
/opt/local/mysql/bin/mysqladmin -u root password 'rldb123'
chkconfig mysqld on
/opt/local/mysql/bin/mysql_secure_installation              #mysql 安全加固

# 登陆数据库,授权用于集群同步的用户和密码
/opt/local/mysql/bin/mysql -uroot -p
GRANT ALL PRIVILEGES ON *.* TO 'sst'@'localhost' IDENTIFIED BY 'rldb123';
GRANT ALL PRIVILEGES ON *.* TO 'sst'@'同步ip' IDENTIFIED BY 'rldb123';
FLUSH PRIVILEGES;

# 配置wsrep.cnf文件
cp /opt/local/mysql/support-files/wsrep.cnf /opt/local/mysql/wsrep

vi /opt/local/mysql/wsrep/wsrep.cnf

修改如下

wsrep_provider=/usr/lib64/galera/libgalera_smm.so
wsrep_cluster_address="gcomm://"
wsrep_sst_auth=sst:rldb123
wsrep_sst_method=xtrabackup


# 注意:
#    "gcomm://" 是特殊的地址,仅仅是Galera cluster初始化启动时候使用。
#    如果集群启动以后,我们关闭了第一个节点,那么再次启动的时候必须先修改,"gcomm://"为其他节点的集群地址,
例如 wsrep_cluster_address="gcomm://192.168.0.101:4567"

vi /opt/local/mysql/my.cnf

在[client] 下面 增加
!includedir /opt/local/mysql/wsrep


配置完成以后,重启mysqld

service mysqld restart

netstat -tulpn |grep -e 4567 -e 3306

登录mysql 查看 global 的 status

/opt/local/mysql/bin/mysql -uroot -p

show global status like '%state%';
+-------------------------------------------+--------------------------------------+
| Variable_name                             | Value                                |
+-------------------------------------------+--------------------------------------+
| Performance_schema_statement_classes_lost | 0                                    |
| wsrep_local_state_uuid                    | b74966e2-a20a-11e4-96f1-c6bffca5b0ea |
| wsrep_local_state                         | 4                                    |
| wsrep_local_state_comment                 | Synced                               |
| wsrep_cluster_state_uuid                  | b74966e2-a20a-11e4-96f1-c6bffca5b0ea |
+-------------------------------------------+--------------------------------------+


接下来就是 其他节点的添加!  步骤大概相同

构造新节点的操作步骤如下:

1.安装MariaDB和Galera library

2.wsrep_cluster_address的配置不一样:

wsrep_cluster_address="gcomm://Node-A-IP,Node-B-IP"   # 这里指向是指上一层的集群地址

3.重起MariaDB

所有节点配置完成以后,更改节点1的 wsrep_cluster_address="gcomm://" 为其他IP

并 加入 仲裁人
"仲裁人"节点上没有数据,它在集群中的作用就是在集群发生分裂时进行仲裁,集群中可以有多个"仲裁人"节点。

"仲裁人"节点加入集群的方法如下:
garbd -a gcomm://192.168.0.100:4567 -g my_wsrep_cluster -d


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


测试集群是否配置好参数:登陆数据库:查看如下几个参数:
SHOW VARIABLES LIKE 'wsrep_cluster_address';

# 这个查看wsrep的相关参数
show status like 'wsrep%';

                   


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-41452-1-1.html 上篇帖子: mysql源码主从搭建 下篇帖子: replication监控及自动故障切换
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表