1、HDFS Sink
該sink把events寫進Hadoop分佈式文件系統(HDFS)。它目前支持創建文本和序列文件。它支持在兩種文件類型壓縮。文件可以基於數據的經過時間或者大小或者事件的數量週期性地滾動。它還通過屬性(如時間戳或發生事件的機器)把數據劃分爲桶或區。
上述配置會將時間戳降到最後10分鐘。例如,帶有11:54:34 AM,June 12,2012時間戳的event將會造成hdfs路徑變成/flume/events/2012-06-12/1150/00。
2、 Hive Sink
該sink streams 將包含分割文本或者JSON數據的events直接傳送到Hive表或分區中。使用Hive 事務寫events。當一系列events提交到Hive時,它們馬上可以被Hive查詢到。
上述配置將會把時間戳降到最後10分鐘。例如,event時間戳 header設置爲 11:54:34 AM, June 12,2012 ,和 ‘country’ header 設置 爲 ‘india’ , 該event評估到partition(continent='asia', country='india', time='2012-06-12-11-50')。
3、 Logger Sink
Logs event 在INFO 水平。典型用法是測試或者調試。
4 、Avro Sink
Flume events發送到sink,轉換爲Avro events,併發送到配置好的hostname/port。從配置好的channel按照配置好的批量大小批量獲取events。
5、Thrift Sink
Flume events發送到sink,轉換爲Thrift events,併發送到配置好的hostname/port。從配置好的channel按照配置好的批量大小批量獲取events。
6、 IRC Sink
IRC sink從鏈接的channel獲取消息和推送消息到配置的IRC目的地。
agent a1示例:
7 、Null Sink
當接收到channel時丟棄所有events。
agent a1示例:
8、 HBaseSinks
該sink寫數據到HBase。
agent a1 示例:
AsyncHBaseSink
該sink採用異步模式寫數據到HBase。
agent a1示例:
9、 MorphlineSolrSink
該sink從Flume events提取數據並轉換,在Apache Solr 服務端實時加載,Apache Solr servers爲最終用戶或者搜索應用程序提供查詢服務。
agent a1示例:
10、 ElasticSearchSink
該sink寫數據到elasticsearch集羣。
agent a1示例:
11、 Kafka Sink
Flume Sink實現可以導出數據到一個Kafka topic。
Kafka sink配置例子:
Security and Kafka Sink
Flume和Kafka之間的聯繫channel支持安全認證和數據加密。
安全認證SASL/GSSAPI(Kerberos V5) 或者 SSL(TLS實現) 可以被用於Kafka 版本 0.9.0 。
數據加密由SSL/TLS提供。
設置kafka.producer.security.protocol爲下面值:
- SASL_PLAINTEXT - Kerberos or plaintext authentication with no data encryption
- SASL_SSL - Kerberos or plaintext authentication with data encryption
- SSL - TLS based encryption with optional authentication.
TLS 和 Kafka Sink:
帶有服務端認證和數據加密配置的例子:
注意:屬性ssl.endpoint.identification.algorithm沒有定義,因此沒有hostname驗證,爲了是hostname驗證,可以設置屬性:
如果要求有客戶端認證,在Flume agent配置中添加下述配置。每個Flume agent必須有它的客戶端憑證,以便被Kafka brokers信任。
如果keystore和key使用不用的密碼保護,那麼ssl.key.password屬性需要提供出來:
Kerberos and Kafka Sink:
kerberos配置文件可以在flume-env.sh通過JAVA_OPTS指定:
使用SASL_PLAINTEST的安全配置示例:
使用SASL_SSL的安全配置示例:
JAAS文件實例(暫時沒看懂):
12 、HTTP Sink
該sink將會從channel獲取events,並使用HTTP POST請求發送這些events到遠程服務。event 內容作爲POST body發送。
agent a1示例:
13、 Custom Sink(自定義Sink)
自定義sink是你實現Sink接口。當啓動Flume agent時,一個自定義sink類和它依賴項必須在agent的classpath中。
agent a1 示例:
14、 Custom Sink(自定義Sink)
自定義sink是你實現Sink接口。當啓動Flume agent時,一個自定義sink類和它依賴項必須在agent的classpath中。
agent a1 示例: