Apache Kudu用于WAL的磁盘空间太多

时间:2017-02-21 20:53:40

标签: apache-kudu

我的hive table为2.7 MB(以拼花格式存储)。当我使用impala-shell将此配置单元格转换为kudu时,我注意到/tserver/文件夹大小增加了大约300 MB。在进一步探索之后,我发现/tserver/wals/文件夹占据了这一增长的大部分。由于这个原因,我面临着严重的问题。如果2.7 MB文件生成300 MB WAL,那么我无法真正处理更大的数据。这个问题有方法解决吗?

我的kudu版本为1.1.0,impala为2.7.0

1 个答案:

答案 0 :(得分:1)

我从未使用过KUDU,但我可以通过几个关键字谷歌,并阅读一些文档。

来自Kudu configuration reference部分“不支持的标记” ...

  

- log_preallocate_segments
WAL是否应该在写入之前预先分配整个段。默认为true

     

- log_segment_size_mb
日志滚动的默认分段大小,以MB为单位<默认64

     

- log_min_segments_to_retain
始终保留的过去日志段的最小数量,无论需要什么   耐久性。必须至少为1.
默认2

     

- log_max_segments_to_retain
为了追赶其他目的,始终保留的过去日志段的最大数量   同行。
默认10

对于WAL,您看起来每个平板电脑的最小磁盘要求为(2 + 1)x64 MB 。如果某些平板电脑正在分散并无法赶上,它可以长到10x64 MB。

还有一些临时磁盘空间用于压缩等等。


[编辑] 这些默认值已在 Kudu 1.4 中更改(6月发布) 2017年);引用发行说明......

  

写入前进日志(WAL)段的默认大小已减少   从64MB到8MB。另外,在所有复制品的情况下   平板电脑是完全最新的,数据已从内存中刷新,   服务器现在只保留一个WAL段,而不是两个   预计这些变化会降低磁盘的平均消耗   配置的WAL磁盘 16x

上的空格