Flume 总结(七)interceptors类型-1.9.0新版

本文介绍了Flume 1.9.0版本中interceptors的种类,包括Timestamp Interceptor、Host Interceptor、Static Interceptor等,详细讲解了这些拦截器在大数据传输过程中的作用和配置。

Flume 总结(七)interceptors类型-1.9.0新版

1. interceptors

在这里插入图片描述
在这里插入图片描述

  1. Timestamp Interceptor在这里插入图片描述
  2. Host Interceptor
    在这里插入图片描述
  3. Static Interceptor
    在这里插入图片描述
  4. Remove Header Interceptor
    在这里插入图片描述
  5. UUID Interceptor在这里插入图片描述
  6. Morphline Interceptor
    在这里插入图片描述
  7. Search and Replace Interceptor
    在这里插入图片描述
  8. Regex Filtering Interceptor
    在这里插入图片描述
  9. Regex Extractor Interceptor
    在这里插入图片描述

在这里插入图片描述

### 配置Flume从Kafka读取数据并存储到HDFS 以下是通过Flume将Kafka生产者的数据存储到HDFS的详细配置和实现方法。此过程包括Flume的`source`、`channel`和`sink`的配置,以及启动命令。 #### 1. 配置文件设置 以下是一个完整的Flume配置文件示例,用于从Kafka读取数据并将其存储到HDFS中: ```properties # 定义agent名称 a1.sources = s1 a1.channels = c1 a1.sinks = k1 # 配置source(KafkaSource) a1.sources.s1.type = org.apache.flume.source.kafka.KafkaSource a1.sources.s1.kafka.bootstrap.servers = localhost:9092 a1.sources.s1.kafka.topics = kafka_log a1.sources.s1.kafka.consumer.group.id = flume_group a1.sources.s1.kafka.consumer.auto.offset.reset = earliest a1.sources.s1.batchSize = 1000 a1.sources.s1.interceptors = i1 a1.sources.s1.interceptors.i1.type = timestamp # 配置channel(MemoryChannel) a1.channels.c1.type = memory a1.channels.c1.capacity = 10000 a1.channels.c1.transactionCapacity = 1000 # 配置sink(HD FS Sink) a1.sinks.k1.type = hdfs a1.sinks.k1.hdfs.path = hdfs://localhost:9000/fromkafka/%Y%m%d/ a1.sinks.k1.hdfs.filePrefix = kafka_log a1.sinks.k1.hdfs.rollInterval = 60 a1.sinks.k1.hdfs.rollSize = 0 a1.sinks.k1.hdfs.rollCount = 0 a1.sinks.k1.hdfs.fileType = DataStream a1.sinks.k1.hdfs.writeFormat = Text # 绑定source和sink到channel a1.sources.s1.channels = c1 a1.sinks.k1.channel = c1 ``` #### 2. 启动Flume Agent 使用以下命令启动Flume Agent,并指定配置文件路径: ```bash flume-ng agent --conf conf --conf-file /path/to/flume-conf.properties --name a1 -Dflume.root.logger=INFO,console ``` 其中: - `--conf` 指定Flume的配置目录。 - `--conf-file` 指定具体的Flume配置文件路径。 - `--name` 指定Agent名称(在此例中为`a1`)。 - `-Dflume.root.logger` 设置日志级别和输出位置。 #### 3. 参数说明 - **Kafka Source**: - `kafka.bootstrap.servers`: Kafka集群的地址[^3]。 - `kafka.topics`: 要消费的Kafka主题名称[^3]。 - `kafka.consumer.group.id`: Kafka消费者的组ID[^3]。 - `kafka.consumer.auto.offset.reset`: 当消费者没有初始偏移量或当前偏移量超出范围时的行为。 - **Memory Channel**: - `capacity`: Channel的最大容量,单位为事件数[^1]。 - `transactionCapacity`: 单次事务处理的最大事件数[^1]。 - **HDFS Sink**: - `hdfs.path`: 数据存储在HDFS中的路径,支持时间格式化[^2]。 - `hdfs.filePrefix`: 文件名前缀。 - `hdfs.rollInterval`: 文件滚动的时间间隔(秒)[^2]。 - `hdfs.rollSize`: 文件滚动的大小限制(字节),设为0表示禁用[^2]。 - `hdfs.rollCount`: 文件滚动的记录数限制,设为0表示禁用[^2]。 #### 4. 注意事项 - 确保Kafka和HDFS服务正常运行,并且Flume能够访问它们。 - 根据实际需求调整`rollInterval`、`rollSize`和`rollCount`等参数以优化性能。 - 如果需要对数据进行预处理,可以添加`interceptor`来实现[^3]。 ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值