Redhat7.4安装CDH6.0_beta1时分发Parcel异常分析

温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。

Fayson的github: https://github.com/fayson/cdhproject

提示:代码块部分可以左右滑动查看噢

1.问题重现


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

2.问题解决


1.先从CM界面点击返回

2.停止Cloudera Manager服务

[root@ip-172-31-11-174 java]# systemctl stop cloudera-scm-server

(可左右滑动)

3.修改/etc/httpd/conf/httpd.conf配置文件,在<IfModule mime_module>中修改以下内容

AddType application/x-gzip .gz .tgz .parcel

(可左右滑动)

4.保存httpd.conf的修改,并重启httpd服务

[root@ip-172-31-11-174 java]# systemctl restart httpd

(可左右滑动)

5.再次启动Cloudera Manager服务

[root@ip-172-31-11-174 java]# systemctl start cloudera-scm-server

(可左右滑动)

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

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

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

9.这时依旧会报错如下

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

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

3.再次解决问题


1.卸载Cloudera Manager与Agent

[root@ip-172-31-11-174 ~]# yum -y remove 'cloudera-manager-*'

(可左右滑动)

2.再次安装Cloudera Manager

[root@ip-172-31-11-174 ~]# yum -y install cloudera-manager-server

(可左右滑动)

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

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

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

[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

(可左右滑动)

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

6.点击“经典向导”

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

点击搜索,然后点击继续

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

9.点击“继续”

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

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

11.删除cm guid文件,并重启cloudera-scm-agent

[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

(可左右滑动)

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

终于分发成功。。。

13.下面的过程省略,Fayson太多安装文档供参考了,直到你看到cm主页面。

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/C6-Beta/Freeze-while-activating-the-CDH-Parcels/qaq-p/69551

提示:代码块部分可以左右滑动查看噢

为天地立心,为生民立命,为往圣继绝学,为万世开太平。 温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。

原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操

原文发布于微信公众号 - Hadoop实操(gh_c4c535955d0f)

原文发表时间:2018-08-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Hadoop实操

如何集成OpenLDAP+Sentry.docx

前面Fayson讲了如何安装OpenLDAP及CDH集群集成OpenLDAP等一系列文章,本篇文章主要介绍集成OpenLDAP后的CDH集群在启用Sentry服...

60440
来自专栏Hadoop实操

如何在CDH5.13中安装CDSW1.2

Cloudera前一段时间发布了CDH5.13版本,5.13的新功能可以参考前一篇文章《CDH5.13和CM5.13的新功能》,在CDH5.13版本以后支持CD...

50350
来自专栏Hadoop实操

如何修改CM及CDH元数据库配置

在前面Fayson介绍了《如何实现CDH元数据库MySQL的主主互备》和《如何实现CDH元数据库MySQL的高可用》,实现了MySQL的高可用后访问地址有了变化...

66950
来自专栏菩提树下的杨过

hadoop1.2.1伪分布模式配置

1、修改core-site.xml,配置hdfs 1 <configuration> 2 <property> 3 <name>fs.default...

22050
来自专栏北京马哥教育

CentOS 6.5上搭建Hadoop环境详解

本文详细记录在开发服务器CentOS 6.5上搭建Hadoop的详细过程。 ssh连接免密码配置 由于配置过程中需要频繁的进行ssh连接到开发服务器执行命令以及...

35150
来自专栏Hadoop实操

如何将Kerberos环境下CDH集群JAVA升级至JDK8

大家都知道在安装CDH时默认安装的JDK版本为jdk1.7.0_67,部分企业开发环境为JDK8版本,这个时候可能会出现在本地开发的应用在集群中无法正常运行。前...

53550
来自专栏Hadoop实操

如何修改CDH集群元数据库地址

在生产环境CDH集群中会遇到元数据库的迁移,迁移后数据库的IP地址发生变化或是元数据库做主备,在主节点挂掉后,我们需要将数据库CDH集群中的元数据库地址指向新的...

37330
来自专栏我是攻城师

Hive集成Tez让大象飞起来

39680
来自专栏Hadoop实操

CDSW1.4的新功能

20730
来自专栏Hadoop实操

如何在Kerberos环境的CDH集群外跨OS版本中在指定目录配置HDFS的Gateway节点

在前面的文章Fayson介绍了《如何在CDH集群外配置非Kerberos环境的Gateway节点》和《如何在CDH集群外配置Kerberos环境的Gateway...

22020

扫码关注云+社区

领取腾讯云代金券