zoukankan      html  css  js  c++  java
  • 搭建MHA时 yum 安装perl模块提示 baseurl 错误

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

    现梳理记录下来。

    问题现象

    执行的命令 

    yum install perl-DBD-MySQL -y

    报错信息如下:

    可以看出错误的关键字为 :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

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

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

    执行命令

    ping www.baidu.com

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

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

    此时感觉很是奇怪。

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

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

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

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

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

    执行重启的命令如下: 

    service network restart

    结果验证

    此时  ping 百度正常

    ping 安装程序的url正常

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

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

    成功安装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.

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

    yum -y install perl-devel

    yum install perl-CPAN

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

    后记

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

  • 相关阅读:
    vue-hbuilder打包-调取摄像头或上传图片
    vue使用websoket(非封装)
    vue项目hbuilder打包-微信登录调取手机微信登录权限
    登录信息localStorage存储
    vue的三种组件传值方式
    vue-axios设置公共的请求ip
    hive基本配置
    The server time zone value 'EDT' is unrecognized or represents more than one time zone.
    hive启动时 java.net.ConnectException:拒绝连接
    FAILED: HiveException java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.me
  • 原文地址:https://www.cnblogs.com/xuliuzai/p/9726339.html
Copyright © 2011-2022 走看看