【发布时间】:2022-02-03 10:04:15
【问题描述】:
我在 Kafka 中有一个包含数据的主题,我想在 KSQL 中创建一个流,但我一直收到 Java 错误。任何想法可能会发生什么?错误是(注意我已经用 xxx 替换了一些 ksql 命令为简洁起见):
无法编写语句“CREATE STREAM MESSAGES_00 (xxx) WITH (KAFKA_TOPIC='消息',VALUE_FORMAT='JSON');'进入命令主题。
原因:无法将语句 xxx 写入命令主题。
原因:java.lang.NoClassDefFoundError: 无法初始化 类 org.xerial.snappy.Snappy
原因:无法初始化类 org.xerial.snappy.Snappy
任何想法可能导致这种情况?我在 Mac M1 上运行 Java Azul 11。
非常感谢您的帮助!
【问题讨论】:
-
带有消息
Could not initialize class ...的NoClassDefFoundError表示JVM 已尝试加载该类但失败。如果您进一步查看日志/输出,您是否会在 JVM 第一次尝试加载类但失败时收到不同的错误消息?启动 Kafka 后第一次收到不同的错误消息吗? -
非常感谢您的回复!每当我在 ksql 上运行命令时(即使我加载不同的主题/数据),错误都是相同的。该错误不会出现在任何其他上下文中。查看日志我看到这个'org.xerial.snappy.SnappyError: [FAILED_TO_LOAD_NATIVE_LIBRARY] no native library is found for os.name=Mac and os.arch=aarch64' and 'Could not initialize class org.xerial.snappy.Snappyatorg。 apache.kafka.common.compress.SnappyFactory.wrapForOutput(SnappyFactory.java:38)' 然后有很多这样的行。可能是我正在运行的 JVM 还是我正在授予的权限?
-
好的,所以我认为这可能是因为我拥有的 snappy.jar 文件没有 Mac m1 的目录(仅 intel x86) - 有什么想法可以得到这个文件吗?仅供参考,这只是研究后的一个想法
标签: java apache-kafka ksqldb