报错如题所示,更详细的内容如下:
[root@mha-manager:~]# masterha_check_ssh --conf=/etc/masterha_application_1.cnf Mon Feb 13 09:08:26 2017 - [info] Reading default configuration from /etc/masterha_default.cnf.. Mon Feb 13 09:08:26 2017 - [info] Reading application default configuration from /etc/masterha_application_1.cnf.. Mon Feb 13 09:08:26 2017 - [info] Reading server configuration from /etc/masterha_application_1.cnf.. Mon Feb 13 09:08:26 2017 - [error][/usr/share/perl5/vendor_perl/MHA/Config.pm, ln383] Block name "_" is invalid. Block name must be "server default" or start from "server"(+ non-whitespace characters). Block name "_" is invalid. Block name must be "server default" or start from "server"(+ non-whitespace characters). at /usr/share/perl5/vendor_perl/MHA/SSHCheck.pm line 148 [root@mha-manager:~]#
可以看到:
再验证SSH等价关系的时候,MHA报错了。
造成该问题的原因是:
配置文件配置不当,缺少“[server default]”的声明。
以下,是发生问题的时候的两个配置文件的内容:
主配置文件:/etc/masterha_default.cnf
[root@mha-manager:~]# cat /etc/masterha_default.cnf [server default] user=root password=************************** ssh_user=root master_binlog_dir=/data/mysql remote_workdir=/work_dir/mha_node repl_user=repl repl_password=replqljr.123 master_ip_failover_script=/script/mha/master_ip_failover master_ip_online_change_script=/script/mha/master_ip_online_change ping_interval=1 [root@mha-manager:~]#
应用配置文件:/etc/masterha_application_1.cnf
[root@mha-manager:~]# cat /etc/masterha_application_1.cnf manager_workdir=/work_dir/mha_manager manager_log=/work_dir/mha_manager/mha_manager.log [server1] hostname=1*********************** candidate_master=1 [server2] hostname=2********************* candidate_master=1 [server3] hostname=3************************* #candidate_master=1 no_master=1 [root@mha-manager:~]#
看到问题了吗?
/etc/masterha_application_1.cnf 的配置文件,缺少[server default]
在第一行上增加一行,写上:[server default],然后,重新执行测试脚本,就没问题了。
——————————————————
Done。