CDH的镜像我们这里以5.0.5为例,从镜像或者说安装包的角度看,一共有3部分,
- cm5, 包括了clouder manager agnet以及daemon 甚至java在内的程序
- cdh5, 里面主要包括了支持的各种组件,比如zk的rpm等
- parcels,这个就是把cdh5里面的小的包包进行了大的组合,这样,拷贝和分发更容易了。
本片文章主要解决的问题是,在安装cdh的时候,由于本身cdh会对/etc/yum.repos.d下面写入cloudera-manager.repo,但是里面的地址是国外的,非常慢哦,而且还是https的,我们看看该如何搞定。
搞定CM5的镜像站点文件
- 在本地同步远端站点文件
yum install yum-utils
将如下的repo放到一台centos 6机器里面
[cloudera-manager]
name = Cloudera Manager, Version 5.5.0
baseurl = https://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.5.0/
gpgkey = https://archive.cloudera.com/redhat/cdh/RPM-GPG-KEY-cloudera
gpgcheck = 1
在任何文件夹,我们可以使用
reposync -r cloudera-manager我们就会得到我们想要的文件,而且进行了目录编排,这个稍后我们会进行调整。
假设我们有个目录/data/mirror,那么我们就可以
cd /data/mirror && mkdir -p cm5/redhat/6/x86_64/cm/5.5.0/
有了上面的文件就好多了,我们可以把之前下载的东西放到我们的上面的目录下面
cd 已经下载的文件夹
find . -name *.rpm | xargs -i mv {} /data/mirror/cm5/redhat/6/x86_64/cm/5.5.0/
有了rpm,我们就要创建repo文件夹了,
cd /data/mirror/cm5/redhat/6/x86_64/cm/5.5.0/
createrepo .
这样我们的站点目录文件就准备好了。
对了,别忘了还有一个gpgcheck也要一起下载下来。
- 创建站点
我们需要https
# 生成私钥
openssl genrsa -des3 -out private.key 2048
# 生成证书请求
openssl req -new -key private.key -out server.csr
# 生成服务器私钥,去掉密码
openssl rsa -in private.key -out server.key
# 使用私钥为证书请求签名,生成服务器签署的证书,
openssl x509 -req -in server.csr -out server.crt -outform pem -signkey server.key -days 3650
nginx配置如下:
server {
listen 443 ssl;
server_name archive.cloudera.com;
#设置长连接
keepalive_timeout 70;
ssl_certificate /etc/nginx/ssl.archive.cloudera.com/server.crt;
ssl_certificate_key /etc/nginx/ssl.archive.cloudera.com/server.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#ssl_ciphers HIGH:!aNULL:!MD5;
location / {
root /data/mirror/;
autoindex on;
}
}
- 客户端测试
yum --disablerepo=* --enablerepo=cloudera-manager makecache
看看如下的图片:
上图说明我们的CERT是无效的,其实这个地方只要我们在/etc/yum.conf中加入
sslverify=0
就可以了,看看:
搞定DNS
这个地方我们就要试试dnsmasq了
- 首先,搭建一个服务
yum install -y dnsmasq
配置文件中,我们需要指定一个
addn-hosts=/etc/hosts2
看看这个文件里面有啥,
192.168.126.102 hadoop-master.ops.ac.cn hadoop-master
192.168.126.103 hadoop-node-1.ops.ac.cn hadoop-node-1
192.168.126.101 hadoop-node-2.ops.ac.cn hadoop-node-2
192.168.3.228 archive.cloudera.com
- DNS测试
客户端的东西就不用说了吧,我们只需要/etc/resolv.conf里面修改dns地址就好了,如下
server 192.168.3.228
测试