天天看點

Flume的各種類型的元件介紹2. Sink

type:source的類型,必須是netcat。

bind:要監聽的(本機的)主機名或者ip。此監聽不是過濾發送方。一台電腦不是說隻有一個IP。有多網卡的電腦,對應多個IP。

port:綁定的本地的端口。

type:avrosource的類型,必須是avro。

type:source的類型:必須是exec。

command:要執行指令。

type:source 的類型:必須是spooldir

spoolDir:監聽的檔案夾 【提前建立目錄】

fileSuffix:上傳完畢後檔案的重命名字尾,預設為.COMPLETED

deletePolicy:上傳後的檔案的删除政策never和immediate,預設為never。

fileHeader:是否要加上該檔案的絕對路徑在header裡,預設是false。

basenameHeader:是否要加上該檔案的名稱在header裡,預設是false。

Flume的各種類型的元件介紹2. Sink

type:sink的類型 必須是hdfs。

hdfs.path:hdfs的上傳路徑。

hdfs.filePrefix:hdfs檔案的字首。預設是:FlumeData

hdfs.rollInterval:間隔多久産生新檔案,預設是:30(秒) 0表示不以時間間隔為準。

hdfs.rollSize:檔案到達多大再産生一個新檔案,預設是:1024(bytes)0表示不以檔案大小為準。

hdfs.rollCount:event達到多大再産生一個新檔案,預設是:10(個)0表示不以event數目為準。

hdfs.batchSize:每次往hdfs裡送出多少個event,預設為100

hdfs.fileType:hdfs檔案的格式主要包括:SequenceFile, DataStream ,CompressedStream,如果使用了CompressedStream就要設定壓縮方式。

hdfs.codeC:壓縮方式:gzip, bzip2, lzo, lzop, snappy

注:%{host}可以使用header的key。以及%Y%m%d來表示時間,但關于時間的表示需要在header裡有timestamp這個key。

要在控制台顯示在運作agent的時候加入:-Dflume.root.logger=INFO,console 。

type:sink的類型:必須是 logger。

maxBytesToLog:列印body的最長的位元組數 預設為16

type:sink的類型:必須是 avro。

hostname:指定發送資料的主機名或者ip

port:指定發送資料的端口

type:sink的類型:必須是 file_roll。

sink.directory:存儲檔案的目錄【提前建立目錄】

batchSize:一次發送多少個event。預設為100

sink.rollInterval:多久産生一個新檔案,預設為30s。機關是s。0為不産生新檔案。【即使沒有資料也會産生檔案】

Type channel的類型:必須為memory

capacity:channel中的最大event數目

transactionCapacity:channel中允許事務的最大event數目

Type channel的類型:必須為 file

checkpointDir :檢查點的資料存儲目錄【提前建立目錄】

dataDirs :資料的存儲目錄【提前建立目錄】

Type channel的類型:必須為SPILLABLEMEMORY

memoryCapacity:記憶體的容量event數

overflowCapacity:資料存到檔案的event閥值數

checkpointDir:檢查點的資料存儲目錄

dataDirs:資料的存儲目錄

type:攔截器的類型,必須為timestamp

preserveExisting:如果此攔截器增加的key已經存在,如果這個值設定為true則保持原來的值,否則覆寫原來的值。預設為false

type:攔截器的類型,必須為host

useIP:如果設定為true則使用ip位址,否則使用主機名,預設為true

hostHeader:使用的header的key名字,預設為host

type:avrosource的類型,必須是static。

preserveExisting:如果此攔截器增加的key已經存在,如果這個值設定為true則保持原來的值,否則覆寫原來的值。預設為false

key:靜态攔截器添加的key的名字

value:靜态攔截器添加的key對應的value值

selector.type 預設為replicating

selector.header:選擇作為判斷的key

selector.default:預設的channel配置

selector.mapping.*:比對到的channel的配置

負載均衡

a1.sinkgroups=g1

a1.sinkgroups.g1.sinks=k1 k2

a1.sinkgroups.g1.processor.type=load_balance

a1.sinkgroups.g1.processor.backoff=true

a1.sinkgroups.g1.processor.selector=round_robin

a1.sinkgroups.g1.processor.selector.maxTimeOut=30000

backoff:開啟後,故障的節點會列入黑名單,過一定時間再次發送,如果還失敗,則等待是指數增長;直到達到最大的時間。

如果不開啟,故障的節點每次都會被重試。

selector.maxTimeOut:最大的黑名單時間(機關為毫秒)。

故障轉移

a1.sinkgroups.g1.processor.type=failover

a1.sinkgroups.g1.processor.priority.k1=10

a1.sinkgroups.g1.processor.priority.k2=5

a1.sinkgroups.g1.processor.maxpenalty=10000

#maxpenalty 對于故障的節點最大的黑名單時間 (in millis 毫秒)

本文轉自SummerChill部落格園部落格,原文連結:http://www.cnblogs.com/DreamDrive/p/7635161.html,如需轉載請自行聯系原作者