CentOS 7离线安装CDH 5.16.1完全指南(含各种错误处理)

时间:2024-03-18 07:12:15

安装包下载

1、CM软件包下载

从http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.16.1/RPMS/x86_64/下载rpm包,如下:

其实不需要下载j2sdk的,因为cm安装过程中会自动安装的,自己下载了也没用(这个网上的一些文章说法是不正确的)。

2、cloudera-manager安装文件下载

从http://archive.cloudera.com/cm5/installer/5.16.1/下载,如下:

3、rpm仓库文件下载

从http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/下载,在最底部,如下:

4、parcel下载

从http://archive.cloudera.com/cdh5/parcels/5.16.1/下载el7版本,如下:

上传rpm以及bin文件到/soft目录(parcel、sha、manifest最后要放在/opt/cloudera/parcel-repo目录,可以一起先上传、也可以cloudera-manager安装后再上传)。如下:

 

环境准备

1、安装mysql或postgresql,创建hive/hue/amon/oozie_oozie_server用户并分配权限,最好不要使用内置数据库,不然不好管理,注意先拷贝jdbc驱动到/usr/share/java目录。

2、关闭防火墙

systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
3、关闭selinux

vim /etc/selinux/config

找到SELINUX改为: SELINUX=disabled

安装

1、Cloudera Manager RPM安装

yum localinstall --nogpgcheck *.rpm

2、cloduera manager二进制安装包安装

chmod u+x cloudera-manager-installer.bin

./cloudera-manager-installer.bin

执行安装命令,根据安装向导一路next。finish之后,相同配置下顺利安装时间在1分钟内即可完成,也可能2-3分钟,这一步基本上不会有问题。 

然后我们在web浏览器访问 http://localhost:7180/,看是否能打开页面,能打开说明没有问题了,先不要进行登录操作。

然后将parcel以及sha、manifest.json复制到/opt/cloudera/parcel-repo目录,此时可以进入CDH服务安装了。

 

卸载(可选)

有时候因为安装中断或者环境太乱需要重新搭建时,需要先卸载cloudera manger。卸载过程如下:

0、如果不是安装过程中中断,则需要先通过Cloudera Manager停止集群和Cloudera Manager服务

1、主节点卸载(单机的只要执行这个即可)。

 /usr/share/cmf/uninstall-cloudera-manager.sh

rm -rf /etc/cloudera-scm-server/db.properties # 不然重新安装会报错

有时候安装中断卸载执行该命令时会报“找不到 mojosetup/mojosetup文件”的错误,此时可通过下列方式解决:

rm -Rf /usr/share/cmf /var/lib/cloudera* /var/cache/yum/cloudera*

2、从节点停止agent

service cloudera-scm-agent stop

3、主从节点

umount /var/run/cloudera-scm-agent/process
rm -rf /usr/share/cmf /var/lib/cloudera* /var/cache/yum/x86_64/6/cloudera* /var/log/cloudera* /var/run/cloudera*  /etc/cloudera* 
4、如果要100%干净卸载,不需要再重装,还需要执行rm -rf /opt/cloudera,删除Parcles
注:如果没有通过cloudera-manager-installer.sh安装,可以参考https://blog.csdn.net/csolo/article/details/52589763、https://blog.csdn.net/weixin_39478115/article/details/78878931进行卸载。

CDH服务安装

 

Cloudera Manager Server以及Cloudera Manager Agent停止/启动/随机自动启动

FAQ

1、cloudera manager在选择服务后开始安装前,测试数据库时报“JDBC driver cannot be found. Unable to find the JDBC database jar on host”。

解决方法:jdb驱动放到/usr/share/java/目录,例如mysql-connector-java-5.1.47.jar

2、在web界面安装agent这一步,在“等待新安装的 Agent 检测信号...”这一步等待了1分钟左右,提示如下错误:

安装失败。 无法接收 Agent 发出的检测信号。

请确保主机的名称已正确配置。
请确保端口 7182 可在 Cloudera Manager Server *问(检查防火墙规则)。
请确保正在添加的主机上的端口 9000 和 9001 空闲。
检查正在添加的主机上 /var/log/cloudera-scm-agent/ 中的代理日志(某些日志可在安装详细信息中找到)。
如果在 Cloudera Manager 中启用为代理使用 TLS 加密(管理 -> 设置 -> 安全),请确保 /etc/cloudera-scm-agent/config.ini在正在添加的主机上有 use_tls=1。重启相应的代理,并单击此处的重试链接。

因为没有开启TLS,所以不是这个问题,进一步研究猜测,我安装的机器有两个ip,一个是host-only,一个是nat,使用了host-only出现这个问题,退回去调整为nat的ip后,问题解决。如不是这个原因,可参考下https://q.cnblogs.com/q/110190。

3、在安装的过程当中出现了主机运行状态不良的情况,如下: 

解决方法:find / -name cm_guid,找到这个文件,然后删除,重装即可(确实可解决,参考:http://www.bubuko.com/infodetail-2754562.html)。

4、在选择parcel的步骤,放在/opt/cloudera/parcel-repo下的CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel怎么都检测不出来,只有内置的4.7。换成5.15.2也一样。更多选项点进去目录也是正确的。

解决方法:选择使用数据包、然后下一步。因为实时下载非常慢,肯定下不去的,但是这一步好像是必要的,它会生成bt文件,如下。

然后卸载cloudera manager,重新安装(注意:不要删除/opt/cloudera目录,然后就可以了)。一开始以为manifest.json的问题,经验证不是。又以为是sha1名字没有改为sha的问题,经验证也不是该原因。还验证过是不是cloudera-manager.repo中版本号的问题,经验证,也不是(这里面的版本号就不需要修改)。

猜测会不会需要先拷贝到/opt/cloudera/parcel-repo,然后执行cloudera-manager-install.sh就没有这个问题了???

整体参考:https://blog.csdn.net/chenhai201/article/details/78856007