MHA参数的理解简译

MHA参数的翻译,在网上找了很多,都没有具体的,只有原英文版的,自己就简单的翻译总结了一下,储备!

//MHA参数的理解简译
#by coco
#2013-10-09

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参数的理解简译)