一:主机准备[1]
所有主机共同需要配置:
- 防火墙关闭和禁止自启动。
- 主机名ip地址映射准备。
- oracle jdk1.8u31以上的安装,安装位置为/usr/java。
- ssh密钥生成,和免密登录配置。
- 关闭selinux。
- 配置ntp机群时间同步。
cloudera Manager主机最小配置要求
分区要求
- /usr 1g以上。
- /opt 15g以上(具体到多少看机群数量和公司需求)。
- /var 5g以上 (具体到多少看机群数量和公司需求)。
- 至少给metadata数据库分5g以上的空间。
Agent Host主机最小配置要求
- /var 2g 以上。
- /opt 15g 以上。
运行hue的主机必须是python2.7,不支持其他版本,包括python3。centos7自带就是py2.7。
二:CM的安装。
机群角色说明
hadoop102 hadoop103 hadoop104
192.168.208.102 192.168.208.103 192.168.208.104
CM和Agent Agent Agent
所以先操作CM节点,也就是hadoop102节点(都用root用户就是的了)
1:文件下载
Index of cm6/6.3.0/redhat7/yum/RPMS/x86_64/archive.cloudera.com上面这个目录链接里的全部下下来。如果已经装好了java可以不下java。
https://archive.cloudera.com/cm6/6.3.0/allkeys.ascarchive.cloudera.com上面这个链接的也下载下来。
以上所有资料全部上传到hadoop102里的/opt/upload/cloudera-repos
Index of cdh6/6.3.0/parcels/archive.cloudera.com![002bb8a5-a830-eb11-8da9-e4434bdf6706.png](http://p05.5ceimg.com/content/002bb8a5-a830-eb11-8da9-e4434bdf6706.png)
2:搞一个本地yum源
yum -y install httpd createrepo
systemctl start httpd
systemctl enable httpd
cd /opt/upload/cloudera-repos
createrepo .
mv /opt/upload/cloudera-repos /var/www/html/
![012bb8a5-a830-eb11-8da9-e4434bdf6706.png](http://p05.5ceimg.com/content/012bb8a5-a830-eb11-8da9-e4434bdf6706.png)
cd /etc/yum.repos.d
vi cloudera-manager.repo
输入以下内容
[cloudera-manager]
name=Cloudera Manager 6.3.0
baseurl=http://(这里就是上面那个图对应的地址,主机地址+/cloudera-repos)
gpgcheck=0
enabled=1
退出并保存
yum cleanall && yum makecache
3:在cm节点上安装cm
yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server
4:配置本地parcel源
cd /opt/cloudera/parcel-repo
将第一步准备好的CDH-6.3.0***.parcel和mainfest.json文件上传上来
sha1sum CDH-6.3.0***.parcel | awk '{ print $1 }' > CDH-6.3.0****.parcel.sha
注意啊上面我用星号只是缩写,重定向后的parcel后缀名加个sha就可以了。
chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo/*
最后 ll 看下
![022bb8a5-a830-eb11-8da9-e4434bdf6706.png](http://p01.5ceimg.com/content/022bb8a5-a830-eb11-8da9-e4434bdf6706.png)
5:搞好数据库
先去安装好 https://zhuanlan.zhihu.com/p/79613218
到maven仓库里搜下mysql-connector-java-5.1.47.jar,下载。
上传到服务器
mkdir /usr/share/java
cp (jar包地址 ) /usr/share/java/mysql-connector-java.jar
![042bb8a5-a830-eb11-8da9-e4434bdf6706.png](http://p04.5ceimg.com/content/042bb8a5-a830-eb11-8da9-e4434bdf6706.png)
分别对创建图上数据库,和用户
以第一个为例
CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
set global validate_password_policy=0;
GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY '11111111';
上面三句sql意思是创建了scm数据库,降低了密码限制,创建了scm用户,密码为11111111,并有权利读写scm数据库。
嗯接下来就是重复上面三句话,按照图中给出的提示。
使得mysql对接cm
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm
这句话是mysql数据库和cm是同一台主主机(因为机群数量足够,建议mysql单独部署一台机器)
所以不同的主机命令为
/opt/cloudera/cm/schema/scm_preparedatabase.sh mysql -h <mysq-host_ip> <cm-server-ip> scm scm
6:启动cm,通过cm去依次在agent节点安装cdh
systemctl start cloudera-scm-server
tail -F /var/log/cloudera-scm-server/cloudera-scm-server.log
当有 Started Jetty server 日志时,代表启动成功。
用浏览器访问 cm主机地址:7180
用户名 admin ,密码 admin
之后就纯粹傻瓜式了,记得选择本地yum和parcel源。
三:总结
cdh文档丰富,参考价值高,值得多读。
对于原生大数据平台好用太多,且免费版功能已经完全能够满足企业基本需求,节点现在已经不受限制了,随便搞多大都行。
参考
- ^主机准备简明文档 https://zhuanlan.zhihu.com/p/79167483