Flume_Flume常用配置5_header + filter taildir.source_memory.channel_hdfs.sink

2024-05-03 06:32

本文主要是介绍Flume_Flume常用配置5_header + filter taildir.source_memory.channel_hdfs.sink,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

以下配置基于版本 apache-flume-1.8.0-bin


我们假定已经对Flume有一定了解,并且对Flume 的各个组件有一定了解。

我们演示一个基本的 
source  为 taildir源
channel 为 memory
sink 为 hdfs 类型
的配置示例:


上一个配置中,我们对spooldir 源进行了简单的讲解,也提出了spooldir 中存在的问题,这一章我们对 1.8新推出的

taildir 进行下讲解,taildir 可以完美解决 spooldir 中存在的问题。


我们对 taildir 的原理进行下简单的介绍,

taildir 对一个目录进行监测,目录不支持 正则,等表达式,

会生成一个json文件,其中记录了每个文件的消费偏移量。

1. 宕机后,会从偏移量继续消费 ,所以一般不存在数据重复发送的问题。


但是该功能为 1.8 的实验性功能,目前只支持linux 环境,下面是示例配置

我们在解压好的目录下创建 2个子目录  my-conf, my-bin

my-conf 存放了 对 agent (source, sink, channel) 的配置

my-bin 存放了  agent 的启动脚本


在上一篇的基础上,我们增加了 过滤器 文件压缩 的配置


这里我们要说一说文件压缩,

如果我们配置了文件压缩,在sink 中 就不需要配置后缀了,因为文件压缩默认会有一个后缀,所以我们不需要额外的后缀



my-conf



my-bin



配置文件

my-conf/flume-taildir-memory-hdfs_withhead-codec.properties

# example.conf: A single-node Flume configuration# Name the components on this agent
hdfs_agent.sources = r1
hdfs_agent.sinks = k1
hdfs_agent.channels = c1# Describe/configure the source
hdfs_agent.sources.r1.type = TAILDIR
hdfs_agent.sources.r1.filegroups = f1
hdfs_agent.sources.r1.filegroups.f1 = /tmp/logs/tailDir/.*\.log
hdfs_agent.sources.r1.positionFile = /tmp/logs/tailDir/.flume/taildir_position.jsonhdfs_agent.sources.r1.interceptors = i1 i2 i3#拦截器配置
hdfs_agent.sources.r1.interceptors.i1.type = timestamp
hdfs_agent.sources.r1.interceptors.i1.preserveExisting = truehdfs_agent.sources.r1.interceptors.i2.type = host
hdfs_agent.sources.r1.interceptors.i2.preserveExisting = truehdfs_agent.sources.r1.interceptors.i3.type = static
hdfs_agent.sources.r1.interceptors.i3.key = country
hdfs_agent.sources.r1.interceptors.i3.value = China# Describe the sink
hdfs_agent.sinks.k1.type = hdfs
hdfs_agent.sinks.k1.hdfs.path = hdfs://192.168.75.128:9000/test/flume/hdfs_filegroups_source_header_codec/%{host}/%Y-%m-%d/
#文件转存属性
hdfs_agent.sinks.k1.hdfs.rollInterval = 3600
hdfs_agent.sinks.k1.hdfs.rollSize = 1048576
hdfs_agent.sinks.k1.hdfs.rollCount = 20
#文件的名字
hdfs_agent.sinks.k1.hdfs.filePrefix = %{host}_%{country}_log_%Y%m%d_%H
#当设置压缩属性的时候,不应该指定 文件后缀,否则会覆盖默认的压缩格式的后缀
#hdfs_agent.sinks.k1.hdfs.fileSuffix = .txt
#使得上面按天分目录的设置起作用
hdfs_agent.sinks.k1.hdfs.useLocalTimeStamp = true
#序列化方式
hdfs_agent.sinks.k1.hdfs.serializer = text_with_headers
#输出方式
hdfs_agent.sinks.k1.hdfs.codeC = bzip2
#输出方式
hdfs_agent.sinks.k1.hdfs.fileType = CompressedStream
#下面属性 只针对于 avro_event
#hdfs_agent.sinks.k1.hdfs.serializer.compressionCodec = bzip2# Use a channel which buffers events in memory
hdfs_agent.channels.c1.type = memory
hdfs_agent.channels.c1.capacity = 1000
hdfs_agent.channels.c1.transactionCapacity = 100# Bind the source and sink to the channel
hdfs_agent.sources.r1.channels = c1
hdfs_agent.sinks.k1.channel = c1

执行脚本

my-bin/start_taildir_memory_hdfs_withhead_codec.sh

#!/bin/bashROOT_PATH=$(dirname $(dirname $(readlink -f $0)))
cd $ROOT_PATHbin/flume-ng agent --conf ./conf/ -f my-conf/flume-taildir-memory-hdfs_withhead-codec.properties -Dflume.root.logger=INFO,console -n hdfs_agent



这篇关于Flume_Flume常用配置5_header + filter taildir.source_memory.channel_hdfs.sink的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/956049

相关文章

C# 比较两个list 之间元素差异的常用方法

《C#比较两个list之间元素差异的常用方法》:本文主要介绍C#比较两个list之间元素差异,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 使用Except方法2. 使用Except的逆操作3. 使用LINQ的Join,GroupJoin

python常用的正则表达式及作用

《python常用的正则表达式及作用》正则表达式是处理字符串的强大工具,Python通过re模块提供正则表达式支持,本文给大家介绍python常用的正则表达式及作用详解,感兴趣的朋友跟随小编一起看看吧... 目录python常用正则表达式及作用基本匹配模式常用正则表达式示例常用量词边界匹配分组和捕获常用re

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

嵌入式数据库SQLite 3配置使用讲解

《嵌入式数据库SQLite3配置使用讲解》本文强调嵌入式项目中SQLite3数据库的重要性,因其零配置、轻量级、跨平台及事务处理特性,可保障数据溯源与责任明确,详细讲解安装配置、基础语法及SQLit... 目录0、惨痛教训1、SQLite3环境配置(1)、下载安装SQLite库(2)、解压下载的文件(3)、

深度解析Spring Boot拦截器Interceptor与过滤器Filter的区别与实战指南

《深度解析SpringBoot拦截器Interceptor与过滤器Filter的区别与实战指南》本文深度解析SpringBoot中拦截器与过滤器的区别,涵盖执行顺序、依赖关系、异常处理等核心差异,并... 目录Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现

Linux如何快速检查服务器的硬件配置和性能指标

《Linux如何快速检查服务器的硬件配置和性能指标》在运维和开发工作中,我们经常需要快速检查Linux服务器的硬件配置和性能指标,本文将以CentOS为例,介绍如何通过命令行快速获取这些关键信息,... 目录引言一、查询CPU核心数编程(几C?)1. 使用 nproc(最简单)2. 使用 lscpu(详细信

Nginx 重写与重定向配置方法

《Nginx重写与重定向配置方法》Nginx重写与重定向区别:重写修改路径(客户端无感知),重定向跳转新URL(客户端感知),try_files检查文件/目录存在性,return301直接返回永久重... 目录一.try_files指令二.return指令三.rewrite指令区分重写与重定向重写: 请求

Nginx 配置跨域的实现及常见问题解决

《Nginx配置跨域的实现及常见问题解决》本文主要介绍了Nginx配置跨域的实现及常见问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来... 目录1. 跨域1.1 同源策略1.2 跨域资源共享(CORS)2. Nginx 配置跨域的场景2.1

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指