MHA参数 转
http://blog.csdn.net/wulantian/article/details/12503473
http://blog.csdn.net/wulantian/article/category/1578273
1. candidate_master //你可以使用不同类型的机器在slaves之间,想要促进最可靠的机器到新master(即促进RAID1 + 0的slave,而不是恢复slave).
通过设置 candidate_master=1
服务器是优先到新主人,只要它符合条件的新master(即启用二进制日志,它不延迟明显等的复制)。所以 candidate_master=1
并不意味着规定主机总是变成新master,当出现主机宕机的时候,但有助于设置优先级。
如果设置 candidate_master=1 在众多的服务中,优先级排序顺序决定了由块名称([服务器xxx])。(服务器1)将有更高的优先级比[服务器2]。
2. no_master // 在标示的服务器上设置 no_master=1 那么,这个服务器将永远不会变成新的master,这是有用的,如果你有一些服务器,不应该成为新的master。
3. ignore_fail //默认情况下,MHA Manager不启动故障转移如果任何从属服务器失败(不能通过MySQL / SSH连接,SQL线程停止与错误等)。但在某些情况下,您可能希望继续故障转移如果只有特定从属服务器失败。通过设置 ignore_fail=1 在特定的服务器下,MHA继续故障转移虽然这些服务器失败。默认情况下,它是0。
4. check_repl_delay // 默认情况下,如果一个slave 落后 master超过100 mb的继电器日志(=需要申请超过100 mb的中继日志),MHA不选择作为一个新主人的master,因为这需要太长时间来恢复。
通过设置 check_repl_delay=0,MHA忽略复制延迟当选择一个新master。
这个选项是有用的,当你设置candidate_master=1在一个特定的主机和你想确保主机可以新主。
5. check_repl_filter //默认情况下,如果任何master和slave有不同的二进制日志/复制过滤规则彼此,MHA打印错误和不启动监控或故障转移。
这是为了避免意外恢复错误如“表不存在”。
如果你是100%确定不同的过滤设置不导致恢复问题,设置 check_repl_filter = 0。
注意, MHA不会检查过滤规则在应用 relay log日志,所以你可能会遇到“表不存在”(或其他)错误如果你设置 check_repl_filter = 0。非常小心如果你设置这个参数。
6. latest_priority
//默认情况下,最新的slave(一个slave接收最新binlog事件)是优先作为一种新的主人。如果你想完全控制优先秩序(即host2 -
> host3 - > host4 . .),设置latest_priority=0将帮助。详情见FAQ。
7. multi_tier_slave //从MHA
Manager0.52版本,支持多主机复制配置。默认情况下,它是不允许设置三个或三个以上层复制主机在MHA配置文件。例如,假设从各种host3
host2复制,复制从host2。默认情况下,它是不允许写各种,2、3在一个配置文件,因为它的三层复制和 MHA Manager
停止与错误。通过设置多级slave,MHA
Manager不中止与三层复制,只是忽略了第三层主机。如果各种(主)崩溃,host2将被选择为一个主、从host2 host3将继续复制。
8. ping_interval //这个参数状态多久MHA Manager ping(执行ping
SQL语句)大师。失踪后连续三个连接的间隔,MHA
Manager决定,MySQL主死了。因此,对于发现的最长时间失败通过ping机制是四次ping间隔。默认是3(3秒)。
9. ping_type //
(支持从0.53)在默认情况下,MHA建立持久的连接到一个master和master的可用性检查通过执行"SELECT
1"(ping_type=SELECT)。但在某些情况下,最好是检查通过连接/断开每次,因为它是更严格的和它可以检测水平更快的TCP连接失败。设
置 ping_type=CONNECT成为可能。
10. secondary_check_script //
一般来说,它是强烈建议有两个或多个网络线路检查MySQL主服务器的可用性。默认情况下,只有单一的路线 MHA
Manager检查:从Manager to
Master。但这是不可取的。MHA实际上可以有两个或两个以上的检查路线通过调用外部脚本定义二次检查脚本参数。下面是一个示例配置。
secondary_check_script = masterha_secondary_check -s remote_host1 -s remote_host2
masterha_secondary_check包含在 MHA Manager package。 内置masterha_secondary_check脚本应该没事的在大多数情况下,但是你可以叫任何脚本这里。
在上面的示例中,MHA Manager检查MySQL主服务器活动通过Manager-(A)- >远程remote_host1-(B)-
>master_host and
Manager-(A)->remote_host2-(B)->master_host.如果连接一个是成功的和不成功的在这两个航线
B,masterha_secondary_check退出并返回码为0和MHA
Manager决定,MySQL主是真的死了,将开始故障转移。如果不成功,masterha_secondary_check退出并返回码2和MHA
Manager猜测网络问题已经发生和它不启动故障转移。如果B是成功的,masterha_secondary_check退出并返回码3和MHA
Manager明白MySQL主服务器实际上是活着,不启动故障转移。
一般来说,remote_host1和remote_host2应该位于不同的网段从MHA Manager和MySQL服务器。
调用一个脚本定义MHA在二次检查脚本参数,并将以下参数自动(所以你不需要设置以下参数在配置文件中)。masterha_secondary_check应该适当的在许多情况下,但是你可以写任何网络检查脚本如果你需要更多的功能。
--user=(SSH username of the remote hosts. ssh_user parameter value will be passed)
--master_host=(master's hostname)
--master_ip=(master's ip address)
--master_port=(master's port number)
注意,内置masterha_secondary_check脚本取决于IO::Socket::INET
Perl包,它是默认包含从Perl版本5.6.0.。
masterha_secondary_check脚本也连接到远程服务器都通过SSH所以SSH公共密钥身份验证设置是必需的。此
外,masterha_secondary_check脚本试图建立TCP连接从远程服务器(设定- s)到MySQL主。
这意味着max_connections设置在my . cnf中所做不影响。 如果TCP连接成功,中止连接状态变量在主增加1。
11. master_ip_failover_script //
在常见的HA环境中,很多情况下人们分配一个虚拟IP地址在一个master。如果主崩溃,HA软件像起搏器接管虚拟IP地址到备用服务器。
另一个常见的方法是创建一个全球目录数据库之
间的映射,应用程序名称和 writer/reader的IP地址(例如。{ app1_master1,192.168.0.1 },{
app_master2,192.168.0.2 },…),而不是使用虚拟IP地址。在这种情况下,您需要更新目录数据库当当前的master
dies。
这两种方法都有优点和缺点。MHA并不强迫一个方法,但允许用户使用任何IP地址故障转移的解决方案。主ip故障转移脚本参数可以用于这一目的。换句话
说,您需要编写一个脚本,以使应用程序透明地连接到 new master,必须定义在主ip故障转移脚本参数。这里是一个例子。
master_ip_failover_script= /usr/local/sample/bin/master_ip_failover
一个示例脚本在(MHA Manager package)/samples/scripts/master_ip_failover。示例脚本包含在MHA Manager 打包工具和GitHub分支。
MHA Manager 调用master_ip_failover_script
三次。第一次是在进入主监视器(脚本有效性检查),第二次是在calling shutdown_script之前调用,第三次是在应用 relay
logs to new master 之后。MHA Manager 通过下面MHA参数(你不需要设置这些参数在配置文件中)。
如果你使用一个共享的虚拟IP地址在一个master,你可能不需要做任何事情在master关闭阶段,只要您关闭机器后在
shutdown_script。在新master的激活阶段,你可以指定虚拟IP的新master。如果你使用一个目录数据库的方法,您可能需要删除或
更新记录的挡掉在master的master关闭阶段。在新master的激活阶段,您可以插入/更新记录的新master。此外,你可以做一切你需要
的,这样应用程序可以编写新的master。例如, SET GLOBAL read_only=0,创建数据库用户写权限,等等。
MHA Manager检查退出代码(返回码)的脚本。如果该脚本将退出并返回码为0或10,MHA
Manager继续操作。如果该脚本将退出并返回代码除了0或10,MHA Manager中止和它不会继续故障转移。默认参数是空的,所以MHA
Manager不调用任何默认情况下。
12. master_ip_online_change_script //
这类似于主ip故障转移脚本参数,但这不是使用故障转移命令,而是通过master online change 命令(masterha_master_switch --master_state=alive)。传递参数是以下。
13. shutdown_script //
你可能想强迫关闭主服务器,以便它从来没有重新启动服务(节点拥塞)。这是重要的,以避免分裂。这里是一个例子。
shutdown_script= /usr/local/sample/bin/power_manager
14.report_script //你可能想要发送一个报告(如电子邮件)当故障转移已经完成或结束时的错误。report_script可用于目的。MHA Manager通过以下参数。
15.init_conf_load_script //
这个脚本可以用来当你不想设置普通文本配置文件(即密码和repl密码)。通过返回“name = value”对从这个脚本,您可以覆盖全球配置文件参数。示例脚本如下。
#!/usr/bin/perl
print "password=$ROOT_PASS\n";
print "repl_password=$REPL_PASS\n";
默认参数是空的,所以 MHA Manager不调用任何默认情况下。
MHA参数 转的更多相关文章
- 魅族资深DBA:利用MHA构建MySQL高可用平台
龙启东 魅族资深DBA 负责MySQL.Redis.MongoDB以及自动化平台建设 .擅长MySQL高可用方案.SQL性能优化.故障诊断等. 本次分享主要包括以下几方面: 如何利用MHA 改造MHA ...
- MHA(上)
一.mysql-mha环境准备 1.准备工作 1.1 实验环境: 1.2 软件包 用到的所有包 链接:https://pan.baidu.com/s/19tiKXNEW4C6oWi9OFmcDYA 提 ...
- Mysql 5.6 MHA (gtid) on Kylin
mha on Kylinip hostname repl role mha role192.168.19.69 mysql1 master node192.168.19.73 mysql2 slave ...
- MHA原理及搭建
MYSQL5.7下搭建MHA 环境说明 在主机1,主机2,主机3上安装MySQL服务端和客户端. 主机1 主机2 主机3 操作系统 CentOS7.4 CentOS7.4 CentOS7.4 主机名 ...
- Linux实战教学笔记39:Mha-Atlas-MySQL高可用方案实践(一)
一,mysql-mha环境准备 1.1 实验环境: 主机名 IP地址(NAT) 描述 mysql-db01 eth0:192.168.0.51 系统:CentOS6.5(6.x都可以) 安装:mysq ...
- mha配置参数详解
mha配置参数详解: 参数名字 是否必须 参数作用域 默认值 示例 hostname Yes Local Only - hostname=mysql_server1, hostname=192.168 ...
- MHA配置参数详解 【转】
mha配置参数详解: 参数名字 是否必须 参数作用域 默认值 示例 hostname Yes Local Only - hostname=mysql_server1, hostname=192.168 ...
- 高可用mysql之MHA源码剖析
* MHA的整个故障(离线)切换过程 - 检测主库的状态,确认是否崩溃. - 确认服务崩溃,保存binlog,推送到主控机,并可以强制关闭主库避免脑裂. - 找出数据最新的从库(也就是read_mas ...
- MYSQL MHA
MYSQL MHA 简介: MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于 Face ...
随机推荐
- shell 内网主机存活探测器
最近在学习shell 编程,闲来无事,搞了一个小shell. 可以用来 对一个网段的存活主机进行 探测. #!/bin/bash # #// #blog:www.cnblogs.com/outline ...
- 40个超酷的jQuery动画效果教程
自从出现,jQuery就在web领域就引起了轰动,现在它已经成为Web动画效果的最佳解决方案之一.jQuery提供了良好的交叉浏览器支持,并且轻便易用.现在,jQuery在定义和控制小型的Web动画诸 ...
- the behavior of the UICollectionViewFlowLayout is not defined because:
the behavior of the UICollectionViewFlowLayout is not defined because: the item height must be le ...
- Cisco asa 5510升级IOS和ASDM
asa asa(config)# dir ...
- 检测iOS的APP性能的一些方法
首先如果遇到应用卡顿或者因为内存占用过多时一般使用Instruments里的来进行检测.但对于复杂情况可能就需要用到子线程监控主线程的方式来了,下面我对这些方法做些介绍: Time Profiler ...
- C++视频课程小结(3)
C++远征之封装篇(上) 章节介绍: 每章小结: 第一章:课程介绍. 按照惯例是章节的总介绍,内容明显多了很多(为了做作业我还要赶进度的说),主要说了:类和对象是本章的主角,然后还有很多配角,像数据成 ...
- 获取平台所有接口的IP和MAC地址
我们有时候会有获取网口的IP和MAC地址的需求.可以通过ioctl来获取. #include <sys/ioctl.h>#include <net/if.h>#include ...
- 命令行解析getopt_long
getopt_long函数可以轻松的解析main函数的命令行参数. int getopt_long(int argc,char * const argv[],const char *optstring ...
- java(2014版)连接数据库的工具类
package util; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; ...
- non-manifold Mesh(非流形网格)
三角网格曲面中,大多的算法基于流形网格manifold mesh,其定义如下: 1)Each edge is incident to only one or two faces: 一条网格边为一个或两 ...