解决CDH平台搭建时离线安装依赖包的方法

背景介绍:

1、CDH开发平台在搭建的过程中,会遇到各种各样的问题,其中的各种依赖就是一个很让人头痛的问题。如果安装脚本文件出现了这种问题,那么就可以把以下的这种方法加入shell中,但是不要用yum来安装,因为yum安装需要网络,有的应用场景是离线的,所以我们采用离线安装,下一个Yum包所需要的离线包以及依赖。
2、CDH开发平台如果遇到网卡不能重启,就重启整个机器
3、重启整个云主机完后启动CDH前,不要忘了先启动Ntp和Mysql服务,不然你连CDH怎么挂的都不知道
注:本文也是参考了其他大牛,作为本人在搭建过程中遇到的问题,如何解决的方法介绍**

【yum】解决离线安装依赖包的方法**

解决办法: 下载所有所需的rpm包和它的依赖,拷贝到目标安装机器上,然后搭建一个本地yum仓库,安装完成之后删除本地仓库。
反向代理所需: nginx keepalived
搭建仓库所需: createrepo
一、新建一台CentOS7 mini虚拟机,联网下载所有所需的rpm包和其依赖

1
2
3
4
5
6
7
#yum -y install epel-release

#mkdir /root/abc

#yum -y install createrepo --downloadonly --downloaddir=/root/abc

#yum -y install nginx keepalived --downloadonly --downloaddir=/root/abc

注: yum -y install XXX --downloadonly --downloaddir=/XXX
安装软件包xxx下载到/xxx位置,然后记得指定–downloadonly,只下载,不安装。此方法,会将主软件包和基于你现在的操作系统缺少的依赖关系包一并下载!基于你现在的操作系统,意味着不同版本的操作系统(桌面版、mini版等)下载的软件依赖包个数会不一样!你的操作系统已装的包越多,那么下下来的依赖会越少,所以请选择合适的基操作系统!
下载完成后,我们可以看到/root/abc 下有多个rpm包(主包及其依赖),接下来我们就利用这些rpm包搭建一个本地yum仓库。

二、拷贝下载的rpm包到离线目标机器(假设为/root/abc),搭建本地yum仓库(我是使用xftp直接拖过去的)
在这里插入图片描述
自己选择一个好的方法,比较推荐scp命令。
将目标机器系统自带的仓库文件,转移备份

1
2
3
# mkdir /etc/yum.repos.d/backup
# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup
# yum clean all

安装搭建仓库所需的的软件包,主包为createrepo,请按如下顺序安装:
在这里插入图片描述

1
2
3
4
5
6
7
8
9
10
11
12
13
cd /root/abc

rpm -qa | grep libxml2 | xargs rpm -e --nodeps

rpm -qa | grep deltarpm| xargs rpm -e --nodeps

rpm -ivh deltarpm-3.6-3.el7.x86_64.rpm

rpm -ivh python-deltarpm-3.6-3.el7.x86_64.rpm

rpm -ivh libxml2-2.9.1-6.el7_2.3.x86_64.rpm

rpm -ivh libxml2-python-2.9.1-6.el7_2.3.x86_64.rpm

以上两条命令未成功,由于没有对应的.rpm文件
在这里插入图片描述
rpm -ivh createrepo-0.9.9-28.el7.noarch.rpm

在这里插入图片描述
同理,由于缺少前两条的依赖,所以需先安装前两条命令

解决方法:下载这两个文件后,再重新执行以上3个命令

继续执行以下命令:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# mkdir -p /var/ftp/pub/localrepo

# cp -f /root/abc/* /var/ftp/pub/localrepo

# touch /etc/yum.repos.d/localrepo.repo

#echo "[localrepo]" >>/etc/yum.repos.d/localrepo.repo

#echo "name=Local Repository" >>/etc/yum.repos.d/localrepo.repo

#echo "baseurl=file:///var/ftp/pub/localrepo" >>/etc/yum.repos.d/localrepo.repo

#echo "gpgcheck=0" >>/etc/yum.repos.d/localrepo.repo

#echo "enabled=1" >>/etc/yum.repos.d/localrepo.repo

#createrepo -v /var/ftp/pub/localrepo

#yum repolist

三、利用本地yum仓库,安装所需软件包

因为我们已利用我们所需的软件和其依赖包搭建了本地仓库,安装过程中yum会自己解决依赖包安装的顺序。createrepo 在上面已安装,下面无需再装。

1
# yum -y install nginx  keepalived

在这里插入图片描述

四、安装完成后,删除搭建的本地yum仓库,恢复系统yum仓库文件

1
2
3
4
5
6
7
8
9
# rm  -rf /var/ftp/pub/localrepo

# rm -rf /etc/yum.repos.d/localrepo.repo

# mv /etc/yum.repos.d/backup/*.repo /etc/yum.repos.d/

# rm -rf /etc/yum.repos.d/backup

# yum clean all

在这里插入图片描述

盖木欧瓦~

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

请我喝杯咖啡吧~

支付宝
微信