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

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐