flume参数解析+启动参数解析
flume参数:
#example.conf:单节点Flume配置 #命名此代理上的组件
a1.sources = r1
a1.sinks = k1
a1.channels = c1 #描述/配置源
a1.sources.r1.type = netcat
a1.sources.r1.bind = localhost
a1.sources.r1.port = 44444 #描述接收器
a1.sinks.k1.type = logger #使用缓冲内存中事件的通道
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100 #将源和接收器绑定到通道
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
此配置定义名为a1的单个代理。a1有一个侦听端口44444上的数据的源,一个缓冲内存中事件数据的通道,以及一个将事件数据记录到控制台的接收器。
根据scource、channel、sink划分
1、Sources
Flume中常用的Source有NetCat,Avro,Exec,Spooling Directory,Taildir,也可以根据业务场景的需要自定义Source,具体介绍如下。
1)NetCat Source
NetCat Source可以使用TCP和UDP两种协议方式,使用方法基本相同,通过监听指定的IP和端口来传输数据,它会将监听到的每一行数据转化成一个Event写入到Channel中。(必须参数以@标示,下类同)
Property Name Default Description
channels@ –
type@ – 类型指定为:netcat
bind@ – 绑定机器名或IP地址
port@ – 端口号
max-line-length 512 一行的最大字节数
ack-every-event true 对成功接受的Event返回OK
selector.type replicating 选择器类型replicating or multiplexing
selector.* 选择器相关参数
interceptors – 拦截器列表,多个以空格分隔
interceptors.* 拦截器相关参数
2)Avro Source
不同主机上的Agent通过网络传输数据可使用的Source,一般是接受Avro client的数据,或和是上一级Agent的Avro Sink成对存在。
Property Name Default Description
channels@ –
type@ – 类型指定为:avro
bind@ – 监听的主机名或IP地址
port@ – 端口号
threads – 传输可使用的最大线程数
selector.type
selector.*
interceptors – 拦截器列表
interceptors.*
compression-type none 可设置为“none” 或 “deflate”. 压缩类型需要和AvroSource匹配
3)Exec Source
Exec source通过执行给定的Unix命令的传输结果数据,如,cat,tail -F等,实时性比较高,但是一旦Agent进程出现问题,可能会导致数据的丢失。
Property Name Default Description
channels@ –
type@ – 类型指定为:exec
command@ – 需要去执行的命令
shell – 运行命令的shell脚本文件
restartThrottle 10000 尝试重启的超时时间
restart false 如果命令执行失败,是否重启
logStdErr false 是否记录错误日志
batchSize 20 批次写入channel的最大日志数量
batchTimeout 3000 批次写入数据的最大等待时间(毫秒)
selector.type replicating 选择器类型replicating or multiplexing
selector.* 选择器其他参数
interceptors – 拦截器列表,多个空格分隔
interceptors.*
4)Spooling Directory Source
通过监控一个文件夹将新增文件内容转换成Event传输数据,特点是不会丢失数据,使用Spooling Directory Source需要注意的两点是,
1)不能对被监控的文件夹下的新增的文件做出任何更改,
2)新增到监控文件夹的文件名称必须是唯一的。由于是对整个新增文件的监控,Spooling Directory Source的实时性相对较低,不过可以采用对文件高粒度分割达到近似实时。
Property Name Default Description
channels@ –
type@ – 类型指定:spooldir.
spoolDir@ – 被监控的文件夹目录
fileSuffix .COMPLETED 完成数据传输的文件后缀标志
deletePolicy never 删除已经完成数据传输的文件时间:never or immediate
fileHeader false 是否在header中添加文件的完整路径信息
fileHeaderKey file 如果header中添加文件的完整路径信息时key的名称
basenameHeader false 是否在header中添加文件的基本名称信息
basenameHeaderKey basename 如果header中添加文件的基本名称信息时key的名称
includePattern ^.*$ 使用正则来匹配新增文件需要被传输数据的文件
ignorePattern ^$ 使用正则来忽略新增的文件
trackerDir .flumespool 存储元数据信息目录
consumeOrder oldest 文件消费顺序:oldest, youngest and random.
maxBackoff 4000 如果channel容量不足,尝试写入的超时时间,如果仍然不能写入,则会抛出ChannelException
batchSize 100 批次处理粒度
inputCharset UTF-8 输入码表格式
decodeErrorPolicy FAIL 遇到不可解码字符后的处理方式:FAIL,REPLACE,IGNORE
selector.type replicating 选择器类型:replicating or multiplexing
selector.* 选择器其他参数
interceptors – 拦截器列表,空格分隔
interceptors.*
5)Taildir Source
可以实时的监控指定一个或多个文件中的新增内容,由于该方式将数据的偏移量保存在一个指定的json文件中,即使在Agent挂掉或被kill也不会有数据的丢失,需要注意的是,该Source不能在Windows上使用。
Property Name Default Description
channels@ –
type@ – 指定类型:TAILDIR.
filegroups@ – 文件组的名称,多个空格分隔
filegroups.<filegroupName>@ – 被监控文件的绝对路径
positionFile ~/.flume/taildir_position.json 存储数据偏移量路径
headers.<filegroupName>.<headerKey> – Header key的名称
byteOffsetHeader false 是否添加字节偏移量到key为‘byteoffset’值中
skipToEnd false 当偏移量不能写入到文件时是否跳到文件结尾
idleTimeout 120000 关闭没有新增内容的文件超时时间(毫秒)
writePosInterval 3000 在positionfile 写入每一个文件lastposition的时间间隔
batchSize 100 批次处理行数
fileHeader false 是否添加header存储文件绝对路径
fileHeaderKey file fileHeader启用时,使用的key
2、Channels
官网提供的Channel有多种类型可供选择,这里介绍Memory Channel和File Channel。
1)Memory Channel
Memory Channel是使用内存来存储Event,使用内存的意味着数据传输速率会很快,但是当Agent挂掉后,存储在Channel中的数据将会丢失。
Property Name Default Description
type@ – 类型指定为:memory
capacity 100 存储在channel中的最大容量
transactionCapacity 100 从一个source中去或者给一个sink,每个事务中最大的事件数
keep-alive 3 对于添加或者删除一个事件的超时的秒钟
byteCapacityBufferPercentage 20 定义缓存百分比
byteCapacity see description Channel中允许存储的最大字节总数
2)File Channel
File Channel使用磁盘来存储Event,速率相对于Memory Channel较慢,但数据不会丢失。
Property Name Default Description
type@ – 类型指定:file.
checkpointDir ~/.flume/file-channel/checkpoint checkpoint目录
useDualCheckpoints false 备份checkpoint,为True,backupCheckpointDir必须设置
backupCheckpointDir – 备份checkpoint目录
dataDirs ~/.flume/file-channel/data 数据存储所在的目录设置
transactionCapacity 10000 Event存储最大值
checkpointInterval 30000 checkpoint间隔时间
maxFileSize 2146435071 单一日志最大设置字节数
minimumRequiredSpace 524288000 最小的请求闲置空间(以字节为单位)
capacity 1000000 Channel最大容量
keep-alive 3 一个存放操作的等待时间值(秒)
use-log-replay-v1 false Expert: 使用老的回复逻辑
use-fast-replay false Expert: 回复不需要队列
checkpointOnClose true
3、Sinks
Flume常用Sinks有Log Sink,HDFS Sink,Avro Sink,Kafka Sink,当然也可以自定义Sink。
1)Logger Sink
Logger Sink以INFO 级别的日志记录到log日志中,这种方式通常用于测试。
Property Name Default Description
channel@ –
type@ – 类型指定:logger
maxBytesToLog 16 能够记录的最大Event Body字节数
2)HDFS Sink
Sink数据到HDFS,目前支持text 和 sequence files两种文件格式,支持压缩,并可以对数据进行分区,分桶存储。
Name Default Description
channel@ –
type@ – 指定类型:hdfs
hdfs.path@ – HDFS的路径,eg hdfs://namenode/flume/webdata/
hdfs.filePrefix FlumeData 保存数据文件的前缀名
hdfs.fileSuffix – 保存数据文件的后缀名
hdfs.inUsePrefix – 临时写入的文件前缀名
hdfs.inUseSuffix .tmp 临时写入的文件后缀名
hdfs.rollInterval 30 间隔多长将临时文件滚动成最终目标文件,单位:秒,
如果设置成0,则表示不根据时间来滚动文件
hdfs.rollSize 1024 当临时文件达到多少(单位:bytes)时,滚动成目标文件,
如果设置成0,则表示不根据临时文件大小来滚动文件
hdfs.rollCount 10 当 events 数据达到该数量时候,将临时文件滚动成目标文件,
如果设置成0,则表示不根据events数据来滚动文件
hdfs.idleTimeout 0 当目前被打开的临时文件在该参数指定的时间(秒)内,
没有任何数据写入,则将该临时文件关闭并重命名成目标文件
hdfs.batchSize 100 每个批次刷新到 HDFS 上的 events 数量
hdfs.codeC – 文件压缩格式,包括:gzip, bzip2, lzo, lzop, snappy
hdfs.fileType SequenceFile 文件格式,包括:SequenceFile, DataStream,CompressedStre,
当使用DataStream时候,文件不会被压缩,不需要设置hdfs.codeC;
当使用CompressedStream时候,必须设置一个正确的hdfs.codeC值;
hdfs.maxOpenFiles 5000 最大允许打开的HDFS文件数,当打开的文件数达到该值,
最早打开的文件将会被关闭
hdfs.minBlockReplicas – HDFS副本数,写入 HDFS 文件块的最小副本数。
该参数会影响文件的滚动配置,一般将该参数配置成1,才可以按照配置正确滚动文件
hdfs.writeFormat Writable 写 sequence 文件的格式。包含:Text, Writable(默认)
hdfs.callTimeout 10000 执行HDFS操作的超时时间(单位:毫秒)
hdfs.threadsPoolSize 10 hdfs sink 启动的操作HDFS的线程数
hdfs.rollTimerPoolSize 1 hdfs sink 启动的根据时间滚动文件的线程数
hdfs.kerberosPrincipal – HDFS安全认证kerberos配置
hdfs.kerberosKeytab – HDFS安全认证kerberos配置
hdfs.proxyUser 代理用户
hdfs.round false 是否启用时间上的”舍弃”
hdfs.roundValue 1 时间上进行“舍弃”的值
hdfs.roundUnit second 时间上进行”舍弃”的单位,包含:second,minute,hour
hdfs.timeZone Local Time 时区。
hdfs.useLocalTimeStamp false 是否使用当地时间
hdfs.closeTries 0 Number hdfs sink 关闭文件的尝试次数;
如果设置为1,当一次关闭文件失败后,hdfs sink将不会再次尝试关闭文件,
这个未关闭的文件将会一直留在那,并且是打开状态;
设置为0,当一次关闭失败后,hdfs sink会继续尝试下一次关闭,直到成功
hdfs.retryInterval 180 hdfs sink 尝试关闭文件的时间间隔,
如果设置为0,表示不尝试,相当于于将hdfs.closeTries设置成1
serializer TEXT 序列化类型
serializer.*
3)Avro Sink
Property Name Default Description
channel@ –
type@ – 指定类型:avro.
hostname@ – 主机名或IP
port@ – 端口号
batch-size 100 批次处理Event数
connect-timeout 20000 连接超时时间
request-timeout 20000 请求超时时间
compression-type none 压缩类型,“none” or “deflate”.
compression-level 6 压缩级别,0表示不压缩,1-9数字越大,压缩比越高
ssl false 使用ssl加密
4)Kafka Sink
传输数据到Kafka中,需要注意的是Flume版本和Kafka版本的兼容性
Property Name Default Description
type – 指定类型:org.apache.flume.sink.kafka.KafkaSink
kafka.bootstrap.servers – kafka服务地址
kafka.topic default-flume-topic kafka Topic
flumeBatchSize 100 批次写入kafka Event数
kafka.producer.acks 1 多少个副本确认后才能确定消息传递成功,0表示不需要确认
1表示只需要首要的副本得到确认,-1表示等待所有确认。
启动参数:
命令
bin / flume-ng agent -conf conf -z zkhost:2181,zkhost1:2181 -p / flume -name a1 -Dflume.root.logger = INFO,console
1、flume-ng agent 运行一个Flume Agent
2、-conf 指定配置文件,这个配置文件必须在全局选项的–conf参数定义的目录下。
3、-z Zookeeper连接字符串。以逗号分隔的主机名列表:port
4、-p Zookeeper中的基本路径,用于存储代理配置
5、-name a1 Agent的名称a1
6、-Dflume.root.logger=INFO,console 该参数将会把flume的日志输出到console,为了将其输出到日志文件(默认在$FLUME_HOME/logs),可以将console改为LOGFILE形式
具体的配置可以修改$FLUME_HOME/conf/log4j.properties
-Dflume.log.file=./wchatAgent.logs 该参数直接输出日志到目标文件
具体:
https://blog.csdn.net/realoyou/article/details/81514128
参考:
https://www.jianshu.com/p/4252fbcdce79
flume参数解析+启动参数解析的更多相关文章
- cmd.exe_参数_启动参数 cmd加启动运行参数 命令
cmd.exe_参数_启动参数 /k指定运行后面的String命令,多个命令用&或&&连接,这样||不行&&&都能行,示例: cmd /k cd D:\ ...
- [置顶] linux内核启动1-启动参数(启动参数的获取和处理,分析setup_arch)
最近公司要求调试一个内核,启动时有问题,所以就花了一点时间看看内核启动. 看的过程中总结了一点东西,希望可以帮助大家调试内核. 当我开始看的时候,第一件事是从网上搜集资料,不看不知道,一看吓一跳!牛人 ...
- kafka参数解析+启动参数解析
Kafka参数详解 每个kafka broker中配置文件server.properties默认必须配置的属性如下: broker.id=0 num.network.threads=2 num.io. ...
- bootparam - 介绍Linux核心的启动参数
描叙 Linux 核心在启动的时候可以接受指定的"命令行参数"或"启动参数".在通常情况下,由于核心有可能无法识别某些硬件,或可能将某些硬件识别为不正确的配置, ...
- external-attacher源码分析(1)-main方法与启动参数分析
更多 ceph-csi 其他源码分析,请查看下面这篇博文:kubernetes ceph-csi分析目录导航 摘要 ceph-csi分析-external-attacher源码分析.external- ...
- Eclipse启动参数
from 网络 eclipse 启动参数 -clean2013-- : eclipse 启动参数介绍(如添加插件时,如果不显示,则使用eclipse -clean启动) 其实,Eclipse是一个可以 ...
- java的-D命令行参数 mvn -D参数
java的-D命令行参数 我们会用mvn启动一个应用,如下的命令行: MAVEN_OPTS="-XX:PermSize=256m -XX:MaxPermSize=512m" mvn ...
- linux内核启动参数解析及添加
1.环境: ubuntu16.04 Linux jello 4.4.0-89-generic #112-Ubuntu SMP Mon Jul 31 19:38:41 UTC 2017 x86_64 x ...
- eclipse.ini启动参数配置的解析及方法
原文地址 - http://www.uzzf.com/news/18444.html 1.先了解下JVM内存管理机制,JVM内存分为堆内存和非堆内存 2.JVM内存限制 首先JVM内存限制于实际的最大 ...
随机推荐
- List和模型学完后的练习
概述:控制台程序,sqlserver数据库,库D1,表T1. 学生信息表: 表结构: 其中id自动编号. 主程序先完成框架,循环录入选项进行操作: namespace ConsoleApplicati ...
- 1 js中常用的操作
总结一些前端js常用的操作 常用日期操作:前端开发常用 JS 方法 js中array.list.map的遍历:js遍历集合(Array,Map,Set) js中对象的定义:js创建自定义对象的几种方式 ...
- LearnOpenGL笔记(2)三角形
这是学习LearnOpenGL CN教程的笔记,包括我遇到的问题和我的烂笔头.文章名与网站小节对应. ------------------------------------分割线---------- ...
- k8s时区问题解决方案
前几天在使用k8s中的CronJob时发现了一个很奇怪的问题, 按照官方文档的demo跑起来是没有任何问题的, 但是当我想要设置每天一个固定时间点例如12点20执行一个job的时候,到了时间之后无论如 ...
- Centos7允许使用密码登录
现在使用云主机比较多,所以一般都是使用秘钥登录,当做一个集群的时候需要几台机器之间免密登录时,就需要修改他的配置文件了,刚做运维那会儿,很熟练,现在忘得差不多了,特此记录一下,下次又这个需求时就不 ...
- 5种处理Vue异常的方法
原文: Handling Errors in Vue.js 译者: Fundebug 本文采用意译,版权归原作者所有 去年一整年,我都在使用最爱的-Vue.js- 来做项目.最近突然意识到,我竟然从来 ...
- Vue.js@2.6.10更新内置错误处机制,Fundebug同步支持相应错误监控
摘要: Fundebug 的 JavaScript 错误监控插件同步支持 Vue.js 异步错误监控. Vue.js 从诞生至今已经 5 年,尤大在今年 2 月份发布了重大更新,即Vue 2.6.更新 ...
- 性能测试基础---jmeter基础
·Jmeter的脚本构成: Jmeter的脚本是由很多不同的组件构成,在Jmeter中,组件可以分为以下几类: ·测试计划: 是默认存在的组件,所有的Jmeter的组件都是依赖于测试计划的. 在这个组 ...
- msyql常用命令
1.创建.删除数据库 create database dbname; drop database dbname; 2.选择某一个数据库 use dbname; 3.显示所有表 show tables; ...
- curl-7.21.2
curl 源码编译 自己定义的库编译 https://blog.csdn.net/initiallht/article/details/92655025 静态库,debug,x86nmake /f M ...