概述
博主我学的一直都是Apache的开源技术搭建的大数据平台,集群节点多了,搭建过程有多繁琐谁搭谁知道!所以最近在玩用cloudera manager搭建大数据平台,听说搭建过程很方便。周末开始动手了!可是也是让我气爆了!我家10M的网速,光安装cloudera manager(用的在线安装的方式,其他当时暂时没试)就用了两天!两天啊!都是一种煎熬。然后呢,在添加主机的时候cloudera manager又要主机联网安装软件,我了个Fuck!实在受不了了!就在想能不能把cloudera repository那些软件包下载下来放到一台主机上作为局域网内所有cloudera集群的本地源,cloudera 集群所需的cloudera相关的软件包就从本地源下载,不是的就从其他软件源下载。
书归正传:先上架构图
咱们在主机m上架一个cloudera官方的镜像站点,这样可以设置局域网其他主机去cloudera官方Repository下载软件包时去找我们的主机m上的镜像站点。说白了就是欺骗局域网内想要去cloudera Repository下载软件包的主机去咱们自己架的镜像站点下载软件包,咱们不过提前把软件包都下载好了,其他主机就不用浪费网络资源再去重复下载了!
Setup1 : 在主机m上克隆cloudera Repository((http://archive.cloudera.com/cdh5/))
①安装apt-miiror工具
sudo apt-get install apt-mirror
②在apt-mirror的配置文件/etc/apt/mirror.list中设置要克隆Repository的相关信息
set base_path
/data/spool/apt-mirror
--设置镜像存放的目录(这个目录是自行创建指定的,没有
就自己找个目录放进去,注意该目录的磁盘空间不能太小)
set nthreads
20
--设置最多用多少线程同时下载
set _tilde 0
############# end config ##############
deb http://archive.cloudera.com/cdh5/ubuntu/trusty/amd64/cdh trusty-cdh5.11 contrib
deb-src http://archive.cloudera.com/cdh5/ubuntu/trusty/amd64/cdh trusty-cdh5.11 contrib
deb http://archive.cloudera.com/cm5/ubuntu/trusty/amd64/cm trusty-cm5.11 contrib
deb-src http://archive.cloudera.com/cm5/ubuntu/trusty/amd64/cm trusty-cm5.11 contrib
clean http://archive.cloudera.com/ubuntu
#########关键点(葵花妈妈课题开课了,最好搬上小板凳注意听讲,此处非常重要!!!是非常)####
##PS:还是上其他人的博客链接吧(http://blog.sina.com.cn/s/blog_406127500101dfv1.html)
③执行apt-mirror命令开始克隆Repository
sudo apt-mirror
④克隆下来的Repository目录结构(注意下图中目录的存放路径)与/etc/apt/mirror.list中设置的cloudera Repository官网上的目录结构和文件进行对比(我这里在/etc/apt/mirro.list设置了只下载我需要的软件版本,有其他需求的可参考http://blog.sina.com.cn/s/blog_406127500101dfv1.html这个博客中的apt解析原则)
无法查看官方Repository的全部目录结构。同学们可自行对比验证!
Setup2 :在主机m上安装Apache2
①安装Apache2
sudo apt-get install apach2
②在/var/www/html中建立软连接指向咱们镜像Repository存放的路径
sudo ln -s /data/spool/apt-mirror/mirror/archive.cloudera.com/cdh5/ /varrwww/html/cdh5
sudo ln -s /data/spool/apt-mirror/mirror/archive.cloudera.com/cm5/ /varrwww/html/cm5
③开启Apache2服务端的ssl模块功能
原因是cloudera manager在添加主机时分发给主机的脚本中包含源配置文件(路径在/etc/apt/source.list.d/中名为cloudera-cdh5.list和cloudera-cm5.list),该源配置文件使用的是https,所以咱们的镜像站点也要开启ssl(模仿就模仿的逼真点).
这里还是参考他人的博客文章,之所以自己没写步骤,是我也暂时没搞懂原理,只是参照这些博客内容实现了效果!
Ubuntu下为Apache简单配置SSL的方法(HTTPS的实现)
Ubuntu下APACHE HTTPS安装和配置
Apache 配置支持HTTPS的SSL证书
④重启Apache2
sudo service apache2 restart
⑤在局域网内带桌面的机器上用浏览器验证是否开启了ssl(在浏览器中可以很方便地安装咱们镜像站点的证书)
⑥在s1,s2.s3(无图形化界面的)主机上添加我们的镜像站点的证书
将上一步生成的证书考到我们的s1,s2.s3主机上(我生成的证书在主机m上/etc/ssl/certs/server.crt)/usr/share/ca-certificates路径下
for i in {s1,s2,s3} do scp /etc/ssl/certs/server.crt $i:/usr/share/ca-certificates;done
在主机s1,s2.s3 上分别执行
sudo dpkg-reconfigure ca-certificates
选择”Yes”,我们能看到待安装的CA证书已经被扫描到了,选中它(点空格键)然后选”OK”就行了。 同时可参考这篇博客文章SSL:Ubuntu证书配置
Setup3 : 开始欺骗cloudera源的设置了
①在主机s1,s2.s3 上配置/etc/hosts
192.168.3.3(主机m的IP地址。就是咱么镜像站点的IP地址)
archive.cloudera.com
②还记开启Apache2服务端的ssl模块功能的原因吗?不记得往上翻!
在/etc/apt/路径下配置source.list设置其他软件包的源为阿里的Repository,而/etc/apt/sourc.list.d/下的cloudera-cdh5.list和cloudera-cm5.list,则在cloudera manage添加主机时自动分发到主机上,下图可一窥全貌:
最后在主机s1,s2,s3上更新源
sudo apt-get update
凡是涉及cloudera Repository中的软件包秒更,秒下!
但是中的但是,还是有点小不爽,就是安装cloudera Repository中的软件包时 有依赖的其他包,这些包还是得从网上下,还是要网络!我在想我要不要把阿里的Repository也克隆下来!但是有博客说上面的软件多达70G啊。纠结!
这是我写的第一篇博客,文字组织太乱,错误不少,欢迎大家留言指出!同时, 有问题也可以QQ交流1797389088。对了,文章参考其他博主的博客如果需要标注什么的,留言告知我一下,我会及时进行修改!博客小白,欢迎大家交流!
最后
以上就是整齐鲜花为你收集整理的Ubuntu下搭建局域网内Cloudera Repository镜像站点的全部内容,希望文章能够帮你解决Ubuntu下搭建局域网内Cloudera Repository镜像站点所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复