MHA(Master High Availability) 作者

Slides:



Advertisements
Similar presentations
高等动物的 个体发育 作者:游隆信 松阳一中 二零零二年三月 被子植物子房的结构 及双受精过程 胚珠的结构 花粉管 精 子 卵细胞 极 核 子房壁 珠 被 珠 孔.
Advertisements

C A D C D.
贴着生活写作 慈溪中学 黄宏武.
Linux 安裝入門與基本管理 課程目標: 學習Linux平台下的安裝設定 與 建置一個基本的Linux伺服器
目錄 服務地點 南寮 世光教養院 飛鳳山 長安養老院 尖石國小 內灣 大華停車場 上智國小 二重國中 班級 領隊教師 參與人數 (人次)
市场营销策略模块 项目十一 促销策略--营业推广
厦门大学数据库实验室 刘颖杰 2014年11月15日 实习总结报告 厦门大学数据库实验室 刘颖杰 2014年11月15日.
双十一数据库核心技术 淘宝网 李圣陶(刘昆).
國有土地管理與運用問題之探討 主講人: 廖 蘇 隆 中華民國100年10月17 日.
校园信息管理系统 河北科技大学网络中心 2000/4/10.
交通大学教职工团购车险方案
房型介紹 單日 10天以上 托嬰照護 月子餐 VIP 特約 溫馨 精緻
MongoDB技术交流 主讲:刘天斯.
组网技术与配置 (第3版) 清华大学出版社 ISBN
Linux并行计算平台搭建及应用 王彦棡 2010年5月.
技术支持部 张新凤( ) 并行机群系统安装、使用和管理 技术支持部 张新凤( )
第五章 各类园林绿地的规划设计.
2013华东数据库技术大会 MySQL5.6版InnoDB引擎深入剖析 演讲嘉宾:何登成
徵收苗栗市福全段147、1588及文心段10、11地號等4筆土地之
TQC MySql5 第二類 資料庫安裝與啟動.
常优
第4讲 MySQL服务器的配置与应用.
讲 义 大家好!根据局领导的指示,在局会计科和各业务科室的安排下,我给各位简要介绍支付中心的工作职能和集中支付的业务流程。这样使我们之间沟通更融洽,便于我们为预算单位提供更优质的服务。 下面我主要从三方面介绍集中支付业务,一是网上支付系统,二是集中支付业务流程及规定等,
MySQL主从同步
Canal开源产品介绍 taobao.
中国人民公安大学经费管理办法(试行) 第一章总则 第四条:“一支笔” “一支笔”--仅指单位主要负责人。负责对本 单位的经费进行审核审批。
江苏如皋钢铁有限公司 行车司机、起重司索指挥人员安全知识培训 部门(单位)名称:安环部 李雄飞
服 务 管 理 新 概 念 服务行业管理软件专业开发商.
轉移SFS3學務系統至CentOS 6.3 臺中市教育網路中心 曾文芳 2012/8/13.
資訊安全與系統管理 2013/3/13 Chien wei lin.
股市不傳之秘 甘氏矩陣圖/價格推算 簡介、基礎學習步驟 1、學習觀念 2、基礎看圖法 A.大數推算 B.基礎角度線推算.
臺中市僑忠國小 101年度圖書館閱讀教師實施計畫
DNS 西安交通大学 李思 2004年8月23日.
课程名称 黄杉 讲师的CSDN博客地址:
翰林自然 六年級上學期 第二單元 聲音與樂器.
妈妈我爱你 你总说我还不懂事 维护我像一张白纸 你眼中我永远是长不大的孩子 虽然我有好多心事 却已不愿说与你知 我曾任性地排斥你爱我的方式
培训环境 无线 FDSMEETING_C201-1 FDSMEETING_C201-2 FDSMEETING_C201-3
Linux.
補救教學實施方案 科技化評量系統操作說明 對象:承辦人權限.
Alibaba 数据库高可用架构 Alibaba
雲端計算 參考書籍:Python+Spark 2.0+Hadoop 機器學習與大數據分析實戰
Web Server 架設.
本章导读 Webmin简介 Webmin的安装和配置 停止和启动Webmin服务 使用Webmin配置Samba服务
GERRIT使用说明 配置管理-高峰
面向高能所信息化系统的高可用数据库服务 王丽 计算中心 中科院高能所 第十八届全国科学计算与信息化会议.
Linux 圖形操作介面 GUI -- X-window 與 Webmin
讲议: PXE 介绍及实现 Jarvis
第二天 计算机基础技能培训 (一)linux基础知识
LOGO 微立体清新风工作汇报 工作总结/销售汇报/工作计划/新年工作计划/阶段工作汇报
Hadoop.
第 22 章 架設 WWW 伺服器.
利用ICE通信中间件构建分布式应用程序开发框架
VLAN间路由 LAN 交换及无线–第 6 章.
Confidential Property
项目四 客房部对客服务.
第六類 資料庫備份與回復.
講員:游文志 排程系統教育訓練 後台管理系統 講員:游文志
微信商城系统操作说明 色卡会智能门店.
Linux 服务器配置与管理 用yum管理 软件包 宁波城市职业技术学院
◆ 第3節 基音與泛音 一、縱波的駐波 二、開管樂器的駐波 三、閉管樂器的駐波 四、共鳴空氣柱實驗 範例 1 範例 2 範例 3 範例 4
第11章 安全管理 教学提示:数据库安全是关系数据库中的非常重要的方面,包括了系统安全、数据安全、资源管理、用户管理、权限管理、角色管理、口令管理以及授权、认证、审计等相当多方面的内容。本章讲述有关数据库安全方面的知识。 数据库系统的安全性是每个数据库管理员都必须认真考虑的问题。SQL Server.
保變住開發要點 資料來源:台北市政府都發局.
創造不一樣的人生 -如何與身心障礙者接觸 新竹教育大學 薛明里.
Git 新一代版本控制系统 superwen.
大綱 一.受試者之禮券/禮品所得稅規範 二.範例介紹 三.自主管理 四.財務室提醒.
配合康軒版 社會科第一單元 第五課 製作者:周秀卿、 簡維萱
服務套裝.
第六章 文件系统与文件管理 6.4 Linux文件管理 1、比较MS DOS 与 Linux的目录结构 一、Linux文件系统的树形结构
请大家起立,练习“站桩”:两手平伸,两脚与肩间宽,双脚尽量下蹲,上身保持平直。
Presentation transcript:

MHA(Master High Availability) 作者

数据库HA架构 一主带三从,高可用架构采用开源MHA+半同步复制semi replication MHA管理多组集群

生产数据库HA架构 目前为一主带三从,高可用架构采用开源MHA+半同步复制semi replication,参数为: sync_binlog = 1 innodb_flush_log_at_trx_commit = 1 innodb_support_xa = 1 (事务的两阶段提交) 和MMM架构主要区别是:数据补齐功能。当原主库连接不上,监控管理机会试图scp主库的binlog,把没有同步复制完成的那一部分差异数据补齐。

恢复步骤: 1、识别最新的Slave, 并试图从死掉的Master 上scp那一部分差异的 binlog执行完, 并提升为新的Master; 4、最后再scp死掉的Master上那一部分差异的binlog,并执行完。至此数据全部恢复一致。 2、等待最老的Slave把中继日志relay-log执行完; 3、从最新的Slave上scp那一部分差异的中继日志relay-log,并执行完;

如何识别最新的Slave?

MHA架构注意事项: 1、防止网络抖动误切换,造成数据不一致,其实现原理为:投票机制,当监控管理机无法ping通和无法连接MySQL主库,会试图从监控备机上去ping和连接MySQL主库,只有双方都连接失败,才认定MySQL主库宕机。假如有一方可以连接MySQL主库,都不会切换。 参数:secondary_check_script=/usr/local/bin/masterha_secondary_check \ -s 192.168.111.76 -s 192.168.111.79 --user=root --master_host=QCZJ-dbm \ --master_ip=192.168.111.77 --master_port=3306 由于masterha_secondary_check脚本写死了端口,所以要手工修改ssh端口: $ssh_user = "root" unless ($ssh_user); $ssh_port = 62222 unless ($ssh_port); $master_port = 3306 unless ($master_port);

MHA架构注意事项: 2、VIP没有采用keepalived,就是怕网络抖动问题。 修改的以下两个脚本,自带VIP: master_ip_failover_script=/usr/local/bin/master_ip_failover master_ip_online_change_script=/usr/local/bin/master_ip_online_change ------------------------------------------------------------------------------------------------------------------------------- # Hardcode stuff now until the next MHA release passes SSH info in here MHA::ManagerUtil::exec_ssh_cmd( $new_master_ip, '62222', "ip addr add 192.168.111.83/32 dev em2;arping -q -c 2 -U -I em2 192.168.111.83", undef );

MHA架构注意事项: 3、新浪DBA刘江之前问了我一个问题,mha依赖ssh,ssh有时会出现连接慢或者不通的情况,你们怎么解决 ? 答:设置一下ssh连接超时时间(ssh timeout):

MHA架构注意事项: 4、死掉的原Master如何与提升为新的Master建立同步复制关系? 答:# grep -i 'change' manager.log Sat Sep 5 12:50:34 2015 - [info] All other slaves should start replication from here. Statement should be: CHANGE MASTER TO MASTER_HOST='QCZJ-dbm or 192.168.111.77', MASTER_PORT=3308, MASTER_LOG_FILE='mysql-bin.000006', MASTER_LOG_POS=326, MASTER_USER='repl', MASTER_PASSWORD='xxx'; Sat Sep 5 12:50:35 2015 - [info] Executed CHANGE MASTER. 5、MHA结合半同步复制semi replication注意些什么? 答:我们是金融公司,数据不丢失是第一位的。开启半同步复制势必会影响性能,所以我们针对这种情况,将DB服务器通过VLAN划分为一个独立网段,与应用是隔离的,保障有一个良好的网络环境。 此外,由于MHA是基于ssh公私钥认证,有些公司禁止ssh互通,怕被黑客入侵,然后可以跳到其他DB服务器里,所以将DB与应用隔离,是必要的。

MHA架构安装: 1、官网安装文档 https://code.google.com/p/mysql-master-ha/wiki/Installation RHEL/CentOS 6安装步骤: # MHA安装包(MHA管理节点、MASTER、SLAVE均安装) yum install perl-DBD-MySQL perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager 如果你没有找到rpm包,要安装一下epel源 rpm -ivh epel-release-6-8.noarch.rpm #在管理节点,安装MHA管理和客户端安装包 tar zxvf mha4mysql-node-0.56.tar.gz cd mha4mysql-node perl Makefile.PL make make install

MHA架构安装: ------------------------------------ tar zxvf mha4mysql-manager-0.56.tar.gz cd mha4mysql-manager perl Makefile.PL make make install #在master和slave节点,安装MHA客户端安装包 tar zxvf mha4mysql-node-0.56.tar.gz cd mha4mysql-node # 公私钥认证,打通SSH无密码(管理节点、master和slave均执行如下) ssh-keygen ssh-copy-id '-p 22 root@192.168.17.128' ssh-copy-id '-p 22 root@192.168.17.129' ssh-copy-id '-p 22 root@192.168.17.130' ssh-copy-id '-p 22 root@192.168.17.131'

MHA架构安装: ------------------------------------ MHA 重点参数详解 1、如果你的环境是链式复制架构,比如A-B-C,那么设置candidate_mast=1 如果不是,设置candidate_mast=0 2、在默认情况下,当一个slave同步延迟超过100M relay log, MHA在做故障切换时不会选择这个slave做为新的master,因为恢复需要经过很长时间。 当设置了check_repl_delay = 0, MHA将忽略被选择的slave上的同步延迟。 这个选项在设置了candidate_master = 1特声明的期望这台机器成为master的情况下特别有用。 3、在默认情况下,不会在slave存在故障的情况下(SQL Thread已经停止出错)的情况下进行Master的故障切换。 当设置了ignore_fail = 1时,MHA会在所有的机器有问题的时间也会进行故障切换。