为什么 RocksDB 库在 Kafka Streams 中抛出 loadlibrary 错误

Why is RocksDB library throwing loadlibrary error in Kafka Streams

我们 运行 Kafka Streams 使用 AWS Fargate 容器并在启动应用程序时出现以下错误。我怎样才能避免这种情况?

Exception in thread  java.lang.UnsatisfiedLinkError: /tmp/librocksdbjni3589189542893555938.so: Error loading shared library ld-linux-x86-64.so.2: 
No such file or directory (needed by /tmp/librocksdbjni3589189542893555938.so)

我不知道 AWS Fargate 容器使用什么镜像,但是,RocksDB 镜像并非适用于所有操作系统。

从错误中可以推断,您使用的 RocksDB 镜像需要 ld-linux-x86-64.so.2,而容器镜像中似乎没有。不确定您是否可以相应地调整图像。

您也可以尝试从头开始编译 RocksDB 并针对容器映像进行构建。作为替代方案,您还可以 运行 使用内存存储而不是 RocksDB 或实现自定义状态存储。