日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Flume学习_接收器

發布時間:2023/12/15 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Flume学习_接收器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

1.Flume框架支持很多類型的接收器:HDFS接收器,HBase接收器,IRC接收器,ElasticSearch接收器,MongoDB接收器,Cassandra接收器,RabbitMQ接收器以及其他數據存儲接收器等。

2.HDFS接收器:持續打開HDFS中的文件,然后以流的方式將數據寫入其中,并且在某個時間點關閉該文件再打開新的文件。

3.如果需要使用HDFS接收器,需要設置如下參數:

agent.sinks.k1.type = hdfs? ? ? ? ? --為名為agent的代理定義了一個名為k1的HDFS接收器

agent.sinks.k1.hdfs.path = /path/in/hdfs? ?--表示將數據寫到該路徑下

類型路徑
絕對路徑/usr/local/flume/mydata
帶有服務器名的絕對路徑hdfs://namenode/users/flume/data
相對路徑mydata

agent.sinks.k1.channel = c1

4.路徑與文件名

? ? 1.每次Flume在HDFS中的hdfs.path開啟一個新文件寫入數據時,該文件名都由hdfs.filePrefix,一個點符號,文件開啟的時間戳以及由hdfs.fileSuffix屬性指定的一個文件后綴構成,例如:

????agent.sinks.k1.hdfs.path = /logs/apache/access

????agent.sinks.k1.hdfs.filePrefix = access

????agent.sinks.k1.hdfs.fileSuffix = .log

????上面的配置中,會生成一個類似于/logs/apache/access/accesss.1362945258.log文件,時間久了,hdfs.path目錄將會變滿,需要在路徑中添加某種時間元素將文件劃為若干子目錄。

????agent.sinks.k1.hdfs.path = /logs/apache/access/%Y/%m/%D/%H

????2.Flume可以一次寫入多個文件,屬性hdfs.maxOpenFiles設定了一次可以寫多少的上限,默認值為5000,如果超過了這個限制,處于打開狀態的最老的文件將會被關閉。

? ? 3.為了避免在文件關閉前使用臨時文件,請將后綴設為空(而不是默認的.tmp),將前綴設為一個點或是一個下劃線,例如:

????????agent.sinks.k1.hdfs.inUsePrefix=_

????????agent.sinks.k1.hdfs.inUseSuffix=

5.文件轉儲

? ?1.?默認情況下,Flume會每隔30秒,10個事件或是1024個字節來轉儲寫入的文件。

????? ? agent.sinks.k1.hdfs.rollInterval = 60

? ? ? ? agent.sinks.k1.hdfs.rollCount = 0

? ? ? ?agent.sinks.k1.hdfs.rollSize = 0

? ?2.hdfs.batchSize:它指的是在每個事務中接收器從通道所讀取的事件數量。如果通道中有大量的數據,那么將該參數設為大于100(默認值)會提升性能,這會降低每個事件的事務代價。

6.壓縮編解碼器

? ? agent.sinks.k1.hdfs.codeC = gzip

7.事件序列化器:指的是Flume事件轉換為另一種格式以進行輸出的機制。它在功能上類似于log4j的Layout類。

? ? 1.Apache Avro項目

? ? ? ?agent.sinks.k1.serializer = avro_event

? ? ? agent.sinks.k1.serializer.compressionCodec = snappy

????? agent.sinks.k1.serializer.syncIntervalBytes = 4194304

? ? ? agent.sinks.k1.hdfs.fileSuffix = .avro

? ?備注:1.不能設置Avro文件的hdfs.codeC屬性。

8.接收器組:為了在數據處理管道中消除單點失敗問題,Flume提供了通過負載均衡或是故障恢復機制將事件發送到不同的接收器的能力。

? ? 1.接收器組用于創建邏輯接收器分組,該分組的行為是由接收處理器來控制的,它決定了事件的路由方式。

? ? ? agent.sinkgroups = sg1

? ? ? agent.sinkgroups.sg1.sinks = k1,k2

? ? 2.負載均衡

? ? ? 如果將processor.type設置為load_balance,那就會使用循環選擇,除非指定了processor.selector屬性。你可以將該屬性設為round_robin或是random.

? ? ? ?agent.sinkgroups.sg1.sinks = k1,k2,k3

? ? ? ?agent.sinkgroups.sg1.processor.type = failover

? ? ? ?agent.sinkgroups.sg1.processor.priority.k1 =10

????? ?agent.sinkgroups.sg1.processor.priority.k2 = 20

? ? ? ?agent.sinkgroups.sg1.processor.priority.k3 =20

? ? 1.優先級數字低的表示會優先使用,數字相同的則會隨機使用。

? ? ?2.processor.maxPenality為組中不可用的接收器設定了一個指數退避上限。首次失敗后要間隔一秒鐘才可以再次使用。之后的失敗都會將等待時間加倍,直到到達processor.maxPenality值為止。

?

?

轉載于:https://my.oschina.net/pengbina/blog/2874632

總結

以上是生活随笔為你收集整理的Flume学习_接收器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。