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



一、 watchdogjava

watchdog.restarts.maxnode

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



二、 common nodeshell

flume.config.heartbeat.periodjson

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

flume.node.status.port网络

node web端口app

flume.node.heartbeat.backoff.ceiling框架

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

flume.node.http.autofindport

若是已有node启动,容许第二个node自动选择一个未使用的端口作web服务。多个node的界面端口从3586二、35863向后延续



三、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将把数据转发向备用节点



四、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…



五、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



六、zookeeper

flume.master.zk.logdir

zookeeper日志路径



七、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



一、Flume’s Tiered Event Sources

collectorSource[(port)]

Collector source,监听端口汇聚数据

autoCollectorSource

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

logicalSource

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




二、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



一、Flume’s Collector Tier Event Sinks

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

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


二、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

同上



三、Flume’s Logical Sinks

logicalSink("logicalnode")


四、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")

相关文章
相关标签/搜索