阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

搭建MHA时 yum 安装perl模块提示 baseurl 错误

206次阅读
没有评论

共计 1977 个字符,预计需要花费 5 分钟才能阅读完成。

今天在搭建 MySQL MHA  安装 MHA node 所需的 perl 模块(DBD:mysql)时遇到了一个小的错误,如果思路不对的话,还是产生不少麻烦。

现梳理记录下来。

问题现象

执行的命令 

yum install perl-DBD-MySQL -y

报错信息如下:

搭建 MHA 时 yum 安装 perl 模块提示 baseurl 错误

可以看出错误的关键字为:Cannot find a valid baseurl for repo: base/7/x86_64。

这个问题 说明url 无效。

分析处理

在这个错误提示中其实有显示 url 的数据,我们可以从错误信息中的二、三两行来定位。数据如下:

Could not retrieve mirrorlist http://mirrorlist.CentOS.org/?release=7&arch=x86_64&repo=os&infra=stock error was
14: curl#6 – “Could not resolve host: mirrorlist.centos.org; Unknown error”

判读是否有效,我们可以首先看是否可以 ping 通。

执行命令:

ping mirrorlist.centos.org

搭建 MHA 时 yum 安装 perl 模块提示 baseurl 错误

发现此时是 ping 不通的,说明确实有问题。但此时尚不可以判断是源主机(网址)不存在或非法,也有一种可能,就是本地请求没有成功发出去。

怎么验证呢?其实很简单,我们只要 Ping 下百度就可以了。

执行命令

ping www.baidu.com

搭建 MHA 时 yum 安装 perl 模块提示 baseurl 错误

从以上截图中可以看出百度也 ping 不通,此时说明不是 url 的问题。问题在于我们 request 请求,根本就没有发送出到 host 主机。

所以,问题很可能在我们本机的网络设置。但是考虑到,本机已成功分配到 IP 地址,ip addr 显示正常,可以在局域网内互联。

此时感觉很是奇怪。

忽然想到,可能是 DNS 的问题。

安装本机时同事使用的老的装机模板,所以 DNS 参数没有及时更新。

问题基本定位到了,下一步修改。

马上进入 /etc/sysconfig/network-scripts 目录,修改文件 ifcfg-ens32 中的 DNS1 参数。

修改 DNS1 配置后,记得 一定要重启 network 服务,否则无效。

执行重启的命令如下:

service network restart

结果验证

此时  ping 百度正常

搭建 MHA 时 yum 安装 perl 模块提示 baseurl 错误

ping 安装程序的 url 正常

搭建 MHA 时 yum 安装 perl 模块提示 baseurl 错误

再次安装 perl 模块(DBD:mysql),成功执行

搭建 MHA 时 yum 安装 perl 模块提示 baseurl 错误

搭建 MHA 时 yum 安装 perl 模块提示 baseurl 错误

以上问题已经解决。我们继续安装,还会碰到一个相关问题,在此一并描述。

成功安装 perl 模块后,当我们在所有的节点执行安装 mha node 时报错。(在 /data/mha/mha4mysql-node-0.57 文档下执行  perl Makefile.PL)

Can’t locate ExtUtils/MakeMaker.pm in @INC (@INC contains: inc /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 inc/Module/Install/Makefile.pm line 4.
BEGIN failed–compilation aborted at inc/Module/Install/Makefile.pm line 4.
Compilation failed in require at inc/Module/Install.pm line 307.
Can’t locate ExtUtils/MakeMaker.pm in @INC (@INC contains: inc /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 inc/Module/Install/Can.pm line 5.
BEGIN failed–compilation aborted at inc/Module/Install/Can.pm line 5.
Compilation failed in require at inc/Module/Install.pm line 307.

搭建 MHA 时 yum 安装 perl 模块提示 baseurl 错误

解决此问题的方案为:安装 perl-devel 和 perl-CPAN。需要分别执行以下命令:

yum -y install perl-devel

yum install perl-CPAN

然后再次执行  perl Makefile.PL,问题解决。

搭建 MHA 时 yum 安装 perl 模块提示 baseurl 错误

后记

这只是个小问题,没有太大的科技含量。我们在 yum 安装模块时,经常会遇到各种各样的坑。总结下,记于此,更多的是经常提醒自己,怎么处理问题。如果能对初学者有所裨益,那是更好。

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计1977字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中