hadoop2.2.0集群配置 - RedHat 使用CentOS的yum源
要玩转Redhat、CentOS,就得先学会yum的配置,学会了yum的配置,使用linux进行hadoop、tair、tfs的配置就事半功倍。我在此处绕过很多弯,栽过跟头,所以把过程和经验教训记下来,总结巩固一下自己这方面的能力。也可以给需要玩linux的朋友一些参考。
此文很多内容是网上查到的,我只是在此基础上,提供一些个人看法很经验。
配置环境:
我的测试环境是: Redhat 5.6 x86_64 系统
一、确认RedHat的版本和系统位数
由于Redhat 有5.x的版本和6.x的版本,所以CentOS也有与之对应的版本,如果是Redhat 5.x,就要用CentOS5.x的源,如果是Redhat 6.x,就要用CentOS6.x的源。而且系统还分32位和64位,如果版本错了,前期工作就都白费了。所以,就要先看看版本。使用以下两个方法
查看系统版本:cat /etc/redhat-release
参考系统位数:uname -m ,如果是x86_64就是64位系统
二、删除redhat原有的yum源
删除yum源命令:
rpm -aq | grep yum| xargs rpm -e --nodeps
删除完成执行yum就会提示找不到文件或者文件夹
三 . 下载yum安装包
以root用户进入到/opt目录,执行下载命令。
大家一定要看清楚红色部分,是最有可能改变的,比如5.10,如果出了5.11,那么这个地方就要随之改变。还有就是
yum-metadata-parser-1.1.2-3.el5.centos.i386.rpm中红色的部分,由于软件更新, 这个版本也会改变。如果在下载过程出现错误,提示找不到文件或者ftp错误等等,就应该手动到
http://mirrors.163.com/centos/5.10/os/i386/CentOS/目录中通过yum-metadata-parser这个软件名称去查找,然后将最新的下载到本机。不要局限与我提供的URL地址。
32位系统:
wget http://mirrors.163.com/centos/5.10/os/i386/CentOS/yum-metadata-parser-1.1.2-3.el5.centos.i386.rpm
wget http://mirrors.163.com/centos/5.10/os/i386/CentOS/yum-3.2.22-39.el5.centos.noarch.rpm
wget http://mirrors.163.com/centos/5.10/os/i386/CentOS/yum-fastestmirror-1.1.16-21.el5.centos.noarch.rpm
64位系统:
wget http://mirrors.163.com/centos/5.10/os/x86_64/CentOS/yum-metadata-parser-1.1.2-4.el5.x86_64.rpm
wget http://mirrors.163.com/centos/5.10/os/x86_64/CentOS/yum-3.2.22-40.el5.centos.noarch.rpm
wget http://mirrors.163.com/centos/5.10/os/x86_64/CentOS/yum-fastestmirror-1.1.16-21.el5.centos.noarch.rpm
另外:如果还报错,看看是不是还依赖python-iniparse-0.2.3-4.el5.noarch.rpm,用python-iniparse去目录找个最新的安装,但我的系统里已安装了,是系统默认Python2.4中自带的。如果你的系统没有安装,请安装吧。
四、 安装yum安装包
以root用户在rpm文件所在目录执行以下命令:
先安装metadata:
rpm -ivh yum-metadata-parser-1.1.2-4.el5.x86_64.rpm
再同时安装yum和fastestmirror,因为这两个包相互依赖:
rpm -ivh yum-3.2.22-40.el5.centos.noarch.rpm yum-fastestmirror-1.1.16-21.el5.centos.noarch.rpm
如果类似以下显示就说明安装成功了。
如果安装过程中提示
warning: python-iniparse-0.2.3-6.el5.noarch.rpm: Header V3 DSA signature: NO,
请安装python-iniparse-0.2.3-6.el5.noarch.rpm,如果安装后还是异常报错,就可能是需要删除原来的yum源,执行本文的第二项,再重新安装。
如果安装过程出现提示安装警告,没有KEY文件,请先执行第八项,先下载更新效验文件:
[root@hadoop3 opt]# rpm -ivh yum-metadata-parser-1.1.2-4.el5.x86_64.rpm
warning: yum-metadata-parser-1.1.2-4.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID e8562897
五、 . 清理、更新yum
安装结束就可以进行清理和更新,
清理命令:
yum clean all
更新缓存命令:
yum makecache
六、. 备份删除原RedHat的repo源文件
进入/etc/yum.repos.d/ 目录,备份原RedHat的repo文件,(移除目录下所有文件)
[root@hadoop2 yum.repos.d]# cd /etc/yum.repos.d/
[root@hadoop2 yum.repos.d]# ls
rhel-debuginfo.repo rhel-source.repo
[root@hadoop2 yum.repos.d]# mv /etc/yum.repos.d/*.repo /home/back
[root@hadoop2 yum.repos.d]# ls
[root@hadoop2 yum.repos.d]#
七、. 下载CentOS的repo源文件并修改
网易repo源(优先考虑):http://mirrors.163.com/.help/CentOS-Base-163.repo
搜狐repo源: http://mirrors.sohu.com/help/CentOS-Base-sohu.repo
(1)下载源
如果服务器不能上网,可以手动下载下面的源文件到本机再上传到服务器。如果可以上网,可以直接用以下命令在/etc/yum.repos.d/ 目录获取,
下载命令:wget http://mirrors.163.com/.help/CentOS-Base-163.repo
(2)改名
下载完成后,需要通过命令“mv CentOS-Base-163.repo CentOS-Base.repo”将文件名称改为:CentOS-Base.repo
(3) 替换CentOS-Base.repo文件中版本名称(非常重要)
因为CentOS升级后,都会将源迁移到最高版本中,比如我们用的Redhat5.6,如果不替换,到时就会到CentOS的5.6目录中找,由于最高版本是5.10,所有源都移动到5.10目录了,到时候更新源就会找不到,我也是在这个地方迷糊了很久。
编辑命令: vim CentOS-Base.repo
替换命令:按住shift 再按 冒号 ‘:’键,然后一起松开,在冒号后输入
%s/$releasever/5.10/g
按回车完成。再按住shift 再输入wq,退出编辑模式。
下载命令
wget http://mirrors.163.com/.help/CentOS-Base-163.repo
或者
wget http://mirrors.sohu.com/help/CentOS-Base-sohu.repo
备注:如果是CentOS6.x的版本,请删除或者屏蔽addons这个插件的内容。
八、. 下载CentOS的效验文件
如果你的系统是Redhat5.x版本就用RPM-GPG-KEY-CentOS-5 ,
如果是Redhat6.x就用RPM-GPG-KEY-CentOS-6的
首先进入效验文件目录:
cd /etc/pki/rpm-gpg
然后执行获取命令
wget http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
最后进行更新,通常更新这一步先不做,因为更新数据比较大(本人需要更新800M的内容)
执行引入:
rpm --import /etc/pki/rpm-gpg/RPM*
执行更新:
yum update
常见错误:
(1)YumRepo Error: All mirror URLs are not using ftp, http[s] or file:
错误原因:
1.有可能是防火墙阻碍了出网http请求或是ftp请求,请检查网关防火墙。
以root用户登录,执行: service iptables stop
2.有可能是dns不对,无法正常解析,换成8.8.4.4 或者 8.8.8.8
以root用户登录,修改 vim /etc/resolv.conf
[root@hadoop1 hadoop-2.2.0]# vim /etc/resolv.conf
nameserver 8.8.4.4
nameserver 8.8.8.8
nameserver 202.106.196.115
3.系统取不到Release号
以root用户执行:lsb_release -a 命令查看版本信息,如果版本信息不全就会出现问题,请按本文第四项repo文件下载修改的第3小节进行修改
4. 网络不通
请ping 一下网络延迟,本人就是网络环境太差才导致错误的