Flume相關參數介紹

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

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網絡連接超時時間(毫秒)

 

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

退出

   

   

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

 

 

發佈了51 篇原創文章 · 獲贊 11 · 訪問量 87萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章