Java 卡夫卡->;风暴->;flink:意外的块数据
我正在将拓扑结构从storm移动到flink。拓扑已缩减为Java 卡夫卡->;风暴->;flink:意外的块数据,java,apache-storm,apache-flink,Java,Apache Storm,Apache Flink,我正在将拓扑结构从storm移动到flink。拓扑已缩减为KafkaSpout->Bolt。螺栓只是计算数据包,而不是试图解码它们 编译后的.jar通过flink-c提交给flink,并出现以下错误: java.lang.Exception: Call to registerInputOutput() of invokable failed at org.apache.flink.runtime.taskmanager.Task.run(Task.java:529)
KafkaSpout->Bolt
。螺栓只是计算数据包,而不是试图解码它们
编译后的.jar通过flink-c
提交给flink,并出现以下错误:
java.lang.Exception: Call to registerInputOutput() of invokable failed
at org.apache.flink.runtime.taskmanager.Task.run(Task.java:529)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.flink.streaming.runtime.tasks.StreamTaskException: Cannot instantiate user function.
at org.apache.flink.streaming.api.graph.StreamConfig.getStreamOperator(StreamConfig.java:190)
at org.apache.flink.streaming.runtime.tasks.StreamTask.registerInputOutput(StreamTask.java:174)
at org.apache.flink.runtime.taskmanager.Task.run(Task.java:526)
... 1 more
Caused by: java.io.StreamCorruptedException: unexpected block data
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1365)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1993)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1918)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1993)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1918)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371)
at org.apache.flink.util.InstantiationUtil.deserializeObject(InstantiationUtil.java:294)
at org.apache.flink.util.InstantiationUtil.readObjectFromConfig(InstantiationUtil.java:255)
at org.apache.flink.streaming.api.graph.StreamConfig.getStreamOperator(StreamConfig.java:175)
... 3 more
我的问题:
编辑: 以下是相关代码: 拓扑结构: 初始化:
该螺栓是基于。execute()。那里没有其他代码。我刚看过这个。现在有一个问题,但我在本地解决了。您可以将此热修复应用于代码,并自行构建兼容层
KafkaSpout
注册度量。但是,兼容性层目前不支持度量。您需要删除FlinkTopologyContext.registerMetric(…)
中的异常,只需返回null
。(已经有一个开放的PR在集成度量,因此我不想把这个热修复程序推到master branch中)Config c = new Config();
List<String> zkServers = new ArrayList<String>();
zkServers.add("localhost");
c.put(Config.STORM_ZOOKEEPER_SERVERS, zkServers);
c.put(Config.STORM_ZOOKEEPER_PORT, 2181);
c.put(Config.STORM_ZOOKEEPER_SESSION_TIMEOUT, 30);
c.put(Config.STORM_ZOOKEEPER_CONNECTION_TIMEOUT, 30);
c.put(Config.STORM_ZOOKEEPER_RETRY_TIMES, 3);
c.put(Config.STORM_ZOOKEEPER_RETRY_INTERVAL, 5);
这对我来说很有效,使用Kafka_2.10-0.8.1.1和flinklocluster
在Eclipse中执行
它还可以在通过bin/start local streaming.sh启动的本地Flink集群中工作。为此,使用bin/flink run
命令,您需要使用FlinkSubmitter
而不是flinklocluster
。此外,您的jar需要以下依赖项:
<include>org.apache.storm:storm-kafka</include>
<include>org.apache.kafka:kafka_2.10</include>
<include>org.apache.curator:curator-client</include>
<include>org.apache.curator:curator-framework</include>
<include>com.google.guava:guava</include>
<include>com.yammer.metrics:metrics-core</include>
org.apache.storm:storm kafka
org.apache.kafka:kafka_2.10
策展人:策展人客户
策展人:策展人框架
番石榴:番石榴
metrics:metrics核心
Storm的卡夫卡斯波特从未在弗林克进行过测试。你能把你的密码寄给我吗?我不知道怎么联系你。更新了一些代码剪贴。谢谢。我来看看。顺便说一句:;)
Config c = new Config();
List<String> zkServers = new ArrayList<String>();
zkServers.add("localhost");
c.put(Config.STORM_ZOOKEEPER_SERVERS, zkServers);
c.put(Config.STORM_ZOOKEEPER_PORT, 2181);
c.put(Config.STORM_ZOOKEEPER_SESSION_TIMEOUT, 30);
c.put(Config.STORM_ZOOKEEPER_CONNECTION_TIMEOUT, 30);
c.put(Config.STORM_ZOOKEEPER_RETRY_TIMES, 3);
c.put(Config.STORM_ZOOKEEPER_RETRY_INTERVAL, 5);
<dependency>
<groupId>org.apache.storm</groupId>
<artifactId>storm-kafka</artifactId>
<version>0.9.4</version>
</dependency>
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.10</artifactId>
<version>0.8.1.1</version>
</dependency>
<include>org.apache.storm:storm-kafka</include>
<include>org.apache.kafka:kafka_2.10</include>
<include>org.apache.curator:curator-client</include>
<include>org.apache.curator:curator-framework</include>
<include>com.google.guava:guava</include>
<include>com.yammer.metrics:metrics-core</include>