【问题标题】:Problem creating KSQL stream - java.lang.NoClassDefFoundError: Could not initialize class org.xerial.snappy.Snappy创建 KSQL 流时出现问题 - java.lang.NoClassDefFoundError:无法初始化类 org.xerial.snappy.Snappy
【发布时间】:2021-05-20 20:07:28
【问题描述】:

我正在尝试使用 KSQL 创建一个流,但我收到了一个错误返回。

我正在运行的语句是: 使用 (kafka_topic = 'T3_NON_END', value_format = 'avro') 创建流 s1;

我得到一个 NoClassDefFoundError - org.xerial.snappy.Snappy

根据我的阅读,这是因为 /tmp 设置为 noexec。从 Confluent 网站和其他使用 Snappy 的应用程序中可以看出,需要传递目录路径。

https://docs.confluent.io/5.4.2/ksql/docs/troubleshoot-ksql.html

有谁知道我在使用 KSQL 时如何传递 Snappy 的目录路径?

【问题讨论】:

    标签: apache-kafka confluent-platform ksqldb snappy


    【解决方案1】:

    听起来你在问如何设置 JVM 标志

    export KSQL_OPTS='-D...'
    ksql-server-start... 
    

    这是因为 /tmp 设置为 noexec。

    不一定。错误是说 snappy 不在 JVM 类路径上

    【讨论】:

    • 这为我们指明了正确的方向。添加 KSQL_OPTS 阻止了 KSQL 中发生的错误,但随后导致了不同的错误。我查看了 server.log 并且具有相同的 NoClassDefFoundError,因此我设置了 KAFKA_OPTS 并解决了问题并成功创建了 Stream。感谢您对此的帮助
    猜你喜欢
    • 2018-07-12
    • 1970-01-01
    • 1970-01-01
    • 2012-10-10
    • 2013-08-08
    • 2020-09-27
    • 2012-08-26
    • 2015-10-29
    相关资源
    最近更新 更多