StarRocks导入问题:too many tablet version解决方法

背景:

实时导入过程中经常遇到导入失败报错too many tablet version的情况,此原因是因为StarRocks内部,表级别version数量有1000的限制,通常见于数据写入频次过高,数据合并来不及从而堆积大量的verison。本文主要介绍此种情况下如何恢复导入任务。

现象:

导入失败时检索be日志

grep 'too many tablet versions' /data/xxx/starrocks/be/log/be.WARNING

会发现如下错误

恢复步骤:

在日志里搜索所示字样

grep 'Fail to init delta writer' /data/xxx/starrocks/be/log/be.WARNING

检索结果会有tablet=xxx的信息,

这里以tablet 716097为例

连接starrocks然后查询tablet所属表信息:

show tablet 716097

如下所示,DbName和TableName分别表示对应database和所属表

此时需要调整写入该表的任务间隔、并发、单次写入量:核心在于通过增大单次写入数据量,减少任务提交次数以及写入并发。

以routineload为例:

参考文档:https://docs.starrocks.com/zh-cn/main/loading/RoutineLoad

* max_batch_interval :每个子任务最大执行时间,单位是「秒」。范围为 5 到 60。默认为10。 **1.15版本后** : 该参数是子任务的调度时间,即任务多久执行一次,任务的消费数据时间为fe.conf中的routine_load_task_consume_second,默认为3s, 任务的执行超时时间为fe.conf中的routine_load_task_timeout_second,默认为15s。

* max_batch_rows :每个子任务最多读取的行数。必须大于等于200000。默认是200000。 **1.15版本后** : 该参数只用于定义错误检测窗口范围,窗口的范围是10 * **max-batch-rows** 。

* max_batch_size** :每个子任务最多读取的字节数。单位是「字节」,范围是 100MB 到 1GB。默认是 100MB。 **1.15版本后** : 废弃该参数,任务消费数据的时间为fe.conf中的routine_load_task_consume_second,默认为3s。

如果配置了上述单个参数,可直接修改相应参数为较大值,如果配置了上述多个参数,starrocks内部触发任一参数阈值即会提交任务,所以根据实际导入数据调整相应多个参数。

datax相应参数:

参考文档:https://docs.starrocks.com/zh-cn/main/loading/DataX-starrocks-writer

* maxBatchRows

  • 描述:单次StreamLoad导入的最大行数
  • 必选:否
  • 默认值:500000 (50W)

* maxBatchSize

  • 描述:单次StreamLoad导入的最大字节数。
  • 必选:否
  • 默认值:104857600 (100M)

* flushInterval

  • 描述:上一次StreamLoad结束至下一次开始的时间间隔(单位:ms)。
  • 必选:否
  • 默认值:300000 (ms)

flink相应参数:

参考文档:https://docs.starrocks.com/zh-cn/main/loading/Flink-connector-starrocks

* sink.buffer-flush.max-bytes

  • 描述:the max batching size of the serialized data, range: [64MB, 10GB].
  • 必选:否
  • 默认值:94371840(90M)

* sink.buffer-flush.max-rows

  • 描述:the max batching rows, range: [64,000, 5000,000]
  • 必选:否
  • 默认值:500000

* sink.buffer-flush.interval-ms

  • 描述:the flushing time interval, range: [1000ms, 3600000ms].|
  • 必选:否
  • 默认值:300000
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值