在公司随便找3台测试机搭个MHA,下面这个问题折腾了三天,之前没遇到过,查了OS版本发现一致,可能是不同人弄的OS吧,知道是cpan的问题就是搞不定,郁闷。。。 [root@test247 ~]# masterha_check_repl --conf=/etc/masterha/app1.cnf Wed Dec 4 11:53:59 2019 - [warning] Global configuration file /etc/masterha_default.cnf not found. Skipping. Wed Dec 4 11:53:59 2019 - [info] Reading application default configuration from /etc/masterha/app1.cnf.. Wed Dec 4 11:53:59 2019 - [info] Reading server configuration from /etc/masterha/app1.cnf.. Wed Dec 4 11:53:59 2019 - [info] MHA::MasterMonitor version 0.56. Wed Dec 4 11:54:00 2019 - [error][/usr/share/perl5/vendor_perl/MHA/ServerManager.pm, ln301] install_driver(mysql) failed: Attempt to reload DBD/mysql.pm aborted. Compilation failed in require at (eval 26) line 3.
at /usr/share/perl5/vendor_perl/MHA/DBHelper.pm line 205 at /usr/share/perl5/vendor_perl/MHA/Server.pm line 166 Wed Dec 4 11:54:00 2019 - [error][/usr/share/perl5/vendor_perl/MHA/ServerManager.pm, ln301] install_driver(mysql) failed: Attempt to reload DBD/mysql.pm aborted. Compilation failed in require at (eval 26) line 3.
at /usr/share/perl5/vendor_perl/MHA/DBHelper.pm line 205 at /usr/share/perl5/vendor_perl/MHA/Server.pm line 166 Wed Dec 4 11:54:00 2019 - [error][/usr/share/perl5/vendor_perl/MHA/ServerManager.pm, ln301] install_driver(mysql) failed: Attempt to reload DBD/mysql.pm aborted. Compilation failed in require at (eval 26) line 3.
at /usr/share/perl5/vendor_perl/MHA/DBHelper.pm line 205 at /usr/share/perl5/vendor_perl/MHA/Server.pm line 166 Wed Dec 4 11:54:01 2019 - [error][/usr/share/perl5/vendor_perl/MHA/ServerManager.pm, ln309] Got fatal error, stopping operations Wed Dec 4 11:54:01 2019 - [error][/usr/share/perl5/vendor_perl/MHA/MasterMonitor.pm, ln424] Error happened on checking configurations. at /usr/share/perl5/vendor_perl/MHA/MasterMonitor.pm line 326 Wed Dec 4 11:54:01 2019 - [error][/usr/share/perl5/vendor_perl/MHA/MasterMonitor.pm, ln523] Error happened on monitoring servers. Wed Dec 4 11:54:01 2019 - [info] Got exit code 1 (Not master dead).
MySQL Replication Health is NOT OK!
参考下面帖子发现结果还有异常 https://www.cnblogs.com/fangyuan303687320/p/9475279.html
yum install -y cpan cpan -D DBI # [yes---sudo] --上面这不执行了好几分钟,输入了很多次yes cpan DBD::mysql 还是出现下面的异常
--异常 DVEEDEN/DBD-mysql-4.050.tar.gz /usr/bin/make -- OK Running make test PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/00base.t .............................. 1/6 # Failed test 'use DBD::mysql;' # at t/00base.t line 15. # Tried to use 'DBD::mysql'. # Error: Can't load '/root/.cpan/build/DBD-mysql-4.050-d0WgOf/blib/arch/auto/DBD/mysql/mysql.so' for module DBD::mysql: libmysqlclient.so.20: cannot open shared object file: No such file or directory at /usr/lib64/perl5/DynaLoader.pm line 200. # at t/00base.t line 15 # Compilation failed in require at t/00base.t line 15. # BEGIN failed--compilation aborted at t/00base.t line 15. Bailout called. Further testing stopped: Unable to load DBD::mysql FAILED--Further testing stopped: Unable to load DBD::mysql make: *** [test_dynamic] Error 255 DVEEDEN/DBD-mysql-4.050.tar.gz /usr/bin/make test -- NOT OK //hint// to see the cpan-testers results for installing this module, try: reports DVEEDEN/DBD-mysql-4.050.tar.gz Running make install make test had returned bad status, won't install without force
最后发现需要先执行下这个才可以,需要回答几次yes [root@test247 ~]# cpan cpan[1]> force install GD ... Files found in blib/arch: installing files in blib/lib into architecture dependent library tree Installing /usr/local/lib64/perl5/auto/GD/GD.so Installing /usr/local/lib64/perl5/auto/GD/GD.bs Installing /usr/local/lib64/perl5/GD.pm Installing /usr/local/lib64/perl5/auto/GD/autosplit.ix Installing /usr/local/lib64/perl5/GD/Polygon.pm Installing /usr/local/lib64/perl5/GD/Simple.pm Installing /usr/local/lib64/perl5/GD/Group.pm Installing /usr/local/lib64/perl5/GD/Image.pm Installing /usr/local/lib64/perl5/GD/Polyline.pm Installing /usr/local/share/man/man1/bdf2gdfont.pl.1 Installing /usr/local/share/man/man3/GD.3pm Installing /usr/local/share/man/man3/GD::Polygon.3pm Installing /usr/local/share/man/man3/GD::Group.3pm Installing /usr/local/share/man/man3/GD::Simple.3pm Installing /usr/local/share/man/man3/GD::Polyline.3pm Installing /usr/local/share/man/man3/GD::Image.3pm Installing /usr/local/bin/bdf2gdfont.pl Appending installation info to /usr/lib64/perl5/perllocal.pod RURBAN/GD-2.71.tar.gz /usr/bin/make install -- OK
cpan[2]> exit
[root@test247 ~]# cpan DBD::mysql CPAN: Storable loaded ok (v2.20) Going to read '/root/.cpan/Metadata' Database was generated on Wed, 04 Dec 2019 02:29:02 GMT Running install for module 'DBD::mysql' CPAN: YAML loaded ok (v0.70) Running make for D/DV/DVEEDEN/DBD-mysql-4.050.tar.gz CPAN: Digest::SHA loaded ok (v5.47) Checksum for /root/.cpan/sources/authors/id/D/DV/DVEEDEN/DBD-mysql-4.050.tar.gz ok ... For 'make test' to run properly, you must ensure that the database user 'root' can connect to your MySQL server and has the proper privileges that these tests require such as 'drop table', 'create table', 'drop procedure', 'create procedure' as well as others.
mysql> grant all privileges on test.* to 'root'@'localhost' identified by 's3kr1t';
You can also optionally set the user to run 'make test' with:
perl Makefile.PL --testuser=username ... Prepending /root/.cpan/build/DBD-mysql-4.050-LtZCXU/blib/arch /root/.cpan/build/DBD-mysql-4.050-LtZCXU/blib/lib to PERL5LIB for 'install' Files found in blib/arch: installing files in blib/lib into architecture dependent library tree Installing /usr/local/lib64/perl5/auto/DBD/mysql/mysql.so Installing /usr/local/lib64/perl5/auto/DBD/mysql/mysql.bs Installing /usr/local/lib64/perl5/Bundle/DBD/mysql.pm Installing /usr/local/lib64/perl5/DBD/mysql.pm Installing /usr/local/lib64/perl5/DBD/mysql/GetInfo.pm Installing /usr/local/lib64/perl5/DBD/mysql/INSTALL.pod Installing /usr/local/share/man/man3/DBD::mysql.3pm Installing /usr/local/share/man/man3/Bundle::DBD::mysql.3pm Installing /usr/local/share/man/man3/DBD::mysql::INSTALL.3pm Appending installation info to /usr/lib64/perl5/perllocal.pod DVEEDEN/DBD-mysql-4.050.tar.gz /usr/bin/make install -- OK [root@test247 ~]#
再运行OK了 [root@test247 ~]# masterha_check_repl --conf=/etc/masterha/app1.cnf Wed Dec 4 12:20:09 2019 - [warning] Global configuration file /etc/masterha_default.cnf not found. Skipping. Wed Dec 4 12:20:09 2019 - [info] Reading application default configuration from /etc/masterha/app1.cnf.. Wed Dec 4 12:20:09 2019 - [info] Reading server configuration from /etc/masterha/app1.cnf.. Wed Dec 4 12:20:09 2019 - [info] MHA::MasterMonitor version 0.56. Wed Dec 4 12:20:10 2019 - [info] GTID failover mode = 0 Wed Dec 4 12:20:10 2019 - [info] Dead Servers: Wed Dec 4 12:20:10 2019 - [info] Alive Servers: Wed Dec 4 12:20:10 2019 - [info] 192.168.5.247(192.168.5.247:3306) Wed Dec 4 12:20:10 2019 - [info] 192.168.5.93(192.168.5.93:3306) Wed Dec 4 12:20:10 2019 - [info] 192.168.5.94(192.168.5.94:3306) Wed Dec 4 12:20:10 2019 - [info] Alive Slaves: Wed Dec 4 12:20:10 2019 - [info] 192.168.5.93(192.168.5.93:3306) Version=5.7.21-log (oldest major version between slaves) log-bin:enabled Wed Dec 4 12:20:10 2019 - [info] Replicating from 192.168.5.247(192.168.5.247:3306) Wed Dec 4 12:20:10 2019 - [info] Primary candidate for the new Master (candidate_master is set) Wed Dec 4 12:20:10 2019 - [info] 192.168.5.94(192.168.5.94:3306) Version=5.7.21-log (oldest major version between slaves) log-bin:enabled Wed Dec 4 12:20:10 2019 - [info] Replicating from 192.168.5.247(192.168.5.247:3306) Wed Dec 4 12:20:10 2019 - [info] Current Alive Master: 192.168.5.247(192.168.5.247:3306) Wed Dec 4 12:20:10 2019 - [info] Checking slave configurations.. Wed Dec 4 12:20:10 2019 - [info] Checking replication filtering settings.. Wed Dec 4 12:20:10 2019 - [info] binlog_do_db= , binlog_ignore_db= Wed Dec 4 12:20:10 2019 - [info] Replication filtering check ok. Wed Dec 4 12:20:10 2019 - [info] GTID (with auto-pos) is not supported Wed Dec 4 12:20:10 2019 - [info] Starting SSH connection tests.. Wed Dec 4 12:20:12 2019 - [info] All SSH connection tests passed successfully. Wed Dec 4 12:20:12 2019 - [info] Checking MHA Node version.. Wed Dec 4 12:20:13 2019 - [info] Version check ok. Wed Dec 4 12:20:13 2019 - [info] Checking SSH publickey authentication settings on the current master.. Wed Dec 4 12:20:13 2019 - [info] HealthCheck: SSH to 192.168.5.247 is reachable. Wed Dec 4 12:20:13 2019 - [info] Master MHA Node version is 0.56. Wed Dec 4 12:20:13 2019 - [info] Checking recovery script configurations on 192.168.5.247(192.168.5.247:3306).. Wed Dec 4 12:20:13 2019 - [info] Executing command: save_binary_logs --command=test --start_pos=4 --binlog_dir=/data/mysql/logs/bin-log --output_file=/tmp/save_binary_logs_test --manager_version=0.56 --start_file=mysql-bin.000008 Wed Dec 4 12:20:13 2019 - [info] Connecting to [email protected](192.168.5.247:22).. Creating /tmp if not exists.. ok. Checking output directory is accessible or not.. ok. Binlog found at /data/mysql/logs/bin-log, up to mysql-bin.000008 Wed Dec 4 12:20:13 2019 - [info] Binlog setting check done. Wed Dec 4 12:20:13 2019 - [info] Checking SSH publickey authentication and checking recovery script configurations on all alive slave servers.. Wed Dec 4 12:20:13 2019 - [info] Executing command : apply_diff_relay_logs --command=test --slave_user='monitor' --slave_host=192.168.5.93 --slave_ip=192.168.5.93 --slave_port=3306 --workdir=/tmp --target_version=5.7.21-log --manager_version=0.56 --relay_log_info=/data/mysql/relay-log.info --relay_dir=/data/mysql/data/ --slave_pass=xxx Wed Dec 4 12:20:13 2019 - [info] Connecting to [email protected](192.168.5.93:22).. Checking slave recovery environment settings.. Opening /data/mysql/relay-log.info ... ok. Relay log found at /data/mysql/logs/relay-log, up to relay-bin.000015 Temporary relay log file is /data/mysql/logs/relay-log/relay-bin.000015 Testing mysql connection and privileges..mysql: [Warning] Using a password on the command line interface can be insecure. done. Testing mysqlbinlog output.. done. Cleaning up test file(s).. done. Wed Dec 4 12:20:13 2019 - [info] Executing command : apply_diff_relay_logs --command=test --slave_user='monitor' --slave_host=192.168.5.94 --slave_ip=192.168.5.94 --slave_port=3306 --workdir=/tmp --target_version=5.7.21-log --manager_version=0.56 --relay_log_info=/data/mysql/relay-log.info --relay_dir=/data/mysql/data/ --slave_pass=xxx Wed Dec 4 12:20:13 2019 - [info] Connecting to [email protected](192.168.5.94:22).. Checking slave recovery environment settings.. Opening /data/mysql/relay-log.info ... ok. Relay log found at /data/mysql/logs/relay-log, up to relay-bin.000015 Temporary relay log file is /data/mysql/logs/relay-log/relay-bin.000015 Testing mysql connection and privileges..mysql: [Warning] Using a password on the command line interface can be insecure. done. Testing mysqlbinlog output.. done. Cleaning up test file(s).. done. Wed Dec 4 12:20:14 2019 - [info] Slaves settings check done. Wed Dec 4 12:20:14 2019 - [info] 192.168.5.247(192.168.5.247:3306) (current master) +--192.168.5.93(192.168.5.93:3306) +--192.168.5.94(192.168.5.94:3306)
Wed Dec 4 12:20:14 2019 - [info] Checking replication health on 192.168.5.93.. Wed Dec 4 12:20:14 2019 - [info] ok. Wed Dec 4 12:20:14 2019 - [info] Checking replication health on 192.168.5.94.. Wed Dec 4 12:20:14 2019 - [info] ok. Wed Dec 4 12:20:14 2019 - [info] Checking master_ip_failover_script status: Wed Dec 4 12:20:14 2019 - [info] /usr/local/bin/master_ip_failover --command=status --ssh_user=root --orig_master_host=192.168.5.247 --orig_master_ip=192.168.5.247 --orig_master_port=3306 Wed Dec 4 12:20:14 2019 - [info] OK. Wed Dec 4 12:20:14 2019 - [warning] shutdown_script is not defined. Wed Dec 4 12:20:14 2019 - [info] Got exit code 0 (Not master dead).
MySQL Replication Health is OK. [root@test247 ~]#
|
请发表评论