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 ...
随机推荐
- Python【基础第二篇】
元组 元组的元素不可修改 元组的元素的元素可修改 字典 Python主文件判断 name == main python中一切事物都是对象 对象是基于类创建的 对象具有的所有功能都是从类里找的 int内 ...
- NServiceBus-日志
默认的日志 NServiceBus一些有限,固执己见,内置的日志记录. 默认的日��行为如下: 控制台 所有 Info(及以上)消息将被输送到当前的控制台. 错误将会写 ConsoleColor.Re ...
- [转]float,double和decimal类型
float:浮点型,含字节数为4,32bit,数值范围为-3.4E38~3.4E38(7个有效位) double:双精度实型,含字节数为8,64bit数值范围-1.7E308~1.7E308(15个有 ...
- svn's tree conflict
[svn's tree conflict] A tree conflict occurs when a developer moved/renamed/deleted a file or folder ...
- LightOJ 1259 Goldbach`s Conjecture (哥德巴赫猜想 + 素数筛选法)
http://lightoj.com/volume_showproblem.php?problem=1259 题目大意:给你一个数n,这个数能分成两个素数a.b,n = a + b且a<=b,问 ...
- NSString 截取字符串
NSString字符串常用方法2010-09-06 14:18/******************************************************************** ...
- CodeForces 709A Juicer (水题, 模拟)
题意:给定 n 个桔子的大小,一个杯子的容积,一个最大限度,挨着挤桔子汁,如果大小大于限度,扔掉,如果不杯子满了倒掉,问你要倒掉多少杯. 析:直接按要求模拟就好,满了就清空杯子. 代码如下: #pra ...
- How Tomcat Works(三)
上文中描述的简单的服务器是不符合Servlet规范的,所以本文进一步描述一个简单的Servlet容器是怎么实现的 所以我们首先要明白Servlet接口规范,规范有不同版本,本人就先一视同仁了: pub ...
- 通过set和waitOne来控制子线程的运行和停止
public partial class Form1 : Form { //自动重置事件类 //主要用到其两个方法 WaitOne() 和 Set() , 前者阻塞当前线程,后者通知阻塞线程继续往下执 ...
- RecyclerView 下拉刷新上拉加载
步骤: 首先直接定义一个XRecyclerView继承RecyclerView,重写他的三个构造方法. init(Context mContext)方法用来初始化底部加载的view 回到XRecycl ...