【问题标题】:what is topic count parameter for Kafka ConsumerConnectorKafka ConsumerConnector 的主题计数参数是什么
【发布时间】:2015-09-08 19:15:29
【问题描述】:

我是 apache kafka 的新手,并尝试使用给出的示例。

下面的代码sn -p是用来初始化一个ConsumerConnector的,我被topic count参数搞糊涂了;似乎它会导致 kafka 为该主题分发相应数量的流。但是,我尝试了几次,只有第一个流产生消息。所以,两个问题: 1. 如何确定主题的计数? 2. 消息如何跨流拆分?

提前致谢。

    Map<String, Integer> topicCountMap = new HashMap<String, Integer>();
    **topicCountMap.put(topic, new Integer(a_numThreads));**
    Map<String, List<KafkaStream<byte[], byte[]>>> consumerMap = consumer
            .createMessageStreams(topicCountMap);
    List<KafkaStream<byte[], byte[]>> streams = consumerMap.get(topic);

【问题讨论】:

    标签: kafka-consumer-api apache-kafka


    【解决方案1】:

    如果我稍有不妥,其他用户可以随时纠正我,但是:

    我之前看过这个例子,代码通常被初始化为

    topicCountMap.put(topic, new Integer(1));
    

    其中一个是整数,因为对于给定的示例,示例主题通常仅使用单个分区创建。当您的主题只有一个分区时,没有并行能力(就像您在同一组中有多个消费者一样,会有一些消费者实例没有获取任何数据),因此没有理由创建多个流。因此,对于这个单一分区,只会创建一个流,这就是为什么您只有第一个(也是唯一一个)流产生消息的原因。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-14
      • 1970-01-01
      • 2019-10-20
      • 2016-11-13
      • 2022-12-03
      • 2016-08-31
      • 1970-01-01
      • 2017-09-29
      相关资源
      最近更新 更多