龙晰操作系统安装CDH版本匹配问题解决
目录
龙晰操作系统安装CDH版本匹配问题解决
1、表现
页面端
无法下载parcel文件或者在人工上传parcel文件后无法解压分配
提示: 一个或者多个主机没有报告其操作系统分配。这可能是由于运行已过期的Cloudera Manager Agent版本造成的。请运行Host Inspector检查Agent版本。
cloudera-scm-server.log错误
2022-07-11 10:06:11,251 WARN ParcelUpdateService:com.cloudera.parcel.components.ParcelInstallerImpl: Error while installing parcel
com.cloudera.parcel.ParcelException: Parcel for CDH : 6.3.2-1.cdh6.3.2.p0.1605554 is not available on UNKNOWN.
at com.cloudera.parcel.components.ParcelManagerImpl.distribute(ParcelManagerImpl.java:472)
at com.cloudera.parcel.components.ParcelInstallerImpl.handleJob(ParcelInstallerImpl.java:179)
at com.cloudera.parcel.components.ParcelInstallerImpl.run(ParcelInstallerImpl.java:152)
at com.cloudera.parcel.components.ParcelInstallerImpl.run(ParcelInstallerImpl.java:41)
at com.cloudera.cmf.persist.ReadWriteDatabaseTaskCallable.call(ReadWriteDatabaseTaskCallable.java:36)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
2、问题查找
由于下载的CDH版本是Centos7的,而操作系统是龙晰操作系统,并不是Centos7。CM在分配CDH安装包是会校验操作系统版本,主要是指安装包后缀 el7 / el6等,龙晰操作系统后缀是an,不在CDH支持列表中。这种方式不是直接获取操作系统信息,故而不能通过修改/etc/redhat-release解决。
3、解决方案
1)修改代码。由于CDH是闭源产品修改代码比较复杂。
2)由于CDH本身不支持an后缀直接返回unknown,所以可以通过构造一个对应的parcel解决
1、向数据库添加对应的parcel
INSERT INTO `parcels` (
`PARCEL_ID`,
`PRODUCT`,
`VERSION`,
`OS`,
`FILENAME`,
`HASH`,
`BINARY_DIFF`,
`STATUS`,
`OPTIMISTIC_LOCK_VERSION`,
`SOURCE`,
`RELEASE_INSTANT`,
`DOWNLOAD_INSTANT`,
`RELEASE_ID`
)
VALUES
(
'38',
'CDH',
'6.3.2-1.cdh6.3.2.p0.1605554',
'unknown',
'CDH-6.3.2-1.cdh6.3.2.p0.1605554-unknown.parcel',
'd2a3d0be2524f37dbf686677cc45f3f8a3bd2cfd',
b'0',
'AVAILABLE',
'4',
'http://172.16.3.201/cdh6',
NULL,
NULL,
'1'
);
2、重命名parcel
cp CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel CDH-6.3.2-1.cdh6.3.2.p0.1605554-unknown.parcel
cp CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha CDH-6.3.2-1.cdh6.3.2.p0.1605554-unknown.parcel.sha