背景介绍:

1CDH开发平台在搭建的过程中,会遇到各种各样的问题,其中的各种依赖就是一个很让人头痛的问题。如果安装脚本文件出现了这种问题,那么就可以把以下的这种方法加入shell中,但是不要用yum来安装,因为yum安装需要网络,有的应用场景是离线的,所以我们采用离线安装,下一个Yum包所需要的离线包以及依赖。

2CDH开发平台如果遇到网卡不能重启,就重启整个机器

3重启整个云主机完后启动CDH前,不要忘了先启动Ntp和Mysql服务,不然你连CDH怎么挂的都不知道

注:本文也是参考了其他大牛,作为本人在搭建过程中遇到的问题,如何解决的方法介绍

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

解决办法是,下载所有所需的rpm包和它的依赖,拷贝到目标安装机器上,然后搭建一个本地yum仓库,安装完成之后删除本地仓库。

反向代理所需:  nginx  keepalived

搭建仓库所需:  createrepo

一、新建一台CentOS7 mini虚拟机,联网下载所有所需的rpm包和其依赖

#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命令

将目标机器系统自带的仓库文件,转移备份

# mkdir /etc/yum.repos.d/backup

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

# yum clean all

安装搭建仓库所需的的软件包,主包为createrepo,请按如下顺序安装:

#运行以下命令

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个命令

继续执行以下命令:

# 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 在上面已安装,下面无需再装。

# yum -y install nginx  keepalived

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

# 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

盖木欧瓦~

CDH平台搭建解决离线安装依赖包的方法的更多相关文章

  1. Windows设置国内源阿里云镜像加速与离线安装pip包的方法

    Windows设置国内源阿里云镜像加速1.先在 windows “文件资源管理器” 地址栏 输入 %APPDATA% 按回车,打开程序自定义设置文件夹然后,创建名为 pip 的文件夹,用于存放 pip ...

  2. 5.Python安装依赖(包)模块方法介绍

    1.前提条件 1). 确保已经安装需要的Python版本 2). 确保已经将Python的目录加入到环境变量中 2. Python安装包的几种常用方式 1). pip安装方式(正常在线安装) 2). ...

  3. pip离线安装依赖包

    pip安装离线本地包 导出本地已有的依赖包 pip freeze > requirements.txt 将依赖包下载到本地 # 下载到当前目录,指定pip源 pip download -r re ...

  4. Python离线安装依赖包

    1.制作requirement.txt pip freeze > requirement.txt 2.下载离线Pytho安装包 pip download -r requirement.txt - ...

  5. centos7离线安装rpm包自动解决依赖

    离线安装rpm包自动解决依赖参照https://blog.csdn.net/u011396718/article/details/80153515当生产环境由于安全原因处于断网状态的时候.通过本地源的 ...

  6. 离线下载解决Nuget程序包及其依赖包的方法

    由于使用的一台电脑没有联网,但是需要asp.net core项目时使用到一个package,于是在nuget.org上手动下载.但是最后发现,依赖的包实在太多,手动下载太费时.于是晚上花时间研究了一下 ...

  7. centos 7 无网络情况下,解决yum 安装依赖rpm包

    方法一:在一台有网络的机器,用yum下载好所需程序,传到另外一台网络的机器上安装 yum install xtrabackup --downloadonly --downloaddir=/rpmpat ...

  8. Centos7.5安装分布式Hadoop2.6.0+Hbase+Hive(CDH5.14.2离线安装tar包)

    Tags: Hadoop Centos7.5安装分布式Hadoop2.6.0+Hbase+Hive(CDH5.14.2离线安装tar包) Centos7.5安装分布式Hadoop2.6.0+Hbase ...

  9. git克隆项目到本地&&全局安装依赖项目&&安装依赖包&&启动服务

     一.安装本地开发环境 1.安装本项目 在需要保存到本地的项目的文件夹,进入到文件夹里点击右键,bash here,出现下图: 2.安装依赖项目  3.安装依赖包(进入到命令行) # 安装依赖包 $ ...

随机推荐

  1. 作用域变量 var

    var没有块级作用域,定义后在当前闭包中都可以访问,如果变量名重复,就会覆盖前面定义的变量,并且也有可能被其他人更改. 变量名重复,就会覆盖前面定义的变量,并且也有可能被其他人更改: console. ...

  2. 给Java新手的一些建议----Java知识点归纳(J2EE and Web 部分)

    J2EE(Java2 Enterprise Edition) 刚出现时一般会用于开发企业内部的应用系统,特别是web应用,所以渐渐,有些人就会把J2EE和web模式画上了等号.但是其实 J2EE 里面 ...

  3. django搭建一个小型的服务器运维网站-查看和修改服务器配置与数据库的路由

    目录 项目介绍和源码: 拿来即用的bootstrap模板: 服务器SSH服务配置与python中paramiko的使用: 用户登陆与session; 最简单的实践之修改服务器时间: 查看和修改服务器配 ...

  4. ESP8266-12F 中断

    外部中断: 基于ESP8266的NodeMcu的数字IO的中断功能是通过attachInterrupt,detachInterrupt函数所支持的.除了D0/GPIO16,中断可以绑定到任意GPIO的 ...

  5. Quartz常规操作

    原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11899532.html Project Directory Maven Dependency < ...

  6. C#(.net)实现用apache activemq传递SQLite的数据

    版权声明:本文为搜集借鉴各类文章的原创文章,转载请注明出处:http://www.cnblogs.com/2186009311CFF/p/6382623.html. C#(.net)实现用apache ...

  7. django快速搭建blog

    python版本:3.5.4: Django版本:2.0 创建项目 创建mysite项目和 blog应用: django-admin startproject mysite # 创建mysite项目 ...

  8. PHP上传一个文件夹

    该项目核心就是文件分块上传.前后端要高度配合,需要双方约定好一些数据,才能完成大文件分块,我们在项目中要重点解决的以下问题. * 如何分片: * 如何合成一个文件: * 中断了从哪个分片开始. 如何分 ...

  9. tapmode="hover"属性

    .hover{ opacity: .; } <span tapmode="hover" onclick="fnOpen()">open</sp ...

  10. scanf() 与 gets()--转载

    scanf( )函数和gets( )函数都可用于输入字符串,但在功能上有区别.若想从键盘上输入字符串"hi hello",则应该使用__gets__函数. gets可以接收空格:而 ...