2017-02-21 60 views
0

我有一個hive table,它是2.7 MB(以鑲木地板格式存儲)。當我使用impala-shell將此配置表格轉換爲kudu時,我注意到/tserver/文件夾大小增加了大約300 MB。在進一步探索之後,我發現它是/tserver/wals/文件夾,它佔據了這一增長的大部分。由於這個,我面臨嚴重的問題。如果一個2.7 MB的文件生成一個300 MB的WAL,那麼我無法真正處理更大的數據。有針對這個的解決方法嗎?Apache Kudu爲WALs使用的磁盤空間太多

我的kudu版本是1.1.0,黑斑羚是2.7.0

回答

0

我從來沒有使用過KUDU,但我可以在Google上使用幾個關鍵字,並閱讀一些文檔。

Kudu configuration reference部分「不支持的標誌」 ...

--log_preallocate_segments
是否應該WAL寫它
默認爲true之前預分配整個段

--log_segment_size_mb
日誌翻轉的默認段大小,單位爲MB
默認值64

--log_min_s egments_to_retain
無論 耐用性要求如何,始終保持的最小過去的日誌段數。必須至少有1
默認2

--log_max_segments_to_retain
過去的日誌段的最大數量保持在所有時間趕上其他 同行的目的。
默認值10

看起來你有(2 + 1)64 MB 每片一個最小盤的要求,只爲WAL。如果某些平板電腦出現故障並且無法跟上,它可以增長到10x64 MB。

加上壓實一些臨時的磁盤空間等等,等等


[編輯]這些默認值已經改變 Kudu 1.4(以2017年6月發佈);引用版本說明...

寫先行日誌(WAL)段的默認大小已從12MB減少到12MB。此外,如果 平板電腦的所有副本都完全保持最新,並且數據已從內存中清除,則 服務器現在將只保留一個WAL段而不是兩個。
這些變化有望由16X

減少配置WAL磁盤 磁盤 空間的平均消耗