mha搭建使用

1.node服务安装.和主节点manager服务安装
1.首先安装依赖
yum install -y perl-DBD-MySQL
2.下载node的rpm安装包,并上传到服务器上.(node节点是所有节点都需要安装的)
https://github.com/yoshinorim/mha4mysql-node/releases/tag/v0.58
3.安装rpm安装包
rpm -ivh mha4mysql-node-0.58-0.el7.centos.noarch.rpm 
4.manager节点安装epel依赖包(manager节点单独安装)
wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -ivh epel-release-latest-7.noarch.rpm
5.安装其他依赖包
yum install perl-DBD-MySQL perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager -y
6.下载manager的rpm安装包
https://github.com/yoshinorim/mha4mysql-manager/releases/tag/v0.58
7.安装rpm安装包
rpm -ivh mha4mysql-manager-0.58-0.el7.centos.noarch.rpm
准备中...                          ################################# [100%]
正在升级/安装...
   1:mha4mysql-manager-0.58-0.el7.cent################################# [100%]
安装成功 
2.修改主机hosts文件
192.168.15.20 mycat
192.168.15.21 mysql-01
192.168.15.22 mysql-02
192.168.15.23 mysql-03
192.168.15.24 mysql-04
manager节点添加/etc/app1.cnf
[server default]
# mysql user and password
user=root
password=mysql
ssh_user=root
# working directory on the manager
manager_workdir=/var/log/masterha/app1
# working directory on MySQL servers
remote_workdir=/var/log/masterha/app1
repl_user=repl
repl_password=mysql
[server1]
hostname=mysql-02
port=3306
master_binlog_dir=/usr/local/mysql/data
[server2]
hostname=mysql-03
port=3306
master_binlog_dir=/usr/local/mysql/data
[server3]
hostname=mysql-04
port=3306
master_binlog_dir=/usr/local/mysql/data
3.三台主机的auto.cnf文件和my.cnf文件中的id需要分别设置成不同id
启动前将auto.cnf删除即可.启动的时候会自动启动.
修改my.cnf配置文件.将其中的
server_id =1 修改成三台机器不相同即可.如果没有就在[mysqld]添加一条.
4.ssh通道需要打通.
ssh-keygen
ssh-copy-id id_rsa.pub root@mysql-02
这里可以写一个循环.进行公钥的分发.
5.建立主从同步关系
参见基于binlog日志主从复制,并插入数据查看丛库是否完整建立主从关系.
6.在slave节点上添加relay_log_purge参数为关闭
relay_log_purge=0    #表示手动删除relay_log
此参数可以在数据库内部动态调节.
set global relay_log_purge = 0;
7.实现各个数据库节点之间无密码数据传输
每台服务期都要生成自己的秘钥对.并且各个节点之间要实现免密认证数据传输
ssh-keygen
将公钥定向到 .ssh/authorized_keys文件中
cat id_rsa.pub > authorized_keys
并且将所有的产生的公钥都写入到 每台机器的authorized_keys文件中.
每个authorized_keys文件都有4台机器的公钥.
8.因为mha工作的时候寻找的路径是/usr/bin/mysqlbinlog.所以创建软连接到这个目录下
三台数据库节点执行
软连接是将mysql服务进行软连.需要根据实际情况来判断连接位置.
ln -s /usr/local/mysql/bin/mysqlbinlog  /usr/bin/mysqlbinlog
第一个软连接是用来分析binlog日志用
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
第二个软连接是用来连接mysql用
9.管理节点检查ssh同道以及配置信息.
masterha_check_ssh --conf=/etc/app1.cnf
最终显示
All SSH connection tests passed successfully.
表示通道畅通.
10.检查复制
masterha_check_repl --conf=/etc/app1.cnf
第2章 Keepalived安装
1.安装依赖包
yum install -y curl gcc openssl-devel libnl3-devel net-snmp-devel
2.安装主服务
yum install -y keepalived
主:
1.Master 上keepalived的配置文件(切记关闭selinux和)
! Configuration File for keepalived
#vrrp_script chk_http_port {
#        script"/etc/keepalived/scripts/check_haproxy.sh"
#        interval 2
#        weight 2
#}
vrrp_instance VI_1 {
        state MASTER
        interface ens33
        virtual_router_id 51
        priority 150
        advert_int 1
        authentication
        auth_type PASS
        auth_pass 1111
}
track_script {
        chk_http_port
}
virtual_ipaddress {
        192.168.15.201/24 dev ens33 scope global
        #注意最初设置其他网段是没法访问的.设置成15网段(跟宿主机同网段才可以访问.)
}
 
2.Backup上keepalived的配置文件
从:
! Configuration File for keepalived
#vrrp_script chk_http_port {
#        script"/etc/keepalived/scripts/check_haproxy.sh"
#        interval 2
#        weight 2
#}
 vrrp_instance VI_1 {
        state BACKUP
        interface ens33
        virtual_router_id 51
        priority 100
        advert_int 1
        authentication
        auth_type PASS
        auth_pass 1111
}
track_script {
        chk_http_port
}
virtual_ipaddress {
        192.168.15.201/24 dev ens33 scope global
}
 
posted on 2019-09-24 19:12  DisCover_ry  阅读(219)  评论(0)    收藏  举报