问题描述:安装mysql mha执行masterha_check_ssh时报错Can't locate Class,如下所示:
系统:rhel 7.9 64位
mha安装包:mha4mysql-node-0.58.tar.gz、mha4mysql-manager-0.58.tar.gz
数据库:mysql 5.7.21
1、问题重现
[root@mha-manager masterha]# masterha_check_ssh -conf=/etc/masterha/app1.cnf
Can't locate Class/Load.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /usr/share/perl5/vendor_perl/Log/Dispatch.pm line 12.
BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/Log/Dispatch.pm line 12.
Compilation failed in require at /usr/local/share/perl5/MHA/SSHCheck.pm line 29.
BEGIN failed--compilation aborted at /usr/local/share/perl5/MHA/SSHCheck.pm line 29.
Compilation failed in require at /usr/local/bin/masterha_check_ssh line 25.
BEGIN failed--compilation aborted at /usr/local/bin/masterha_check_ssh line 25.

2、异常原因
[root@mha-manager ~]# rpm -ivh perl-Log-Dispatch-2.41-1.el7.1.noarch.rpm --force --nodeps

说明:此前在安装perl-Log-Dispatch包时使用强制安装,因为该包存在较多依赖包,如下所示:
[root@mha-manager ~]# rpm -ivh perl-Log-Dispatch-2.41-1.el7.1.noarch.rpm 
warning: perl-Log-Dispatch-2.41-1.el7.1.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
error: Failed dependencies:
        perl(Class::Load) is needed by perl-Log-Dispatch-2.41-1.el7.1.noarch
        perl(MIME::Lite) is needed by perl-Log-Dispatch-2.41-1.el7.1.noarch
        perl(Mail::Send) is needed by perl-Log-Dispatch-2.41-1.el7.1.noarch
        perl(Mail::Sender) is needed by perl-Log-Dispatch-2.41-1.el7.1.noarch
        perl(Mail::Sendmail) is needed by perl-Log-Dispatch-2.41-1.el7.1.noarch
        perl(Params::Validate) is needed by perl-Log-Dispatch-2.41-1.el7.1.noarch
        perl(Params::Validate) >= 0.15 is needed by perl-Log-Dispatch-2.41-1.el7.1.noarch
        perl(Sys::Syslog) >= 0.25 is needed by perl-Log-Dispatch-2.41-1.el7.1.noarch
		
3、解决方案
--卸载perl-Log-Dispatch
[root@mha-manager masterha]# rpm -qa perl-Log-Dispatch
perl-Log-Dispatch-2.41-1.el7.1.noarch
[root@mha-manager masterha]# rpm -e perl-Log-Dispatch

--上传如下依赖包
sftp> lcd F:\package\mha-pack
sftp> put perl-Email-Date-Format-1.002-15.el7.noarch.rpm
sftp> put perl-Mail-Sender-0.8.23-1.el7.noarch.rpm
sftp> put perl-MIME-Types-1.38-2.el7.noarch.rpm
sftp> put perl-MIME-Lite-3.030-1.el7.noarch.rpm
sftp> put perl-Sys-Syslog-0.33-3.el7.x86_64.rpm
sftp> put perl-Params-Validate-1.08-4.el7.x86_64.rpm
sftp> put perl-Mail-Sendmail-0.79-21.el7.noarch.rpm
sftp> put perl-MailTools-2.12-2.el7.noarch.rpm
sftp> put perl-Parallel-ForkManager-1.18-2.el7.noarch.rpm
sftp> put perl-Log-Dispatch-2.41-1.el7.1.noarch.rpm

--安装依赖包
[root@mha-manager ~]# rpm -ivh perl-Email-Date-Format-1.002-15.el7.noarch.rpm
[root@mha-manager ~]# rpm -ivh perl-Mail-Sender-0.8.23-1.el7.noarch.rpm 
[root@mha-manager ~]# rpm -ivh perl-MIME-Types-1.38-2.el7.noarch.rpm
[root@mha-manager ~]# rpm -ivh perl-MIME-Lite-3.030-1.el7.noarch.rpm
[root@mha-manager ~]# rpm -ivh perl-Sys-Syslog-0.33-3.el7.x86_64.rpm 
[root@mha-manager ~]# rpm -ivh perl-Params-Validate-1.08-4.el7.x86_64.rpm 
[root@mha-manager ~]# rpm -ivh perl-Mail-Sendmail-0.79-21.el7.noarch.rpm
[root@mha-manager ~]# rpm -ivh perl-MailTools-2.12-2.el7.noarch.rpm
[root@mha-manager ~]# rpm -ivh perl-Parallel-ForkManager-1.18-2.el7.noarch.rpm
[root@mha-manager ~]# rpm -ivh perl-Log-Dispatch-2.41-1.el7.1.noarch.rpm

备注:此前系统已安装如下依赖包.
[root@mha-manager yum.repos.d]# rpm -qa perl-Config-Tiny
perl-Config-Tiny-2.14-7.el7.noarch
[root@mha-manager yum.repos.d]# rpm -qa perl-IO-Socket-SSL
perl-IO-Socket-SSL-1.94-7.el7.noarch
[root@mha-manager yum.repos.d]# rpm -qa perl-TimeDate
perl-TimeDate-2.30-2.el7.noarch
[root@mha-manager yum.repos.d]# rpm -qa perl-Net-SMTP-SSL
perl-Net-SMTP-SSL-1.01-13.el7.noarch
[root@mha-manager ~]# rpm -qa perl-Class-Load
perl-Class-Load-0.20-3.el7.noarch

4、验证
--安装好perl-Log-Dispatch依赖包后,masterha_check_ssh成功执行.
[root@mha-manager ~]# masterha_check_ssh -conf=/etc/masterha/app1.cnf
Sun Jun 30 10:38:20 2024 - [warning] Global configuration file /etc/masterha_default.cnf not found. Skipping.
Sun Jun 30 10:38:20 2024 - [info] Reading application default configuration from /etc/masterha/app1.cnf..
Sun Jun 30 10:38:20 2024 - [info] Reading server configuration from /etc/masterha/app1.cnf..
Sun Jun 30 10:38:20 2024 - [info] Starting SSH connection tests..
Sun Jun 30 10:38:21 2024 - [debug] 
Sun Jun 30 10:38:20 2024 - [debug]  Connecting via SSH from root@192.168.133.70(192.168.133.70:22) to root@192.168.133.71(192.168.133.71:22)..
Sun Jun 30 10:38:20 2024 - [debug]   ok.
Sun Jun 30 10:38:20 2024 - [debug]  Connecting via SSH from root@192.168.133.70(192.168.133.70:22) to root@192.168.133.72(192.168.133.72:22)..
Sun Jun 30 10:38:21 2024 - [debug]   ok.
Sun Jun 30 10:38:22 2024 - [debug] 
Sun Jun 30 10:38:21 2024 - [debug]  Connecting via SSH from root@192.168.133.71(192.168.133.71:22) to root@192.168.133.70(192.168.133.70:22)..
Sun Jun 30 10:38:21 2024 - [debug]   ok.
Sun Jun 30 10:38:21 2024 - [debug]  Connecting via SSH from root@192.168.133.71(192.168.133.71:22) to root@192.168.133.72(192.168.133.72:22)..
Sun Jun 30 10:38:21 2024 - [debug]   ok.
Sun Jun 30 10:38:23 2024 - [debug] 
Sun Jun 30 10:38:21 2024 - [debug]  Connecting via SSH from root@192.168.133.72(192.168.133.72:22) to root@192.168.133.70(192.168.133.70:22)..
Sun Jun 30 10:38:21 2024 - [debug]   ok.
Sun Jun 30 10:38:21 2024 - [debug]  Connecting via SSH from root@192.168.133.72(192.168.133.72:22) to root@192.168.133.71(192.168.133.71:22)..
Sun Jun 30 10:38:22 2024 - [debug]   ok.
Sun Jun 30 10:38:23 2024 - [info] All SSH connection tests passed successfully.

参考网址:
https://ftp.sjtu.edu.cn/fedora/epel/7/aarch64/Packages/p/
https://blog.csdn.net/qq_37139220/article/details/99936697