在某些软件集群的安装中(如CDH,以下构建均以此为例),由于qiang的原因、或本地不能访问外网等,可能无法通yum方式在线安装,这时候非常有必要在本地配置一个yum源,集群中server通过这个局域网的yum仓库在(ftp,http,nfs等方式)本地方便、快速的安装应用。

查看Linux发行版本

EL7中提供了一个全新的命令 hostnamectl,不仅可以用来设置hostname,还可以查看操作系统版本及Linux内核信息。

Static hostname: server123-123-123-123
 Icon name: computer-server
 Chassis: server
 Machine ID: 12397a552e114af1a25d53f71f1074d8
 Boot ID: 1ab4f29ac57148bbb602fb05398ac3c7
 Operating System: CentOS Linux 7 (Core)
 CPE OS Name: cpe:/o:centos:centos:7
 Kernel: Linux 3.10.0-957.1.3.el7.x86_64
 Architecture: x86-64

安装Apache httpd WEB服务器

使用apache http服务,可以很方便的将应用资源以http形式对外提供,首先安装一个httpd服务

yum install httpd
systemctl start httpd
systemctl enable httpd #将httpd服务加入开机启动列表里

systemctl stop firewalld #关闭防火墙
systemctl disable firewalld #禁用防火墙

创建yum本地源rpm包,加快cdh构建流程

①、安装createrepo软件:

yum -y install createrepo

②、创建httpd文件服务目录

如同nginx的www目录,应用文件存放在httpd的 /var/www/html 目录下。

cd /var/www/html
mkdir -p cm6/6.1.0
mkdir -p cdh6/6.1.0

③、拷贝cm6 与 cdh6 安装文件到2个目录中,分别rpm格式或parcel格式

④、创建rpm、parcel本地资源库
执行如下指令:

createrepo /var/www/html/cm6/6.1.0
createrepo /var/www/html/cdhm6/6.1.0

如下所示,命令将生成repodata目录,用于记录本地资源库信息。

├── cdh6
│   ├── 6.1.0
│   │   ├── CDH-6.1.0-1.cdh6.1.0.p0.770702-el7.parcel
│   │   ├── CDH-6.1.0-1.cdh6.1.0.p0.770702-el7.parcel.sha
│   │   └── manifest.json
│   └── repodata
│       ├── 01a3b489a465bcac22a43492163df43451dc6ce47d27f66de289756b91635523-filelists.sqlite.bz2
│       ├── 401dc19bda88c82c403423fb835844d64345f7e95f5b9835888189c03834cc93-filelists.xml.gz
│       ├── 5dc1e6e73c84803f059bb3065e684e56adfc289a7e398946574d79dac6643945-primary.sqlite.bz2
│       ├── 6bf9672d0862e8ef8b8ff05a2fd0208a922b1f5978e6589d87944c88259cb670-other.xml.gz
│       ├── 7c36572015e075add2b38b900837bcdbb8a504130ddff49b2351a7fc0affa3d4-other.sqlite.bz2
│       ├── dabe2ce5481d23de1f4f52bdcfee0f9af98316c9e0de2ce8123adeefa0dd08b9-primary.xml.gz
│       └── repomd.xml
└── cm6
    ├── 6.1.0
    │   ├── allkeys.asc
    │   ├── cloudera-manager-agent-6.1.0-769885.el7.x86_64.rpm
    │   ├── cloudera-manager-daemons-6.1.0-769885.el7.x86_64.rpm
    │   ├── cloudera-manager-server-6.1.0-769885.el7.x86_64.rpm
    │   ├── cloudera-manager-server-db-2-6.1.0-769885.el7.x86_64.rpm
    │   └── oracle-j2sdk1.8-1.8.0+update141-1.x86_64.rpm
    └── repodata
        ├── 831ed8971fca542f1e7cfe842b2acbf3b52eb10b2ac652be711135cd4570cb97-filelists.sqlite.bz2
        ├── 99e3a454d6c9b656ece478ad7363e1bd9128bbde2ea9408be4420f85eff2c6e7-filelists.xml.gz
        ├── a945ba03234ae7ca8d7da56dc7fb850b73bdb277ebab9a9affa35ef8f655ec3f-primary.sqlite.bz2
        ├── ba9fe2bbada7d093aadb32e7e98fd01d8532964ad741ebbe70d3a7d2276efffb-primary.xml.gz
        ├── c0080f0d05c00f6e570f4f573b074357b9c5466a0806d9d24f5e5eeee8ca03fc-other.sqlite.bz2
        ├── d6fb7d4eadceb526692efb1b15eaa7fee9568fd664c3af1058fac806dace49ea-other.xml.gz
        └── repomd.xml

⑤、创建yum本地资源库配置文件

yum本地源文件一般放置于/etc/yum.repos.d/下

cd /etc/yum.repos.d/
 ll
 -rw-r–r--. 1 root root 1664 11月 23 21:16 CentOS-Base.repo
 -rw-r–r--. 1 root root 1309 11月 23 21:16 CentOS-CR.repo
 -rw-r–r--. 1 root root 649 11月 23 21:16 CentOS-Debuginfo.repo
 -rw-r–r--. 1 root root 314 11月 23 21:16 CentOS-fasttrack.repo
 -rw-r–r--. 1 root root 630 11月 23 21:16 CentOS-Media.repo
 -rw-r–r--. 1 root root 1331 11月 23 21:16 CentOS-Sources.repo
 -rw-r–r--. 1 root root 5701 11月 23 21:16 CentOS-Vault.repo
 -rw-r–r-- 1 root root 96 1月 27 16:50 cloudera-local.repo
 -rw-r–r-- 1 root root 67 1月 27 17:31 cloudera-manager.repo
 -rw-r–r--. 1 root root 951 10月 3 2017 epel.repo
 -rw-r–r--. 1 root root 1050 10月 3 2017 epel-testing.repo
 -rw-r–r--. 1 root root 401 11月 2 2014 zabbix.repo

新建
cloudera-local.repo 文件,根据资源路径进行编写:

[cloudera-manager]
 name=cloudera-manager
 baseurl=http://123.123.123.123/cm6
 enabled=1
 gpgcheck = 0

⑥、更新安装源
A). 清空缓存

yum clean all
 Repository cloudera-manager is listed more than once in the configuration
 正在清理软件源: base cloudera-manager epel extras updates zabbix zabbix-non-supported
 Cleaning up list of fastest mirrors

B). 重新建立缓存

yum makecache
 已加载插件:fastestmirror, langpacks
 Repository cloudera-manager is listed more than once in the configuration
 Determining fastest mirrors
 epel/x86_64/metalink | 6.8 kB 00:00:00
 base: mirrors.aliyun.com epel: mirrors.tuna.tsinghua.edu.cn extras: ftp.sjtu.edu.cn updates: mirrors.aliyun.com base | 3.6 kB 00:00:00
 cloudera-manager
 元数据缓存已建立

C). 查看yum源

yum repolist
 源标识 源名称 状态
 base/7/x86_64 CentOS-7 - Base 10,019
 cloudera-manager cloudera-manager

D). 查找软件包

yum search 软件包

⑦、使用yum本地源

yum install 软件包
 yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server

浏览器里访问CM6 / CDH6软件集

1、cm6-本地yum源

http://123.123.123.123/cm6/6.1.0

Centos7最新yum源仓库_Centos7最新yum源仓库


2、cdh6-本地yum源

http://123.123.123.123/cdh6/6.1.0

Centos7最新yum源仓库_xml_02

局域网中其他server使用该yum本地源

如果集群中其他server,如cloudera-scm-agent 也需要在本地进行安装,只需将xxx.repo文件拷贝至其对应目录中,并刷新软件缓存,即可。

scp /etc/yum.repos.d/cloudera-local.repo ${TARGET_SERVER_IP}:/etc/yum.repos.d

备注:
我这边安装的cdh6是通过yum本地域在server节点上分发安装的,并未显示通过yum在agent上安装cloudera-manager-agent服务。