influxdata / influxdb-java

Java client for InfluxDB

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Caused by: java.lang.NoClassDefFoundError: Could not initialize class okhttp3.OkHttpClient

quchunhui opened this issue · comments

==Usage scenario==
Flink sink to influxDB.
The code runs locally without problem, and after being submitted to the cluster, receives the following error.
Operating system: Centos8,
Flink version: 1.10.0,
Hadoop version: 2.8.3
InfluxDB version: 1.7.1

==flink-conf.xml==
classloader.resolve-order: child-first

==error log==
Caused by: java.lang.NoClassDefFoundError: Could not initialize class okhttp3.OkHttpClient
at okhttp3.OkHttpClient$Builder.(OkHttpClient.java:449)
at com.rexel.stream.utils.InfluxUtils.connect(InfluxUtils.java:57)
at com.rexel.stream.flink.sink.SinkToInflux.open(SinkToInflux.java:38)
at org.apache.flink.api.common.functions.util.FunctionUtils.openFunction(FunctionUtils.java:36)
at org.apache.flink.streaming.api.operators.AbstractUdfStreamOperator.open(AbstractUdfStreamOperator.java:102)
at org.apache.flink.streaming.api.operators.StreamSink.open(StreamSink.java:48)
at org.apache.flink.streaming.runtime.tasks.StreamTask.initializeStateAndOpen(StreamTask.java:1007)
at org.apache.flink.streaming.runtime.tasks.StreamTask.lambda$beforeInvoke$0(StreamTask.java:454)
at org.apache.flink.streaming.runtime.tasks.StreamTaskActionExecutor$SynchronizedStreamTaskActionExecutor.runThrowing(StreamTaskActionExecutor.java:94)
at org.apache.flink.streaming.runtime.tasks.StreamTask.beforeInvoke(StreamTask.java:449)
at org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:461)
at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:707)
at org.apache.flink.runtime.taskmanager.Task.run(Task.java:532)
at java.lang.Thread.run(Thread.java:748)

pom.xml



rexel-ids
com.rexel
1.0.0

4.0.0
rexel-stream

<maven.install.skip>true</maven.install.skip>
<commons-codec.version>1.10</commons-codec.version>
<flink.version>1.10.0</flink.version>
<fastjson.version>1.2.72</fastjson.version>
<influxdb-java.version>2.8</influxdb-java.version>
<logback.version>1.2.3</logback.version>
<lombok.version>1.18.12</lombok.version>
<mysql-connector-java.version>8.0.19</mysql-connector-java.version>
<rocketmq.version>4.5.0</rocketmq.version>
<qpid-jms-client.version>0.49.0</qpid-jms-client.version>
<rocketmq.version>4.5.0</rocketmq.version>
<taos-jdbcdriver.version>2.0.12</taos-jdbcdriver.version>




org.apache.flink
flink-java
${flink.version}


org.apache.flink
flink-streaming-java_2.11
${flink.version}


org.apache.flink
flink-clients_2.11
${flink.version}



ch.qos.logback
logback-core
${logback.version}


ch.qos.logback
logback-access
${logback.version}


ch.qos.logback
logback-classic
${logback.version}



com.alibaba
fastjson
${fastjson.version}



org.projectlombok
lombok
${lombok.version}



org.apache.qpid
qpid-jms-client
${qpid-jms-client.version}



mysql
mysql-connector-java
${mysql-connector-java.version}



org.apache.rocketmq
rocketmq-client
${rocketmq.version}


org.apache.rocketmq
rocketmq-acl
${rocketmq.version}


commons-cli
commons-cli




org.apache.rocketmq
rocketmq-tools
${rocketmq.version}


org.apache.rocketmq
rocketmq-common
${rocketmq.version}



commons-codec
commons-codec
${commons-codec.version}



com.taosdata.jdbc
taos-jdbcdriver
${taos-jdbcdriver.version}



org.influxdb
influxdb-java
${influxdb-java.version}


com.squareup.okio
okio







maven-compiler-plugin
3.1

1.8
1.8




maven-assembly-plugin
2.4


jar-with-dependencies




make-assembly
package

single






This indicates that you class path in the cluster is different then locally.

I am also getting this error. How did you get this resolved?