1. 发生 “close index channel failed” 和 “too many tablet versions” 错误应该如何处理?
上述报错是因为导入频率太快,数据没能及时合并 (Compaction) ,从而导致版本数超过支持的最大未合并版本数。默认支持的最大未合并版本数为 1000。可以通过如下方法解决上述报错:
-
增大单次导入的数据量,降低导入频率。
-
修改 BE 配置文件 be.conf 中相关参数的配置,以加快 Compaction:
-
对于明细表、聚合表和更新表,可以适当调大
cumulative_compaction_num_threads_per_disk
、base_compaction_num_threads_per_disk
和cumulative_compaction_check_interval_seconds
的值。例如:1
2
3cumulative_compaction_num_threads_per_disk = 4
base_compaction_num_threads_per_disk = 2
cumulative_compaction_check_interval_seconds = 2 -
对于主键表,可以适当调大
update_compaction_num_threads_per_disk
的值。适当调小update_compaction_per_tablet_min_interval_seconds
的值。
修改完成后,需要观察内存和 I/O,确保内存和 I/O 正常。
-
curl -XPOST http://172.20.85.188:8040/api/update_config?tablet_max_versions=10000