一、cdh支持的操作系统
cdh官方网站给出的操作系统支持情况如下
Operating System Requirements | 6.x | Cloudera Documentation
可见并不支持国产国产化操作系统,甚至连centos8目前也不支持,cdh更早的版本支持的更少
二、cdh在国产化操作系统上遇到的问题及解决方案
1、server、agent安装
问题:
openssl-devel isneeded by cloudera-manager-agent-6.3.1-1466458.el7.x86_64
需要centos7的openssl版本
解决方案:
将国产化操作系统的openssl更新成centos7的对应版本
A、 安装前保存原有系统上的 libssl.so.1.1
libcrypto.so.1.1 文件并上传centos7的libcrypto.so.1.1 libssl.so.1.1 文件到国产化操作系统
B、 rpm -Uvh openssl-libs-1.0.2k-19.el7.x86_64.rpm --nodeps –force
C、 将A步骤备份的libcrypto.so.1.1 libssl.so.1.1 文件放回原位置
注意:必须执行A步骤,因为安装完centos7的openssl后会自动卸载国产化操作系统的openssl,此时会导致操作系统的ssh功能受损,需要执行C步骤后才能正常
2、CM界面图像化安装分发问题
问题:
CM分发CDH安装包失败
解决方案:
A、安装前修改manifest.json,添加复制一份其他操作系统的配置,将操作系统标识修改为unknown,示例如下:
{
"components": [
{
"name":"kafka",
"pkg_release":"1470567",
"pkg_version":"2.2.1+cdh6.3.1",
"version":"2.2.1-cdh6.3.1"
},
{
"name":"hadoop",
"pkg_release":"1470567",
"pkg_version":"3.0.0+cdh6.3.1",
"version":"3.0.0-cdh6.3.1"
},
……
],
"hash":"9955cf590d67baa4fe7462bf319db695cae35efc",
"parcelName":"CDH-6.3.1-1.cdh6.3.1.p0.1470567-unknown.parcel",
"replaces": "IMPALA,SOLR, SPARK, KAFKA, IMPALA_KUDU, KUDU, SPARK2"
},
B、重命名下载好的安装包
CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel
-----修改为------->
CDH-6.3.1-1.cdh6.3.1.p0.1470567-unknown.parcel
原理详解:
manifest.json配置里面定义了不同操作系统对应的cdh安装包名称、校验文件。当cdh安装时,agent先判断当前操作系统是什么操作系统,然后向server发起拉取请求,拉取对应的parcel安装包。cdh不支持国产化操作系统,因此获取操作系统时会获取错误,返回一个unknown,因此需要在manifest.json文件中添加一个操作系统名为unknown的parcel安装包名称配置并重命名下载好的安装包即可。
注意:需要在登录CM界面之前做好AB两步骤,不然会导致cmf数据库初始化完毕,这个时候再需要进行国产化操作系统的适配还需要修改mysql中的cmf库的parcels 表