07: MMM集群概述 、 部署集群基础环境 、 MMM集群部署 、 总结和答疑

day07 部署MySQL高可用集群

高可用集群介绍: 主备模式 当主不能提供服务的时候备用主机接替它提供服务,这个过程对于客户端是透明的。

一 配置MySQL主从同步
主主结构
主从从
一主多从

二配置MySQL-mmm perl

mmm_monitor 监控服务 运行在管理节点主机上。
mmm_agentd 代理服务 运行在所有的数据节点主机上。

writer-vip : 192.168.4.100
read -vip : 192.168.4.101/102

2.1 在所有主机上安装mysql-mmm-2.2.1.tar.gz软件包
#yum -y install perl-*
#unzip mysql-mmm.zip
#cd mysql-mmm
#tar -zxf mysql-mmm-2.2.1.tar.gz
#cd mysql-mmm-2.2.1
#make install
#ls /etc/mysql-mmm/
mmm_agent.conf //mmm_agentd服务主配置文件
mmm_common.conf //公共配置文件(管理主机和数据节点主机)
mmm_mon.conf //mmm_monitor服务主配置文件
mmm_tools.conf
2.2 修改配置
2.2.1 修改数据节点主机mmm_agentd服务的配置文件
ip地址 名称
192.168.4.51 master51
192.168.4.52 master52
192.168.4.53 slave53
192.168.4.54 slave54

#vim /etc/mysql-mmm/mmm_agent.conf
include mmm_common.conf
this 主机名
[[email protected] ~]#

2.2.2 修改管理节点主机mmm_monitor服务的配置文件

vim /etc/mysql-mmm/mmm_mon.conf

[[email protected] ~]# cat /etc/mysql-mmm/mmm_mon.conf
include mmm_common.conf

<monitor>
ip 192.168.4.55
pid_path /var/run/mmm_mond.pid
bin_path /usr/lib/mysql-mmm/
status_path /var/lib/misc/mmm_mond.status
ping_ips 192.168.4.51, 192.168.4.52, 192.168.4.53, 192.168.4.54
</monitor>

<host default>
monitor_user monitor
monitor_password 123456
</host>

debug 0
[[email protected] ~]#

2.2.3 修改公共配置文件mmm_common.conf

vim /etc/mysql-mmm/mmm_common.conf

[[email protected] mysql-mmm-2.2.1]# cat /etc/mysql-mmm/mmm_common.conf
active_master_role writer

<host default>
cluster_interface eth0

pid_path                /var/run/mmm_agentd.pid
bin_path                /usr/lib/mysql-mmm/

replication_user        h51
replication_password    123456

agent_user   agent
agent_password   123456

</host>

<host master51>
ip 192.168.4.51
mode master
peer master52
</host>

<host master52>
ip 192.168.4.52
mode master
peer master51
</host>

<host slave53>
ip 192.168.4.53
mode slave
</host>

<host slave54>
ip 192.168.4.54
mode slave
</host>

<role writer>
hosts master51, master52
ips 192.168.4.100
mode exclusive
</role>

<role reader>
hosts slave53, slave54
ips 192.168.4.101, 192.168.4.102
mode balanced
</role>
[[email protected] mysql-mmm-2.2.1]#

2.2.4 根据配置文件里设置,在数据节点主机天添加对应的授权用户
监控用户monitor agent
mmm_monitor mmm_agentd
51 :
mysql> grant replication client on . to [email protected]"%" identified by "123456";
mysql> grant replication client,process,super on . to [email protected]"%" identified by "123456";
mysql> select user,host from mysql.user where user in ("monitor","agent");

52-54:
select user,host from mysql.user where user in ("monitor","agent");

2.3 启动服务
2.3.0 安装依赖的软件包
安装mmm_monitor服务和mmm_agentd运行依赖的软件包(51~55)
#yum -y install gcc gcc-c++

#tar -zxf Algorithm-Diff-1.1902.tar.gz
#cd Algorithm-Diff-1.1902/
#perl Makefile.PL
#make
#make install

#rpm -ivh perl-Log-Log4perl-1.26-1.el6.rf.noarch.rpm

#tar -zxf Proc-Daemon-0.03.tar.gz
#cd Proc-Daemon-0.03/
#perl Makefile.PL
#make
#make install

安装获取vip地址的程序(51-54 )
289 gunzip Net-ARP-1.0.8.tgz
291 tar -xf Net-ARP-1.0.8.tar
293 cd Net-ARP-1.0.8/
295 perl Makefile.PL
296 make
297 make install

2.3.1 启动数据节点主机上的 mmm_agentd服务(51~54)
[[email protected] ~]# /etc/init.d/mysql-mmm-agent status
Daemon bin: ‘/usr/sbin/mmm_agentd‘
Daemon pid: ‘/var/run/mmm_agentd.pid‘
Checking MMM Agent process: not running.
[[email protected] ~]#
[[email protected] ~]# /etc/init.d/mysql-mmm-agent start
Daemon bin: ‘/usr/sbin/mmm_agentd‘
Daemon pid: ‘/var/run/mmm_agentd.pid‘
Starting MMM Agent daemon... defined(@array) is deprecated at /usr/share/perl5/vendor_perl/Log/Log4perl/Config.pm line 863.
(Maybe you should just omit the defined()?)
Ok
[[email protected] ~]# netstat -utnalp | grep :9989
tcp 0 0 192.168.4.51:9989 0.0.0.0:* LISTEN 12389/mmm_agentd
[[email protected] ~]# ls /var/log/mysql-mmm/
mmm_agentd.log
[[email protected] ~]#

2.3.2 启动管理节点主机上的 mmm_monitor服务
[[email protected] ~]# /etc/init.d/mysql-mmm-monitor status
Daemon bin: ‘/usr/sbin/mmm_mond‘
Daemon pid: ‘/var/run/mmm_mond.pid‘
Checking MMM Monitor process: not running.
[[email protected] ~]#
[[email protected] ~]# /etc/init.d/mysql-mmm-monitor start
Daemon bin: ‘/usr/sbin/mmm_mond‘
Daemon pid: ‘/var/run/mmm_mond.pid‘
Starting MMM Monitor daemon: defined(@array) is deprecated at /usr/share/perl5/vendor_perl/Log/Log4perl/Config.pm line 863.
(Maybe you should just omit the defined()?)
Ok
[[email protected] ~]# netstat -utnalp | grep :9988
tcp 0 0 192.168.4.55:9988 0.0.0.0:* LISTEN 11433/mmm_mond
[[email protected] ~]# ls /var/log/mysql-mmm/
mmm_mond.log
[[email protected] ~]#

2.3.3 在管理节点55主机上,查看监控信息
[[email protected] ~]# mmm_control show
defined(@array) is deprecated at /usr/share/perl5/vendor_perl/Log/Log4perl/Config.pm line 863.
(Maybe you should just omit the defined()?)
master51(192.168.4.51) master/AWAITING_RECOVERY. Roles:
master52(192.168.4.52) master/AWAITING_RECOVERY. Roles:
slave53(192.168.4.53) slave/AWAITING_RECOVERY. Roles:
slave54(192.168.4.54) slave/AWAITING_RECOVERY. Roles:

[[email protected] ~]# mmm_control set_online 主机名

[[email protected] ~]# mmm_control set_online master51
defined(@array) is deprecated at /usr/share/perl5/vendor_perl/Log/Log4perl/Config.pm line 863.
(Maybe you should just omit the defined()?)
OK: State of ‘master51‘ changed to ONLINE. Now you can wait some time and check its new roles!
[[email protected] ~]#

[[email protected] ~]# mmm_control show
defined(@array) is deprecated at /usr/share/perl5/vendor_perl/Log/Log4perl/Config.pm line 863.
(Maybe you should just omit the defined()?)
master51(192.168.4.51) master/ONLINE. Roles: writer(192.168.4.100)
master52(192.168.4.52) master/ONLINE. Roles:
slave53(192.168.4.53) slave/ONLINE. Roles: reader(192.168.4.101)
slave54(192.168.4.54) slave/ONLINE. Roles: reader(192.168.4.102)

[[email protected] ~]#
[[email protected] ~]# ping -c 2 192.168.4.100

数据节点主机查看 VIP 地址?51~54
#ip addr show | grep 192.168.4.

在数据节点主机上添加访问数据的连接用户
51#mysql -uroot -p123456
mysql> grant all on gamedb.* to [email protected]"%"
-> identified by "123456";

mysql> select user,host from mysql.user where user="admin";

三、客户端254测试,高可用集群的配置
#mysql -h192.168.4.100 -uamdin -p123456

原文地址:http://blog.51cto.com/13478354/2067026

时间: 2024-11-10 03:54:49

07: MMM集群概述 、 部署集群基础环境 、 MMM集群部署 、 总结和答疑的相关文章

部署集群基础环境,MySQL-MMM架构部署,MySQL-MMM架构使用

部署集群基础环境 1.1 问题 本案例要求为MySQL集群准备基础环境,完成以下任务操作: 数据库授权 部署MySQL双主多从结构 配置本机hosts解析记录 1.2 方案 使用4台RHEL 6虚拟机,如图-1所示.其中192.168.4.10.192.168.4.11作为MySQL双主服务器,192.168.4.12.192.168.4.13作为主服务器的从服务器. 图-1 1.3 步骤 实现此案例需要按照如下步骤进行. 步骤一:准备环境 [[email protected] ~]# cat

Database基础(七):部署集群基础环境、MySQL-MMM架构部署、MySQL-MMM架构使用

一.部署集群基础环境 目标: 本案例要求为MySQL集群准备基础环境,完成以下任务操作: 数据库授权 部署MySQL双主多从结构 配置本机hosts解析记录 方案: 使用4台RHEL 6虚拟机,如下图所示.其中192.168.4.10.192.168.4.11作为MySQL双主服务器,192.168.4.12.192.168.4.13作为主服务器的从服务器. 步骤: 步骤一:准备环境 [[email protected] ~]# cat /etc/hosts    127.0.0.1   loc

centos7下的k8s+dashboard集群部署---(1)环境准备及docker部署

前言:之前部署的时候看到网上的教程非常多,大部分没大方向错误,但是经过多次实际性的验证后发现避免不了会有一些错误,为此整理一篇总结部署:准备工作:本次部署拓扑为1master,2node节点,准备工作包含所有设备:a)关闭各节点防火墙,并设置开机关闭systemctl stop firewalldsystemctl disable firewalldb)关闭系统selinuxsetenforce 0sed -i 's/enforcing/disabled/' /etc/selinux/confi

30_MHA集群概述 、 部署MHA集群 测试配置

版本:5.7.28 1.准备MHA集群环境准备6台虚拟机,并按照本节规划配置好IP参数在这些虚拟机之间实现SSH免密登录在相应节点上安装好MHA相关的软件包 使用6台RHEL 7虚拟机,如图-1所示.准备集群环境,安装依赖包,授权用户,配置ssh密钥对认证登陆,所有节点之间互相以root秘钥对认证登录,管理主机以root密钥对认证登录所有数据节点主机,配置mha集群. 1.1 修改主机名,配置IPmsyql{50..57}192.168.4.{50..57} 1.2 安装包(51-55)]# t

mysql5.6部署集群基础环境

----------------------------- 部署集群基础环境 MySQL-MMM架构部署 MySQL-MMM架构使用 部署集群基础环境 192.168.4.10     master1 192.168.4.11     master2 192.168.4.12     slave1 192.168.4.13     slave2 192.168.4.100     monitor 使用5台mysql5.6 其中192.168.4.10.192.168.4.11作为mysql双主服

部署mysql集群基础环境

设置slave2为master1从:部署集群基础环境 1.1 问题 本案例要求为MySQL集群准备基础环境,完成以下任务操作: 数据库授权 部署MySQL双主多从结构 配置本机hosts解析记录 1.2 方案 使用4台RHEL 6虚拟机,如图-1所示.其中192.168.4.10.192.168.4.11作为MySQL双主服务器,192.168.4.12.192.168.4.13作为主服务器的从服务器. 图-1 1.3 步骤 实现此案例需要按照如下步骤进行. 步骤一:准备环境 [[email p

实现MySQL读写分离 部署集群基础环境(有图)

实现MySQL读写分离 部署集群基础环境 1 实现MySQL读写分离1.1 问题 本案例要求配置2台MySQL服务器+1台代理服务器,实现MySQL代理的读写分离: 用户只需要访问MySQL代理服务器,而实际的SQL查询.写入操作交给后台的2台MySQL服务器来完成 其中Master服务器允许SQL查询.写入,Slave服务器只允许SQL查询 1.2 方案 使用4台RHEL 7.2虚拟机,如图-1所示.其中192.168.4.10.192.168.4.20分别作为MySQL主.从服务器,是整个服

[转帖]Breeze部署kubernetes1.13.2高可用集群

Breeze部署kubernetes1.13.2高可用集群 2019年07月23日 10:51:41 willblog 阅读数 673 标签: kubernetes 更多 个人分类: kubernetes https://blog.csdn.net/networken/article/details/86550735 所知道的太少了.. 不过简单试了下 不是特别好用 国内公司做的系统.. 也可能跟我的虚拟机兼容性有关系.. breeze简介 项目地址:https://github.com/wis

HA 高可用集群概述及其原理解析

HA 高可用集群概述及其原理解析 1. 概述 1)所谓HA(High Available),即高可用(7*24小时不中断服务). 2)实现高可用最关键的策略是消除单点故障.HA严格来说应该分成各个组件的HA机制:HDFS 的HA和YARN的HA. 3)Hadoop2.0之前,在HDFS集群中NameNode存在单点故障(SPOF). 4)NameNode主要在以下两个方面影响HDFS集群: ? NameNode机器发生意外,如宕机,集群将无法使用,直到管理员重启 ? NameNode机器需要升级

高可用集群概述

前言: 在很多场景中,服务的不间断及高可用性是非常重要的.不光要有负载均衡机制,虽然它在一定的场景中能实现一定的高可用性.(出门左转有过介绍)当其中的一台RealServer宕机后,客户多刷新几次页面,调度器还是能将请求转到其他的服务器上,不至于彻底挂掉.但是当调度器宕机后呢?这时就需要用到一些机制来实现系统的高可用性了. 为了避免一台服务器出现单点故障,为了实现高可用性就得在服务器的旁边在配置另一台服务器,当它宕机后,旁边这台接替它的工作继续服务.(或者多台,n台提供服务,m台作为候补~,一般