我有一个hive table
2.7 MB(以镶木地板格式存储)。当我impala-shell
将此配置单元表转换为 时kudu
,我注意到/tserver/
文件夹大小增加了大约 300 MB。在进一步探索后,我发现它是/tserver/wals/
占据大部分增长的文件夹。因此,我面临着严重的问题。如果一个 2.7 MB 的文件生成一个 300 MB 的 WAL,那么我就无法真正处理更大的数据。有针对这个的解决方法吗?
我的kudu
版本是1.1.0
,黑斑羚是2.7.0
。
我有一个hive table
2.7 MB(以镶木地板格式存储)。当我impala-shell
将此配置单元表转换为 时kudu
,我注意到/tserver/
文件夹大小增加了大约 300 MB。在进一步探索后,我发现它是/tserver/wals/
占据大部分增长的文件夹。因此,我面临着严重的问题。如果一个 2.7 MB 的文件生成一个 300 MB 的 WAL,那么我就无法真正处理更大的数据。有针对这个的解决方法吗?
我的kudu
版本是1.1.0
,黑斑羚是2.7.0
。
我从来没有使用过 KUDU,但我可以用谷歌搜索一些关键字,并阅读一些文档。
来自Kudu 配置参考部分“不支持的标志” ...
--log_preallocate_segments
WAL 是否应该在写入之前预分配整个段
默认 true--log_segment_size_mb
日志翻转的默认段大小,以 MB 为单位
默认 64--log_min_segments_to_retain 始终
保留的过去日志段的最小数量,无论持久性需要什么。必须至少为 1。
默认为 2--log_max_segments_to_retain
为赶上其他对等方而始终保留的过去日志段的最大数量。
默认 10
看起来您的最低磁盘要求为 (2+1)x64 MB per tablet,仅适用于 WAL。如果某些平板电脑落后且无法赶上,它可以增长到 10x64 MB。
加上一些用于压缩等的临时磁盘空间等。
预写日志 (WAL) 段的默认大小已从 64MB 减少到 8MB。此外,如果平板电脑的所有副本都是最新的并且数据已从内存中刷新,服务器现在将只保留一个 WAL 段而不是两个。
这些更改有望将配置的 WAL 磁盘上的磁盘空间平均消耗减少16 倍