目录

龙晰操作系统安装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