我有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);
}
但是,您能建议如何为每个接收器分配核心吗?
暂无答案!
目前还没有任何答案,快来回答吧!