在Redhat7.4安装CDH6.0.0_beta1文档及问题总结

查看数: 33234 | 评论数: 3 | 收藏 2
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-8-6 11:48

正文摘要:

本帖最后由 sstutu 于 2018-8-6 11:55 编辑 问题导读 1.CDH6按照包含哪几部分? 2.外部数据库支持哪些数据库? 3.外部数据库支持哪些版本? 4.CDH6是否支持jdk7? 1.文档概述 CDH6与CDH5的安装步骤一致 ...

回复

美丽天空 发表于 2018-8-7 21:47:47
感谢分享
jiangzi 发表于 2018-8-7 13:22:38
还要有Oracle?
yuwenge 发表于 2018-8-6 15:20:41
问题总结
1.问题重现

Fayson在之前的文章中介绍过《如何在Redhat7.4安装CDH6.0.0_beta1》,但当安装CDH并分发Parcel时,浏览器端会报错Parcel的hash校验失败,具体错误如下图所示。
1.png

2.问题解决


1.先从CM界面点击返回
1.png

1.png
2.停止Cloudera Manager服务
[mw_shl_code=bash,true][root@ip-172-31-11-174 java]# systemctl stop cloudera-scm-server
[/mw_shl_code]

1.png
3.修改/etc/httpd/conf/httpd.conf配置文件,在<IfModule mime_module>中修改以下内容
[mw_shl_code=bash,true]AddType application/x-gzip .gz .tgz .parcel
[/mw_shl_code]

1.png

4.保存httpd.conf的修改,并重启httpd服务
[mw_shl_code=bash,true][root@ip-172-31-11-174 java]# systemctl restart httpd
[/mw_shl_code]

1.png

5.再次启动Cloudera Manager服务
[mw_shl_code=bash,true][root@ip-172-31-11-174 java]# systemctl start cloudera-scm-server
[/mw_shl_code]

1.png

6.重新通过浏览器登录Cloudera Manager,点击继续
1.png

7.节点上的Cloudera Agent已经安装成功,不需要再次安装,直接从“当前管理的主机”中选择机器,点击继续。
1.png


8.选择Parcel地址,记得删除默认的所有公网的地址。
1.png


9.这时依旧会报错如下
1.png


10.查看cloudera-scm-server.log可以看到以下错误
1.png

试了很多办法依旧无法认识Parcel。。。


3.再次解决问题
1.卸载Cloudera Manager与Agent
[mw_shl_code=bash,true][root@ip-172-31-11-174 ~]# yum -y remove 'cloudera-manager-*'
[/mw_shl_code]



1.png

2.再次安装Cloudera Manager
[mw_shl_code=bash,true][root@ip-172-31-11-174 ~]# yum -y install cloudera-manager-server
[/mw_shl_code]

1.png

3.从MySQL中drop掉CM的database,然后重建
1.png


报错是因为cm用户已经创建过了



4.配置cm连接数据库并重新启动cm

[mw_shl_code=bash,true][root@ip-172-31-11-174 ~]# /opt/cloudera/cm/schema/scm_prepare_database.sh mysql cm cm password
[root@ip-172-31-11-174 ~]# systemctl start cloudera-scm-server[/mw_shl_code]
1.png

5.再次登录Cloudera Manager并点击“添加群集”,开始按照向导安装CDH
1.png


6.点击“经典向导”
1.png


7.输入要安装的主机的ip地址。
1.png


点击搜索,然后点击继续


1.png


8.设置Parcel地址,即httpd地址
1.png


9.点击“继续”


1.png

1.png
1.png

1.png
1.png

10.再次开始分发Parcel,发现还是报错
1.png


查看agent的log如下,报错连接到CM server的guid不对,应该是之前的卸载不干净导致


1.png

11.删除cm guid文件,并重启cloudera-scm-agent
[mw_shl_code=bash,true][root@ip-172-31-11-174 lib]# cd cloudera-scm-agent/
[root@ip-172-31-11-174 cloudera-scm-agent]# ll
total 28
-rw-------. 1 root root     2 Aug  4 16:11 active_parcels.json
-rw-r--r--. 1 root root    36 Aug  4 14:58 cm_guid
-rw-------. 1 root root 13781 Aug  4 16:31 response.avro
-rw-r--r--. 1 root root    36 Aug  4 14:58 uuid
[root@ip-172-31-11-174 cloudera-scm-agent]# rm -rf cm_guid
[root@ip-172-31-11-174 cloudera-scm-agent]# systemctl restart cloudera-scm-agent[/mw_shl_code]


1.png

12.再次回到CM界面发现重新开始分发Parcel
1.png



终于分发成功。。。


4.总结

1.对于离线安装CDH6 Beta,分发Parcel出现hash校验失败的问题,是因为在CM6中修复了一个bug,让它不再忽略由http服务器发送的“Content-Encoding”的header信息,但是我们在Redhat中安装的httpd服务,当它传输parcel文件时,默认会错误的设置“Content-Encoding”。于是CM server会错误的认为parcel文件已经被httpd压缩并尝试解压缩。所以会导致失败。

2.解决办法是参考第二个章节的,设置httpd的conf文件,AddType application/x-gzip .gz .tgz .parcel,然后重启httpd服务和CM服务。

3.但是带来的另外一个问题就是CM服务不再认识CDH的parcel url地址。这个问题没办法破,可能跟CM数据库会写入parcel的url相关。或者说是Beta版本不完善的地方。

4.于是Fayson卸载了CM包括drop掉database,重新安装CM和CDH。这次CM可以认识CDH的parcel url了。但是agent无法连接到CM,因为卸载后CM的guid变了,需要删掉旧的guid文件,重新启动agent服务。然后界面上会重新开始分发parcel直到成功。具体请参考第三章。



5.CDH6 beta的安装文档详细可以参考Fayson之前的文章《如何在Redhat7.4安装CDH6.0.0_beta1》



参考:

http://community.cloudera.com/t5 ... Parcels/qaq-p/69551






关闭

推荐上一条 /2 下一条