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

相關文章
相關標籤/搜索