Flume配置文件(flume-site.conf)

原创
2015/07/06 17:25
阅读数 678



1、 watchdog

watchdog.restarts.max

watchdog每分钟重启的最大数???



2、 common node

flume.config.heartbeat.period

node发送心跳周期,默认5000(毫秒)

flume.node.status.port

node web端口

flume.node.heartbeat.backoff.ceiling

node向master发送心跳之后等待反馈的最大时长,默认60000(毫秒)

flume.node.http.autofindport

如果已有node启动,允许第二个node自动选择一个未使用的端口做web服务。多个node的界面端口从35862、35863向后延续



3、agent

flume.agent.logdir

agent日志路径

flume.agent.logdir.maxage

当前处于打开状态agent日志文件收集信息的时长,在这之后该日志文件将会被关闭,并将数据发送到网络,默认10000(毫秒)

flume.agent.logdir.retransmit

在end-to-end模式下agent向collector发送数据失败后再次发送的间隔时长,默认60000(毫秒),建议至少是flume.collector.roll.millis的两倍

flume.agent.failover.backoff.initial

当primary sink(可以认为是第一collector)故障后,重启primary sink的一个延迟时间,在此期间,agent将把数据发送到secondary sink(可能是第二collector)

flume.agent.failover.backoff.max

在一定时限内尝试链接故障节点失败后,agent将把数据转发向备用节点



4、collector

flume.collector.event.host

默认collector地址

flume.collector.port

默认collector端口

flume.collector.dfs.dir

最终数据发向目录(默认),可以是本地,可以是hdfs,默认是/tmp

flume.collector.dfs.compress.codec

压缩格式GzipCodec, DefaultCodec (deflate), BZip2Codec,默认是None

flume.collector.roll.millis

hdfs文件切换(关闭后新建)的时长

flume.collector.output.format

collector发送数据格式avro, avrojson(默认), avrodata…



5、master

flume.master.servers

用逗号分隔多个master地址列表

flume.master.store

master配置存储方式(zookeeper/memory) zookeeper保证master的配置在多master节点之间同步,memory则保存在内存中,其配置随着master宕机而丢失

flume.master.serverid

master的唯一标识

flume.master.http.port

http端口

flume.master.heartbeat.missed.max

判断节点失效的最大未达心跳数

flume.master.savefile

当前flume配置文件的路径,默认conf/current.flume

flume.master.savefile.autoload

启动时是否加载current.flume,默认false

flume.master.gossip.period

master通信周期(毫秒)

flume.master.heartbeat.rpc

THRIFT/AVRO

flume.event.rpc

THRIFT/AVRO

flume.report.server.rpc.type

THRIFT/AVRO



6、zookeeper

flume.master.zk.logdir

zookeeper日志路径



7、thrift

flume.thrift.socket.timeout.ms

thrift网络连接超时时间(毫秒)







1.command shell(flume command)


help

帮助

connect master:port

登录master

config logicalnode source sink

为逻辑节点配置一个source到sink的映射

getnodestatus

获得节点状态(HELLO, CONFIGURING, ACTIVE, IDLE, ERROR, DECOMMISSIONED, LOST )

HELLO, node启动时

CONFIGURING, node被配置后

ACTIVE, 一个event从source送达到sink

IDLE, source中所有evnet发送完毕后

ERROR, 节点故障退出,数据没有flush

DECOMMISSIONED, node被master移除

LOST, master长时间未收到node心跳

getconfigs

获得配置

getmappings [physical node]

如果physical node参数被省略,将显示所有logical node到physical node的映射关系

exec

同步执行命令

Source file

执行脚本.

submit

异步执行命令

wait ms [cmdid]

设定一个时间,周期检查命令进程的状态(success or failure)

waitForNodesActive ms node1 [node2 […]]

设定一个时间,检查node是否处于使用(configuring, active)状态

waitForNodesDone ms node1 [node2 […]]

设定一个时间,检查node是否处于未用(IDLE, ERROR, LOST)状态

quit

退出



2.command shell(exec & submit command)

双引号

包含转义字符的java string

单引号

能引住除单引号之外的所有字符

noop

touch master, 不做操作

config logicalnode source sink

为逻辑节点配置source到sink的映射

multiconfig flumespec

unconfig logicalnode

取消逻辑节点的配置,影响master调整故障转移列表(failover list)

refreshAll logicalnode

刷新

save filename

保存current configuration到master硬盘

load filename

从master中加载current configuration

map physicalnode logicalnode

配置物理节点到逻辑节点的映射关系,master的配置将被同步到logicalnode

spawn physicalnode logicalnode

恢复

decommission logicalnode

unmap physicalnode logicalnode

取消映射

unmapAll

全部取消

purge logicalnode

清除状态,类似重启一个logical node, 适用于(DECOMMISSIONED、 LOST)状态

purgeAll

清除所有logical node的状态







Flume Source



1、Flume’s Tiered Event Sources

collectorSource[(port)]

Collector source,监听端口汇聚数据

autoCollectorSource

通过master协调物理节点自动汇聚数据

logicalSource

逻辑source,由master分配端口并监听rpcSink




2、Flume’s Basic Sources

null

console

监听用户编辑历史和快捷键输入,只在node_nowatch模式下可用

stdin

监听标准输入,只在node_nowatch模式下可用,每行将作为一个event source

rpcSource(port)

由rpc框架(thrift/avro)监听tcp端口

text("filename")

一次性读取一个文本,每行为一个event

tail("filename"[, startFromEnd=false])

每行为一个event。监听文件尾部的追加行,如果startFromEnd为true,tail将从文件尾读取,如果为false,tail将从文件开始读取全部数据

multitail("filename"[, file2 [,file3… ] ])

同上,同时监听多个文件的末尾

tailDir("dirname"[, fileregex=".*"[, startFromEnd=false[, recurseDepth=0]]])

监听目录中的文件末尾,使用正则去选定需要监听的文件(不包含目录),recurseDepth为递归监听其下子目录的深度

seqfile("filename")

监听hdfs的sequencefile,全路径

syslogUdp(port)

监听Udp端口

syslogTcp(port)

监听Tcp端口

syslogTcp1(port)

只监听Tcp端口的一个链接

execPeriodic("cmdline", ms)

周期执行指令,监听指令的输出,整个输出都被作为一个event

execStream("cmdline")

执行指令,监听指令的输出,输出的每一行被作为一个event

exec("cmdline"[,aggregate=false[,restart=false[,period=0]]])

执行指令,监听指令的输出,aggregate如果为true,整个输出作为一个event如果为false,则每行作为一个event。如果restart为true,则按period为周期重新运行

synth(msgCount,msgSize)

随即产生字符串event,msgCount为产生数量,msgSize为串长度

synthrndsize(msgCount,minSize,maxSize)

同上,minSize – maxSize

nonlsynth(msgCount,msgSize)

asciisynth(msgCount,msgSize)

Ascii码字符

twitter("username","pw"[,"url"])

尼玛twitter的插件啊

irc("server",port, "nick","chan")

scribe[(+port)]

Scribe插件

report[(periodMillis)]

生成所有physical node报告为事件源






Flume Sinks



1、Flume’s Collector Tier Event Sinks

collectorSink( "fsdir","fsfileprefix",rollmillis)

collectorSink,数据通过collector汇聚之后发送到hdfs, fsdir 是hdfs目录,fsfileprefix为文件前缀码


2、Flume’s Agent Tier Event Sinks

agentSink[("machine"[,port])]

Defaults to agentE2ESink,如果省略,machine参数,默认使用flume.collector.event.host与flume.collector.event.port作为默认collecotr(以下同此)

agentE2ESink[("machine"[,port])]

执着的agent,如果agent发送event没有收到collector成功写入的状态码,该event将被agent重复发送,直到接到成功写入的状态码

agentDFOSink[("machine" [,port])]

本地热备agent,agent发现collector节点故障后,不断检查collector的存活状态以便重新发送event,在此间产生的数据将缓存到本地磁盘中

agentBESink[("machine"[,port])]

不负责的agent,如果collector故障,将不做任何处理,它发送的数据也将被直接丢弃

agentE2EChain("m1[:_p1_]" [,"m2[:_p2_]"[,…]])

指定多个collector提高可用性。 当向主collector发送event失效后,转向第二个collector发送,当所有的collector失败后,它会非常执着的再来一遍...

agentDFOChain("m1[:_p1_]"[, "m2[:_p2_]"[,…]])

同上,当向所有的collector发送事件失效后,他会将event缓存到本地磁盘,并检查collector状态,尝试重新发送

agentBEChain("m1[:_p1_]"[, "m2[:_p2_]"[,…]])

同上,当向所有的collector发送事件失效后,他会将event丢弃

autoE2EChain

无需指定collector, 由master协调管理event的流向

autoDFOChain

同上

autoBEChain

同上



3、Flume’s Logical Sinks

logicalSink("logicalnode")


4、Flume’s Basic Sinks

在不使用collector收集event的情况下,可将source直接发向basic sinks


null

null

console[("formatter")]

转发到控制台

text("txtfile" [,"formatter"])

转发到文本文件

seqfile("filename")

转发到seqfile

dfs("hdfspath")

转发到hdfs

customdfs("hdfspath"[, "format"])

自定义格式dfs

+escapedCustomDfs("hdfspath", "file", "format")

rpcSink("host"[, port])

Rpc框架

syslogTcp("host"[,port])

发向网络地址

irc("host",port, "nick", "chan")

展开阅读全文
打赏
1
1 收藏
分享
加载中
写的不错,真棒!00
2015/07/06 17:26
回复
举报
更多评论
打赏
1 评论
1 收藏
1
分享
返回顶部
顶部