将消息从Kafka拉到两个目的地

时间:2015-07-29 08:42:51

标签: apache-kafka kafka-consumer-api

我能够获取kafka消息并将其插入到hdfs中。我希望能够使用BI工具提取相同的消息集。

有没有这样做?我需要创建2个消费者吗?还是2个消费群体?

请告知。

由于

1 个答案:

答案 0 :(得分:2)

如果我理解正确,那么您可能正在尝试使用单个Kafka主题中的消息并将它们存储到两个不同的位置。在这种情况下,您可以继续使用两个独立的消费者群体,每个群体都使用相同的主题并转移到两个不同的位置。

kafka.consumer.Consumer.createJavaConsumerConnectorConsumerConfig为参数。您通常可以填充group_id,同时填充ConsumerConfig,如下所示

    private static ConsumerConfig createConsumerConfig(String a_zookeeper, String a_groupId) {
      Properties props = new Properties();
      props.put("zookeeper.connect", a_zookeeper);
      props.put("group.id", a_groupId);
      ....
      .... 
      return new ConsumerConfig(props);
   }

查看其Wiki页面中的SimpleCosumer示例以获取更多详细信息。

如果您熟悉Apache Storm,那么您可以使用KafkaSpout创建一个包含两个单独螺栓的拓扑,并执行所需的处理。