Avro Source
正則表達式
簡介:監聽Avro端口並從外部的Avro客戶端接收事件流,多個flume agent能夠經過Avro造成一個組織。
shell
Property Name Default Descriptionapache
channels – 緩存
type – 須要配置爲Avroapp
bind – 須要監聽的主機名或ip地址dom
port – 監聽的端口異步
threads – 工做的最大線程數ide
selector.type 測試
selector.* ui
interceptors – 空格分割的攔截器列表
interceptors.*
compression-type none 這塊能夠是「none」或者「deflate」,壓縮類型必須和AvroSource匹配
ssl false 設置爲true開啓ssl. 同時必須明確 「keystore」和「keystore-password」.
keystore – 這是ssl須要的keystore file的地址
keystore-password – 這是ssl須要的keystore的密碼
keystore-type JKS keystore的類型. 能夠是「JKS」或者「PKCS12」.
exclude-protocols SSLv3 空格分割的須要排序的SSL/TLS協議. SSLv3默認被排除
ipFilter false 設置爲true開啓netty的ip過濾
ipFilter.rules – 經過逗號分隔的ip過濾規則
ipFilter.rules例子:ipFilter.rules=allow:ip:127.*,allow:name:localhost,deny:ip:*
2.Thrift Source
簡介:監控Thrift客戶端並從外部的Thrift客戶端接收事件流.
Property Name Default Description
channels –
type – 須要配置爲Thrift
bind – 須要監聽的主機名或ip地址
port – 須要監聽的端口
threads – 工做的最大線程數
selector.type
selector.*
interceptors – 空格分割的攔截器列表
interceptors.*
ssl false 設置爲true開啓ssl. 同時必須明確 「keystore」和「keystore- password」.
keystore – This is the path to a Java keystore file. Required for SSL.
keystore-password – The password for the Java keystore. Required for SSL.
keystore-type JKS The type of the Java keystore. This can be 「JKS」 or 「PKCS12」.
exclude-protocols SSLv3 Space-separated list of SSL/TLS protocols to exclude. SSLv3 will always be excluded in addition to the protocols specified.
kerberos false Set to true to enable kerberos authentication. In kerberos mode, agent-principal and agent-keytab are required for successful authentication. The Thrift source in secure mode, will accept connections only from Thrift clients that have kerberos enabled and are successfully authenticated to the kerberos KDC.
agent-principal – The kerberos principal used by the Thrift Source to authenticate to the kerberos KDC.
agent-keytab —- The keytab location used by the Thrift Source in combination with the agent-principal to authenticate to the kerberos KDC.
3.exec source
簡介:運行一個給定的unix命令,而且該命令會不斷產生標準數據(stderr直接丟棄除非屬性 logStdErr設置爲true),若是進程由於任何緣由失敗了,source仍然會繼續運行可是沒有數據.
Property Name Default Description
channels –
type – 須要設置爲exec
command – 執行的unix命令
shell – shell將會調用的命令,如:/bin/sh -c.
restartThrottle 10000 多少毫秒從新執行
restart false 若是命令失敗了是否重啓
logStdErr false 是否stderr被記錄
batchSize 20 一次發送到channel的記錄條數
batchTimeout 3000 若是緩存尚未慢,數據在緩存多少毫秒後被髮送
selector.type replicating replicating或者multiplexing
selector.* 取決於selector.type的值
interceptors – 空格分割的攔截器列表
interceptors.*
警告:ececsource和其餘的異步都是沒法保證的source,數據可能會丟失,好比當你在tailf一個文件的時候,進程出現了問題,當恢復正常的時候execsource沒法知道上次讀取到了什麼位置,只會從當前位置開始tail,解決方法是可使用spool source.
提示:當使用tail時,使用-F參數而不是-f,-F支持文件旋轉
4.JMS source
簡介:JMS source從JMS目標地址好比queue或者是topic獲取信息,咱們只有測試過ActiveMQ
Property Name Default Description
channels –
type – 須要設置爲jms
initialContextFactory – e.g: org.apache.activemq.jndi.ActiveMQInitialContextFactory
connectionFactory – The JNDI name the connection factory shoulld appear as
providerURL – The JMS provider URL
destinationName – Destination name
destinationType – Destination type (queue or topic)
messageSelector – Message selector to use when creating the consumer
userName – Username for the destination/provider
passwordFile – File containing the password for the destination/provider
batchSize 100 Number of messages to consume in one batch
converter.type DEFAULT Class to use to convert messages to flume events. See below.
converter.* – Converter properties.
converter.charset UTF-8 Default converter only. Charset to use when converting JMS TextMessages to byte arrays.
converter:BytesMessage,TextMessage,ObjectMessage
5.Spooling Directory Source
簡介:監聽給定目錄下文件,而後將文件傳輸,該source是可靠的不會丟失數據.放到該目錄下的文件必須是不可變的,惟一的.
若是有如下條件產生,任務將會報錯:
1.當目錄中文件被打開寫入時,flume將會報錯,任務結束
2.當文件被再次使用的時候,flume將會報錯,任務結束
爲了解決這些問題,使用惟一標識,如timestamp將會有效解決
Property Name Default Description
channels –
type – 須要設置爲spooldir.
spoolDir – 讀取文件的目錄
fileSuffix .COMPLETED 當文件讀取完畢後加的後綴名
deletePolicy never 是否刪除文件,never或者immediate
fileHeader false 文件是否存儲到一個絕對路徑
fileHeaderKey file 絕對路徑的值
basenameHeader false Whether to add a header storing the basename of the file.
basenameHeaderKey basename Header Key to use when appending basename of file to event header.
ignorePattern ^$ 使用正則表達式表示哪些文件被跳過
trackerDir .flumespool 存儲進程matadata文件的路徑,若是不是絕對路徑的話將被解釋爲spooldir的相對路徑
consumeOrder oldest/youngest/random,文件被處理的前後,使用文件的最後修改時間來比較,若是時間一致,文件小的先被處理
maxBackoff 4000 當緩衝池滿了後多少毫秒後從新嘗試發送
batchSize 100 每次傳送到channel的記錄數
inputCharset UTF-8 文件被當作文本的編碼.
decodeErrorPolicy FAIL 當文件沒法解碼時怎麼作, FAIL: Throw an exception and fail to parse the file. REPLACE: Replace the unparseable character with the 「replacement character」 char, typically Unicode U+FFFD. IGNORE: Drop the unparseable character sequence.
deserializer LINE 指定文件被怎麼樣指定爲事件, 默認將每一行當作一個事件.本身實現的類必須implement EventDeserializer.Builder.
deserializer.* Varies per event deserializer.
bufferMaxLines – (Obselete) 這個配置目前被忽略
bufferMaxLineLength 5000 (Deprecated) 多少字節的行能夠被提交,不同意使用, Use deserializer.maxLineLength instead.
selector.type replicating replicating or multiplexing
selector.* Depends on the selector.type value
interceptors – Space-separated list of interceptors
interceptors.*