zoukankan      html  css  js  c++  java
  • Mysql-MHA之增加节点 测试

    1 简介

    MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件。在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用。

    2 环境

    172.17.0.6

    node1

    master

    172.17.0.7

    node2

    slave1

    172.17.0.8

    node3

    slave2

    172.17.0.9

    manager

    mha-manager

    3 测试目标

    本次测试基于mha+主从复制,对现有的集群进行增加、删除节点操作。

    本文档主要记录增加、删除节点的操作。

    4 增加节点

    4.1 节点信息

    4.1.1 原有节点

    172.17.0.6

    node1

    master

    172.17.0.7

    node2

    slave1

    172.17.0.8

    node3

    slave2

    172.17.0.9

    manager

    mha-manager

    4.1.2 新增节点

    172.17.0.13

    node4

    slave3

    4.2 主从添加节点

    4.2.1 开启日志、打开gtid

    修改my.cnf配置

    [mysqld]

    datadir=/var/lib/mysql

    socket=/var/lib/mysql/mysql.sock

    server-id=4

    log-bin=mysql-bin

    gtid_mode=ON

    enforce_gtid_consistency=ON

    4.2.2 开启半同步复制

    1) 安装相关插件

    install plugin rpl_semi_sync_master soname 'semisync_master.so';

    install plugin rpl_semi_sync_slave soname 'semisync_slave.so';    

    2) 修改配置

    方法1:(重启mysql后参数失效)

    set global rpl_semi_sync_master_enabled=1;

    set global rpl_semi_sync_master_timeout=2000;

    set global rpl_semi_sync_slave_enabled=1;

    方法2:修改my.cnf文件配置(参数永久有效)

    rpl_semi_sync_master_enabled = 1

    rpl_semi_sync_master_timeout = 2000

    rpl_semi_sync_slave_enabled=1

    3) 重启mysql服务,查看修改的参数

    show global variables like '%rpl_semi%';

    4.2.3 从节点配置

    mysql> alter user root@'localhost' identified by 'Aa!123456';

    mysql> grant all privileges on *.* to root@'%' identified by 'Aa!123456';

    mysql> change master to master_host='172.17.0.6', master_user='root', master_password='Aa!123456',master_auto_position=1;

    mysql> start slave;

    mysql> show slave statusG;

    4.3 mha添加节点

    4.3.1 下载、安装mha

     https://github.com/yoshinorim/mha4mysql-node/releases/download/v0.58/mha4mysql-node-0.58-0.el7.centos.noarch.rpm

    rpm -ivh mha4mysql-node-0.58-0.el7.centos.noarch.rpm

    4.3.2 修改mha配置文件

    添加配置

    [server4]

    hostname=172.17.0.13

    port=3306

    4.3.3 配置SSH无密码验证

    1)新增节点slave3生成秘钥、公钥

    ssh-keygen -t rsa

    2)其他节点将公钥发送salve3节点

    master :ssh-copy-id root@172.17.0.13

    salve1 :ssh-copy-id root@172.17.0.13

    salve2 :ssh-copy-id root@172.17.0.13

    mha-manager :ssh-copy-id root@172.17.0.13

    3)salve3机器再将公钥发送到其他节点

    scp /root/.ssh/authorized_keys root@172.17.0.6:/root/.ssh

    scp /root/.ssh/authorized_keys root@172.17.0.7:/root/.ssh

    scp /root/.ssh/authorized_keys root@172.17.0.8:/root/.ssh

    scp /root/.ssh/authorized_keys root@172.17.0.9:/root/.ssh

    4)测试

    masterha_check_ssh --conf=/etc/mhamanger/app.conf

    4.3.4 节点检测

    masterha_check_repl --conf=/etc/mhamanger/app.conf

    4.4 重启mha服务

    4.4.1 停止

    masterha_stop --conf=/etc/mhamanger/app.conf

    4.4.2 启动

    nohup masterha_manager --conf=/etc/mhamanger/app.conf  >/etc/mhamanger/mha.log 2>&1 &

  • 相关阅读:
    dart 库
    dart effective-设计
    Python3-Set
    python 基本输入和输出+变量和基本对象
    python 基本语法元素
    模版方法模式 展现程序员的一天
    外观模式 一键电影模式
    装饰者模式 带你重回传奇世界
    命令模式 之 管理智能家电
    适配器模式 以手机充电器为例
  • 原文地址:https://www.cnblogs.com/jiayan666/p/14285042.html
Copyright © 2011-2022 走看看