换个干净的环境(清除 standalone sql client 进程及日志, 然后reproduce你的问题),
然后把对应的 standalonesession, taskexecutor, 及 sql client日志传上来看看。


On Tue, Feb 26, 2019 at 10:43 AM 张洪涛 <[email protected]> wrote:

>
>
> 如果把kafka connector shade jar放在blink lib 下面 然后启动是没有问题的  但是放在sql client
> --jar 参数就有问题
>
>
> 我又多测试了几遍 发现class not found的类 是随机的
>
>
> 有什么建议么?
>
>
> 2019-02-26 10:36:10,343 ERROR
> org.apache.flink.kafka011.shaded.org.apache.kafka.common.utils.KafkaThread
> - Uncaught exception in kafka-producer-network-thread | producer-1:
> java.lang.NoClassDefFoundError:
> org/apache/flink/kafka011/shaded/org/apache/kafka/common/requests/ProduceResponse$PartitionResponse
>         at
> org.apache.flink.kafka011.shaded.org.apache.kafka.common.requests.ProduceResponse.<init>(ProduceResponse.java:107)
>         at
> org.apache.flink.kafka011.shaded.org.apache.kafka.common.requests.AbstractResponse.getResponse(AbstractResponse.java:55)
>         at
> org.apache.flink.kafka011.shaded.org.apache.kafka.clients.NetworkClient.createResponse(NetworkClient.java:569)
>         at
> org.apache.flink.kafka011.shaded.org.apache.kafka.clients.NetworkClient.handleCompletedReceives(NetworkClient.java:663)
>         at
> org.apache.flink.kafka011.shaded.org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:442)
>         at
> org.apache.flink.kafka011.shaded.org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:224)
>         at
> org.apache.flink.kafka011.shaded.org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:162)
>         at java.lang.Thread.run(Thread.java:745)
> Caused by: java.lang.ClassNotFoundException:
> org.apache.flink.kafka011.shaded.org.apache.kafka.common.requests.ProduceResponse$PartitionResponse
>         at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
>         at
> org.apache.flink.runtime.execution.librarycache.FlinkUserCodeClassLoaders$ChildFirstClassLoader.loadClass(FlinkUserCodeClassLoaders.java:120)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>
>
>
>
> 在 2019-02-25 14:34:54,"Becket Qin" <[email protected]> 写道:
> >@Kurt,
> >
> >这个是符合预期的。为了防止和用户code中可能的Kafka依赖发生冲突。
> >
> >On Mon, Feb 25, 2019 at 10:28 AM Kurt Young <[email protected]> wrote:
> >
> >> kafka的包看路径是shade过的,这是符合预期的吗? @Becket
> >>
> >> Best,
> >> Kurt
> >>
> >>
> >> On Mon, Feb 25, 2019 at 9:56 AM 张洪涛 <[email protected]> wrote:
> >>
> >> >
> >> >
> >> > sql-client.sh 的启动参数首先在classpath里面会包含kafka相关的jar  另外会有--jar
> >> > 包含所有connector的jar
> >> >
> >> >
> >> > 这些jars在sql-client提交job时候会上传到cluster的blob store 但是很奇怪为啥找不到
> >> >
> >> >
> >> >  00:00:06 /usr/lib/jvm/java-1.8.0-openjdk/bin/java
> >> > -Dlog.file=/bigdata/flink-1.5.1/log/flink-root-sql-client-gpu06.log
> >> >
> -Dlog4j.configuration=file:/bigdata/flink-1.5.1/conf/log4j-cli.properties
> >> > -Dlogback.configurationFile=file:/bigdata/flink-1.5.1/conf/logback.xml
> >> > -classpath
> >> >
> >>
> /bigdata/flink-1.5.1/lib/flink-python_2.11-1.5.1.jar:/bigdata/flink-1.5.1/lib/flink-shaded-hadoop2-uber-1.5.1.jar:/bigdata/flink-1.5.1/lib/log4j-1.2.17.jar:/bigdata/flink-1.5.1/lib/slf4j-log4j12-1.7.7.jar:/bigdata/flink-1.5.1/lib/flink-dist_2.11-1.5.1.jar::/bigdata/hadoop-2.7.5/etc/hadoop::/bigdata/flink-1.5.1/opt/connectors/kafka011/flink-connector-kafka-0.11_2.11-1.5.1-sql-jar.jar:/bigdata/flink-1.5.1/opt/connectors/kafka010/flink-connector-kafka-0.10_2.11-1.5.1-sql-jar.jar:/bigdata/flink-1.5.1/opt/connectors/kafka09/flink-connector-kafka-0.9_2.11-1.5.1-sql-jar.jar:/bigdata/flink-1.5.1/opt/connectors/kafka08/flink-connector-kafka-0.8_2.11-1.5.1.jar:/bigdata/flink-1.5.1/opt/connectors/flink-hbase_2.11-1.5.1.jar:/bigdata/flink-1.5.1/opt/connectors/flink-connector-hadoop-compatibility_2.11-1.5.1.jar:/bigdata/flink-1.5.1/opt/connectors/flink-connector-hive_2.11-1.5.1.jar:/bigdata/flink-1.5.1/opt/sql-client/datanucleus-api-jdo-4.2.4.jar:/bigdata/flink-1.5.1/opt/sql-client/javax.jdo-3.2.0-m3.jar:/bigdata/flink-1.5.1/opt/sql-client/datanucleus-core-4.1.17.jar:/bigdata/flink-1.5.1/opt/sql-client/datanucleus-rdbms-4.1.19.jar:/bigdata/flink-1.5.1/opt/sql-client/flink-sql-client-1.5.1.jar
> >> > org.apache.flink.table.client.SqlClient embedded -d
> >> > conf/sql-client-defaults.yaml --jar
> >> >
> >>
> /bigdata/flink-1.5.1/opt/connectors/kafka011/flink-connector-kafka-0.11_2.11-1.5.1-sql-jar.jar
> >> > --jar
> >> >
> >>
> /bigdata/flink-1.5.1/opt/connectors/kafka010/flink-connector-kafka-0.10_2.11-1.5.1-sql-jar.jar
> >> > --jar
> >> >
> >>
> /bigdata/flink-1.5.1/opt/connectors/kafka09/flink-connector-kafka-0.9_2.11-1.5.1-sql-jar.jar
> >> > --jar
> >> >
> >>
> /bigdata/flink-1.5.1/opt/connectors/kafka08/flink-connector-kafka-0.8_2.11-1.5.1.jar
> >> > --jar /bigdata/flink-1.5.1/opt/connectors/flink-hbase_2.11-1.5.1.jar
> >> --jar
> >> >
> >>
> /bigdata/flink-1.5.1/opt/connectors/flink-connector-hadoop-compatibility_2.11-1.5.1.jar
> >> > --jar
> >> >
> /bigdata/flink-1.5.1/opt/connectors/flink-connector-hive_2.11-1.5.1.jar
> >> > --jar /bigdata/flink-1.5.1/opt/sql-client/flink-sql-client-1.5.1.jar
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> > 在 2019-02-22 19:32:18,"Becket Qin" <[email protected]> 写道:
> >> > >能不能看一下运行sql-client.sh的运行参数。具体做法是:
> >> > >
> >> > >运行sql-client.sh
> >> > >ps | grep sql-client
> >> > >
> >> > >查看一下其中是不是有这个 flink-connector-kafka-0.11 的 jar.
> >> > >
> >> > >Jiangjie (Becket) Qin
> >> > >
> >> > >On Fri, Feb 22, 2019 at 6:54 PM 张洪涛 <[email protected]> wrote:
> >> > >
> >> > >>
> >> > >>
> >> > >> 是包含这个类的
> >> > >>
> >> > >>
> >> > >> jar -tf flink-connector-kafka-0.11_2.11-*.jar | grep Crc32C
> >> > >>
> >> > >>
> >> >
> >>
> org/apache/flink/kafka011/shaded/org/apache/kafka/common/utils/Crc32C$1.class
> >> > >>
> >> > >>
> >> >
> >>
> org/apache/flink/kafka011/shaded/org/apache/kafka/common/utils/Crc32C$ChecksumFactory.class
> >> > >>
> >> > >>
> >> >
> >>
> org/apache/flink/kafka011/shaded/org/apache/kafka/common/utils/Crc32C$Java9ChecksumFactory.class
> >> > >>
> >> > >>
> >> >
> >>
> org/apache/flink/kafka011/shaded/org/apache/kafka/common/utils/Crc32C$PureJavaChecksumFactory.class
> >> > >>
> >> >
> >>
> org/apache/flink/kafka011/shaded/org/apache/kafka/common/utils/Crc32C.class
> >> > >>
> >> > >>
> >> >
> >>
> org/apache/flink/kafka011/shaded/org/apache/kafka/common/utils/PureJavaCrc32C.class
> >> > >>
> >> > >>
> >> > >>
> >> > >>
> >> > >>
> >> > >>
> >> > >> 在 2019-02-22 18:03:18,"Zhenghua Gao" <[email protected]> 写道:
> >> > >> >能否看一下对应的包里是否有这个类, 方法如下(假设你的blink安装包在 /tmp/blink):
> >> > >> >
> >> > >> >cd /tmp/blink/opt/connectors/kafka011
> >> > >> >jar -tf flink-connector-kafka-0.11_2.11-*.jar | grep Crc32C
> >> > >> >
> >> > >> >On Fri, Feb 22, 2019 at 2:56 PM 张洪涛 <[email protected]> wrote:
> >> > >> >
> >> > >> >>
> >> > >> >>
> >> > >> >> 大家好!
> >> > >> >>
> >> > >> >>
> >> > >> >> 我正在测试Blink sql client kafka sink connector ,但是发现写入失败,以下是我的步骤
> >> > >> >>
> >> > >> >>
> >> > >> >> 环境配置
> >> > >> >> blink standalone 模式
> >> > >> >>
> >> > >> >>
> >> > >> >>
> >> > >> >>
> >> > >> >> 1. 配置environment 启动sql client
> >> > >> >>
> >> > >> >>
> >> > >> >> 2. 创建kafka sink table
> >> > >> >> CREATETABLEkafka_sink(
> >> > >> >>    messageKeyVARBINARY,
> >> > >> >>    messageValueVARBINARY,
> >> > >> >>    PRIMARYKEY(messageKey))
> >> > >> >> with(
> >> > >> >>    type='KAFKA011',
> >> > >> >>    topic='sink-topic',
> >> > >> >>    `bootstrap.servers`='172.19.0.108:9092',
> >> > >> >>    retries='3'
> >> > >> >> );
> >> > >> >>
> >> > >> >>
> >> > >> >> 3. 创建查询语句并执行
> >> > >> >> INSERT INTO kafka_sink
> >> > >> >> SELECT CAST('123' AS VARBINARY) AS key,
> >> > >> >> CAST(CONCAT_WS(',', 'HELLO', 'WORLD') AS VARBINARY) AS msg;
> >> > >> >>
> >> > >> >>
> >> > >> >>
> >> > >> >>
> >> > >> >> 错误日志(from task executor log)
> >> > >> >>
> >> > >> >>
> >> > >> >> 主要是找不到kafka common package下面的一个类, 但是启动sql client 时候已经把kafka
> >> connector
> >> > >> >> 相关的jar包包括在内 在提交job时候 也会把这些jars 和
> >> jobgraph一并上传到cluster,理论上这些class都会被加载
> >> > >> >>
> >> > >> >>
> >> > >> >>
> >> > >> >>
> >> > >> >>
> >> > >> >>
> >> > >> >> 2019-02-22 14:37:18,356 ERROR
> >> > >> >>
> >> > >>
> >> >
> >>
> org.apache.flink.kafka011.shaded.org.apache.kafka.common.utils.KafkaThread
> >> > >> >> - Uncaught exception in kafka-producer-network-thread |
> producer-1:
> >> > >> >> java.lang.NoClassDefFoundError:
> >> > >> >>
> >> org/apache/flink/kafka011/shaded/org/apache/kafka/common/utils/Crc32C
> >> > >> >>         at
> >> > >> >>
> >> > >>
> >> >
> >>
> org.apache.flink.kafka011.shaded.org.apache.kafka.common.record.DefaultRecordBatch.writeHeader(DefaultRecordBatch.java:468)
> >> > >> >>         at
> >> > >> >>
> >> > >>
> >> >
> >>
> org.apache.flink.kafka011.shaded.org.apache.kafka.common.record.MemoryRecordsBuilder.writeDefaultBatchHeader(MemoryRecordsBuilder.java:339)
> >> > >> >>         at
> >> > >> >>
> >> > >>
> >> >
> >>
> org.apache.flink.kafka011.shaded.org.apache.kafka.common.record.MemoryRecordsBuilder.close(MemoryRecordsBuilder.java:293)
> >> > >> >>         at
> >> > >> >>
> >> > >>
> >> >
> >>
> org.apache.flink.kafka011.shaded.org.apache.kafka.clients.producer.internals.ProducerBatch.close(ProducerBatch.java:391)
> >> > >> >>         at
> >> > >> >>
> >> > >>
> >> >
> >>
> org.apache.flink.kafka011.shaded.org.apache.kafka.clients.producer.internals.RecordAccumulator.drain(RecordAccumulator.java:485)
> >> > >> >>         at
> >> > >> >>
> >> > >>
> >> >
> >>
> org.apache.flink.kafka011.shaded.org.apache.kafka.clients.producer.internals.Sender.sendProducerData(Sender.java:254)
> >> > >> >>         at
> >> > >> >>
> >> > >>
> >> >
> >>
> org.apache.flink.kafka011.shaded.org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:223)
> >> > >> >>         at
> >> > >> >>
> >> > >>
> >> >
> >>
> org.apache.flink.kafka011.shaded.org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:162)
> >> > >> >>         at java.lang.Thread.run(Thread.java:748)
> >> > >> >> Caused by: java.lang.ClassNotFoundException:
> >> > >> >>
> >> org.apache.flink.kafka011.shaded.org.apache.kafka.common.utils.Crc32C
> >> > >> >>         at
> >> java.net.URLClassLoader.findClass(URLClassLoader.java:381)
> >> > >> >>         at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
> >> > >> >>         at
> >> > >> >>
> >> > >>
> >> >
> >>
> org.apache.flink.runtime.execution.librarycache.FlinkUserCodeClassLoaders$ChildFirstClassLoader.loadClass(FlinkUserCodeClassLoaders.java:120)
> >> > >> >>         at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
> >> > >> >>
> >> > >> >>
> >> > >> >>
> >> > >> >>
> >> > >> >> --
> >> > >> >>   Best Regards
> >> > >> >>   Hongtao
> >> > >> >>
> >> > >> >>
> >> > >> >
> >> > >> >--
> >> > >> >若批評無自由,則讚美無意義!
> >> > >>
> >> > >>
> >> > >>
> >> > >>
> >> > >>
> >> > >>
> >> > >>
> >> > >> --
> >> > >>   Best Regards,
> >> > >>   HongTao
> >> > >>
> >> > >>
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> > --
> >> >   Best Regards,
> >> >   HongTao
> >> >
> >> >
> >>
>
>
>
>
>
>
>
> --
>   Best Regards,
>   HongTao
>
>

回复