搭建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安装模块时,经常会遇到各种各样的坑。总结下,记于此,更多的是经常提醒自己,怎么处理问题。如果能对初学者有所裨益,那是更好。
搭建MHA时 yum 安装perl模块提示 baseurl 错误的更多相关文章
- Linux上安装Perl模块的两种方法
Linux/Unix下安装Perl模块有两种方法:手工安装和自动安装.第一种方法是从CPAN上下载 您需要的模块,手工编译.安装.第二种方法是联上internet,使用一个叫做CPAN的模块自动完 ...
- Win8.1无法安装更新,提示0x800*****错误的解决方法
Win8.1无法安装更新,提示0x800*****错误的解决方法 注:本教程同样适用于Win10系统 有时候Win8.1某个系统文件的损坏会导致无法安装Windows更新,表现为Windows更新 ...
- linux 查看是否安装perl模块
这里介绍两种linux中查看perl模块是否安装的方法,一种是对于单体的模块,一种是对于群体的. 单体验证: [root@root ~]# perl -MShell -e "print\&q ...
- Linux系统非root用户安装perl模块
非root权限安装perl 在使用Linux或是unix时,perl是一个非常有用的脚本的语言. 关于perl的模块安装,网上也有很多介绍,一方面可以通过不同套件自带的软件安装工具安装,一方面可以通过 ...
- perl 简单学习,安装perl模块
检查是否安装了某个perl模块 有多种方式 0.perldoc perlinstall 列出所有的模块及版本号 1. perl -M模块名 -e 1(模块名不加空格) 没有返回值则说明有此模块 2.p ...
- linux安装perl模块
查询perl CPAN模块 shell>perl -MCPAN -e shell cpan>install module_name 手动安装perl CPAN模块 从 CPAN(h ...
- Redhat 安装perl模块
CPAN上下载要安装的模块 解压 gzip -d DBD-mysql-4.006.tar.gz tar xvf DBD-mysql-4.006.tar 然后进入DBD-mysql-4.006目录,执行 ...
- 安装cuda8.0时无法安装.net Framework 4.0 错误的解决
作者:朱金灿 来源:http://blog.csdn.net/clever101 在win7 64位旗舰版(带sp1)上安装cuda时到安装Microsoft.NET Framework4.0,一直停 ...
- centos环境下使用CPAN安装perl模块
首先安装CPAN yum install perl-CPAN 进入cpan环境 perl -MCPAN -e shell 安装模块(以Tk为例) cpan>install Tk 退出 cpan& ...
随机推荐
- [Swift]LeetCode955. 删列造序 II | Delete Columns to Make Sorted II
We are given an array A of N lowercase letter strings, all of the same length. Now, we may choose an ...
- python-os模块使用
1.合并路径 os.path.join("c:\\music\\ap\\0","mav.mp3") 'c:\\music\\ap\\0\\mav.mp3' 2. ...
- 受到 1 万点暴击,二狗子被 DDoS 攻击的惨痛经历
二狗子的遭遇 “好消息,好消息,免费 DDoS 攻击软件上线了,性感黑客在线攻击,帮您攻克所有商业难题.”二狗子不知道在看着什么网站,新买的 Mac 中发出热闹的声音. 二狗子想知道“DDoS 是什么 ...
- C#版 - Leetcode 215. Kth Largest Element in an Array-题解
版权声明: 本文为博主Bravo Yeung(知乎UserName同名)的原创文章,欲转载请先私信获博主允许,转载时请附上网址 http://blog.csdn.net/lzuacm. C#版 - L ...
- Asp.Net Core中利用Seq组件展示结构化日志功能
在一次.Net Core小项目的开发中,掌握的不够深入,对日志记录并没有好好利用,以至于一出现异常问题,都得跑动服务器上查看,那时一度怀疑自己肯定没学好,不然这一块日志不可能需要自己扒服务器日志来查看 ...
- java~spring-ioc的使用
spring-ioc的使用 IOC容器在很多框架里都在使用,而在spring里它被应用的最大广泛,在框架层面 上,很多功能都使用了ioc技术,下面我们看一下ioc的使用方法. 把服务注册到ioc容器 ...
- Shell从入门到精通进阶之三:表达式与运算符
3.1 条件表达式 表达式 示例 [ expression ] [ 1 -eq 1 ] ` expression ` ` 1 -eq 1 ` test expression test 1 -eq 1 ...
- Spring源码情操陶冶-tx:advice解析器
承接Spring源码情操陶冶-自定义节点的解析.本节关于事务进行简单的解析 spring配置文件样例 简单的事务配置,对save/delete开头的方法加事务,get/find开头的设置为不加事务只读 ...
- rand函数
srand()用来初始化随机数种子,rand()用来产生随机数 srand(time()); while(t--){ printf("-> %d %d\n",rand(),r ...
- Docker搭建MongoDB
1. Docker搭建Mongodb 1.1 获取docker镜像 docker pull mongo 1.2 创建mongodb容器 docker run --name my-mongo -p 27 ...