【问题标题】:flink table api sink es on server has error java.lang.NoClassDefFoundError: Could not initialize class org.elasticsearch.common.settings.Settings服务器上的 flink table api sink es 有错误 java.lang.NoClassDefFoundError: Could not initialize class org.elasticsearch.common.settings.Settings
【发布时间】:2022-01-04 08:51:54
【问题描述】:

2022-01-04 15:58:17 java.lang.NoClassDefFoundError:无法初始化类 org.elasticsearch.common.settings.Settings 在 org.elasticsearch.action.bulk.BulkProcessor.builder(BulkProcessor.java:238) 在 org.apache.flink.streaming.connectors.elasticsearch7.Elasticsearch7ApiCallBridge.createBulkProcessorBuilder(Elasticsearch7ApiCallBridge.java:80) 在 org.apache.flink.streaming.connectors.elasticsearch7.Elasticsearch7ApiCallBridge.createBulkProcessorBuilder(Elasticsearch7ApiCallBridge.java:46) 在 org.apache.flink.streaming.connectors.elasticsearch.ElasticsearchSinkBase.buildBulkProcessor(ElasticsearchSinkBase.java:379) 在 org.apache.flink.streaming.connectors.elasticsearch.ElasticsearchSinkBase.open(ElasticsearchSinkBase.java:319) 在 org.apache.flink.api.common.functions.util.FunctionUtils.openFunction(FunctionUtils.java:34) 在 org.apache.flink.streaming.api.operators.AbstractUdfStreamOperator.open(AbstractUdfStreamOperator.java:102) 在 org.apache.flink.table.runtime.operators.sink.SinkOperator.open(SinkOperator.java:58) 在 org.apache.flink.streaming.runtime.tasks.OperatorChain.initializeStateAndOpenOperators(OperatorChain.java:442) 在 org.apache.flink.streaming.runtime.tasks.StreamTask.restoreGates(StreamTask.java:585) 在 org.apache.flink.streaming.runtime.tasks.StreamTaskActionExecutor$1.call(StreamTaskActionExecutor.java:55) 在 org.apache.flink.streaming.runtime.tasks.StreamTask.executeRestore(StreamTask.java:565) 在 org.apache.flink.streaming.runtime.tasks.StreamTask.runWithCleanUpOnFail(StreamTask.java:650) 在 org.apache.flink.streaming.runtime.tasks.StreamTask.restore(StreamTask.java:540) 在 org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:759) 在 org.apache.flink.runtime.taskmanager.Task.run(Task.java:566) 在 java.lang.Thread.run(Thread.java:748)

1.1 我已经把相关的 jars 放到了 flink lib 目录中 1.2 我设置classloader.resolve-order parent-first 1.3 flink 版本是 1.13.3 the error

add elasticsearch jars in flink lib dir

no errors when I debug in intelli idea

classloader.resolve-order parent-first

with provided or without provided both has error with provided or without provided both has error the source at org.elasticsearch.action.bulk.BulkProcessor.builder(BulkProcessor.java:238)

【问题讨论】:

  • 请提供足够的代码,以便其他人更好地理解或重现问题。

标签: apache-flink flink-streaming flink-sql


【解决方案1】:

NoClassDefFoundError表示es版本可能有冲突,可以尝试直接使用flink-sql-connector-elasticsearch这个jar包

【讨论】:

    猜你喜欢
    • 2018-04-05
    • 2017-06-18
    • 2023-01-09
    • 2021-06-08
    • 2020-07-05
    • 1970-01-01
    • 2011-10-31
    • 2011-04-15
    • 2013-01-16
    相关资源
    最近更新 更多