kafka spark集成|只有一个接收器接收其他接收器空闲的事件

fd3cxomn  于 2021-06-08  发布在  Kafka
关注(0)|答案(0)|浏览(258)

我有Kafka制作人的数据流到spark流媒体
主题的分区大小为2。
我设置了两个接收器来监听
两个接收者属于同一消费群体
但是,在给定的时间只有一个接收器接收消息
请从我的流媒体控制台中找到附加的快照。流媒体控制台快照只有一个接收正在接收事件
[1]: http://i.stack.imgur.com/jurib.png
我创建两个流如下

List<JavaPairDStream<String, byte[]>> streamList = new ArrayList<>(numReceivers); 
for (int i = 0; i < numReceivers; i++) { 
    streamList.add(KafkaUtils.createStream(jssc, String.class, byte[].class,
                        StringDecoder.class, DefaultDecoder.class, kafkaParams,
                        topicMap, StorageLevel.MEMORY_AND_DISK())); 
}

我做错什么了吗?
======================编辑1====================================================================topicmap是topicname和numthreads的Map。只有一个主题,分配了两个线程。后来我把这两个数据流合并了。

if (streamList.size() > 1) {
    stream =  jssc.union(streamList.get(0), streamList.subList(1, streamList.size())); 
} else {
    /* Otherwise, just use the 1 stream */
    stream = streamList.get(0);
}

但是,您能建议如何为每个接收器分配核心吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题