flume学习05---Kafka Source

Kafka Source

Kafka Source是一个从Kafka的 Topic中读取消息的Apache Kafka消费者。 如果您有多个Kafka source运行,您可以使用相同的Consumer Group配置它们,因此每个将读取topic中一组唯一的分区。
主要的几个属性

  • type:  source的类型,必须使用org.apache.flume.source.kafka.KafkaSource
  • kafka.bootstrap.servers: List of brokers in the Kafka cluster used by the source
  • kafka.consumer.group.id :消费者组的唯一标识。 在多个来源或代理中设置相同的ID表示它们是同一个使用者组的一部分
  • kafka.topics : 使用都好隔开的kafka 消费者从那些topics获取的消息
  • kafka.topics.regex: 使用正则表达是定义该Source订阅的topic的集合,此属性的优先级高于kafka.topics,并覆盖kafka.topics(如果存在)。
  • batchSize: 一个批次中写入通道的最大消息数
  • -

注意:


Kafka Source覆盖两个Kafka使用者参数:
auto.commit.enable由源设置为“false”,每个批处理都提交。 Kafka源至少保证一次消息检索策略。 当源启动时,重复项可以存在。
Kafka Source还提供了key.deserializer(org.apache.kafka.common.serialization.StringSerializer)和value.deserializer(org.apache.kafka.common.serialization.ByteArraySerializer)的默认值。 不建议修改这些参数。

###启用的属性
flume学习05---Kafka Source_第1张图片

通过都好分割的订阅的topic列表的样例

tier1.sources.source1.type = org.apache.flume.source.kafka.KafkaSource
tier1.sources.source1.channels = channel1
tier1.sources.source1.batchSize = 5000
tier1.sources.source1.batchDurationMillis = 2000
tier1.sources.source1.kafka.bootstrap.servers = localhost:9092
tier1.sources.source1.kafka.topics = test1, test2
tier1.sources.source1.kafka.consumer.group.id = custom.g.id

通过正则表达式匹配的订阅topic

tier1.sources.source1.type = org.apache.flume.source.kafka.KafkaSource
tier1.sources.source1.channels = channel1
tier1.sources.source1.kafka.bootstrap.servers = localhost:9092
tier1.sources.source1.kafka.topics.regex = ^topic[0-9]$
# the default kafka.consumer.group.id=flume is used

未完待续。。。

你可能感兴趣的:(#,flume)