Kafka Spark Integration |只有一个接收器接收其他人闲置的事件

时间:2015-11-10 10:02:02

标签: java apache-spark integration apache-kafka

我的数据从我的Kafka制作人流入Spark Streaming

  1. 主题的分区大小为2.
  2. 我已经设置了两个接收器来听
  3. 两个接收者都属于同一个消费者群体
  4. 但是,只有一个接收者在给定时间收到消息

    请在我的Streaming Console中找到附加快照.Streaming控制台快照只有一个接收正在接收事件

    [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的映射。 只有一个主题,并分配了2个主题。之后我将两个DStream联合起来。

    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);
    }
    

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

0 个答案:

没有答案