在某些软件集群的安装中(如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
2、cdh6-本地yum源
http://123.123.123.123/cdh6/6.1.0
局域网中其他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服务。