全部產品
Search
文件中心

E-MapReduce:常用參數調優

更新時間:Jul 01, 2024

本文為您介紹Taildir Source、File Channel和HDFS Sink配置中的一些常用參數調優。

Taildir Source

參數描述
filegroups將一個目錄拆分為多個,增加Source讀取並發。
batchSize預設值為100。一次性讀取資料行數,適當調大該參數值可以提高輸送量。

File Channel

參數描述
checkpointInterval預設值為30,單位為秒(s)。適當調小該參數值可以縮短寫CheckPoint間隔。
useDualCheckpoints預設值為false。修改該參數值為true,可以防止重啟時因為CheckPoint丟失,從頭讀取所有Event。
maxFileSize預設值為1.6,單位為GB。表示單個DATA檔案的大小。

適當調小該參數值以便FileChannel可以儘快移除到期檔案,減少佔用磁碟。

capacity預設值為1000000。表示Channel最多保留的Events數量。

調大該參數可以最佳化輸送量,也可以使用該參數乘以單個Event大小來估算磁碟佔用情況。

transactionCapacity預設值為10000。Channel支援的單個事務的最大容量。

HDFS Sink

參數描述
hdfs.batchSize預設值為100。向HDFS寫入內容時每次大量操作的Event數量。
適當調大該參數可提高輸送量。
說明 建議此參數值和Source配置中batchSize的參數值保持一致,且均不應該超過Channel配置中transactionCapacity的參數值。
hdfs.threadsPoolSize預設值為10,HDFS IO線程數,根據機器配置調整。
hdfs.useLocalTimeStamp預設值為false。表示是否使用本地時間戳記。

如果需要在Event的Head中新增時間戳記,設定該參數值為true。

hdfs.rollInterval預設值為30,單位為秒(s)。表示間隔多久臨時檔案滾動為目標檔案。

設定為0時,表示不基於時間滾動。

hdfs.rollSize預設值為1024,單位為位元組(Byte)。表示檔案大小到達該參數值時,滾動為目標檔案。

設定為0時,表示不基於大小滾動。

hdfs.rollCount預設10個事件。表示事件數目量達到該數量時滾動為目標檔案。

設定為0時,表示不基於事件數目量滾動。

hdfs.minBlockReplicas預設為HDFS副本數,表示HDFS檔案塊的最小副本數。

通常配置為1,才能正確滾動檔案。