本文為您介紹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,才能正確滾動檔案。 |