broker提示java.lang.NoClassDefFoundError导致无法创建阿里云OSS仓库

【详述】创建阿里云OSS REPOSITORY失败,查看了broker日志报错说java.lang.NoClassDefFoundError: Could not initialize class org.apache.hadoop.fs.aliyun.oss.AliyunOSSFileSystem

【背景】
1、启动broker前,在启动脚本头部增加 export JAVA_HOME指向 JDK11目录
2、启动broker程序
3、ALTER SYSTEM ADD BROKER 加入broker
4、CREATE REPOSITORY 创建仓库 ,然后就报错了

【业务影响】
【是否存算分离】否
【StarRocks版本】3.1.13
【JDK版本】JDK 11
【集群规模】例如:3FE+3BE
【机器信息】
【联系方式】
【附件】

哪个版本,直接with broker就行了,不加broker名字试一下

starrocks版本是3.1.13,头贴有写。根据你的方法试了下还是报错:

image

这个和JDK版本有关系吗?现在这个出问题的集群是 JDK11,还有一个集群用JDK8,同样3.1.13版本下JDK8就正常…

将jdk8可以使用的集群,替换成jdk11试一下是不是正常可以使用

我测试了一下,貌似和OS有关。有问题的是Ubuntu 22.04,没问题的Ubuntu 20.04 。我细查了一下broker日志,确实有相关警告信息,信息如下:

2024-11-21 17:44:29  [ TThreadPoolServer WorkerProcess-%d:86955 ] - [ WARN ]  Cannot load filesystem: java.util.ServiceConfigurationError: org.apache.hadoop.fs.FileSystem: Provider com.aliyun.jindodata.oss.JindoOssFileSystem could not be instantiated
2024-11-21 17:44:29  [ TThreadPoolServer WorkerProcess-%d:86955 ] - [ WARN ]  java.lang.ExceptionInInitializerError
2024-11-21 17:44:29  [ TThreadPoolServer WorkerProcess-%d:86955 ] - [ WARN ]  java.lang.RuntimeException: Jindo Native loading failed: The platform is not support or jindo-core-$extends.jar is not install: linux/amd64/Ubuntu 22.04.4 LTS \n \l


2024-11-21 17:44:29  [ TThreadPoolServer WorkerProcess-%d:87071 ] - [ WARN ]  Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

我看官网说StarRocks支持Ubuntu 22.04系统的啊,还是说broker这边没更新?

经自测:
Ubuntu 20.04下,JDK8 和 JDK11都没问题
Ubuntu 22.04下,JDK8 和 JDK11 都有问题

对比一下两个系统中fe软件安装目录下的lib目录里面的jar包是否一致

如果jar包一致,重新下载一个 可以适配Ubuntu22系统的 jindosdk,替换当前系统的jindosdk