Doris export任务概率性cancelled第二种情况

本文探讨了从Doris到Hive的大规模数据表导入过程中,遇到的定时取消与错误处理问题。作者详细记录了报错日志,分析了`timeout`和`tablet_num_per_task`调整后的效果,以及涉及的FE、BE和Broker节点的日志,最终提供了优化建议和可能的原因分析。

报错背景

版本

从百度预编译版v0.13.15至v0.14.12.7都有这个问题
doris 表导入至hive,采用doris的export

70多G的数据表
单分区
150桶
三副本
共3*150个tablet

export任务参数
“timeout” = “3600”
“tablet_num_per_task”=“1”

{“partitions”:["*"],“exec mem limit”:2147483648,“column separator”:"\t",“line delimiter”:"\n",“tablet num”:150,“broker”:“hdfs_broker”,“coord num”:150"}

报错内容

凌晨的export任务概率性的cancelled

show export order by createtime desc;

ErrorMsg显示
type:RUN_FAIL; msg:export exporting job fail. query id: bc2db4bd87dc4893-b40d4025438e10e7, Failed to get query fragments context. Query may be timeout or be cancelled. host:

日志跟踪

fe-master节点日志

根据JobId搜索日志最底下
在这里插入图片描述

process 14%失败

往上翻
在这里插入图片描述

fe日志这里,
deregister query id bc2db4bd87dc4893-b7a6d8b0d6db5339
unfinished instance: bc2db4bd87dc4893-b7a6d8b0d6db533a

第一次的bc2db4bd87dc4893-b7a6d8b0d6db5339的bc2db4bd87dc4893-b7a6d8b0d6db533a执行失败然后cancel了,
后面又重新注册
register query id = bc2db4bd87dc4893-b40d4025438e10e7,
然后fragment分发给一个be
dispatch load job: bc2db4bd87dc4893-b40d4025438e10e7 to [TNetworkAddress(hostname:be-xx, port:9060)]

但是他直接就exec plan fragment failed了

exec plan fragment failed, errmsg=Failed to get query fragments context. Query may be timeout or be cancelled. host: , code: INTERNAL_ERROR, fragmentId=F43, backend=be-xx:9060

be节点日志

在这里插入图片描述

第一次bc2db4bd87dc4893-b7a6d8b0d6db5339这个job到be后,
他的instance
bc2db4bd87dc4893-b7a6d8b0d6db533a失败了
报错
bc2db4bd87dc4893-b7a6d8b0d6db533a: Thrift rpc error: Fail to write to broker, broker:TNetworkAddress(hostname=broker-xx, port=8000) failed:THRIFT_EAGAIN (timed out)
fe中重新第二次尝试的bc2db4bd87dc4893-b40d4025438e10e7的instance任务
bc2db4bd87dc4893-b40d4025438e10e8
也返回了reason 3
reason:3是有特殊含义嘛
查阅be代码
在这里插入图片描述

broker日志

在这里插入图片描述
2021-08-05 14:18:06 [ pool-2-thread-20:604944856 ] - [ INFO ] receive a open writer request,

2021-08-05 14:18:26 [ pool-2-thread-20:604965097 ] - [ WARN ] Error closing output stream.
java.net.SocketException: Socket closed

一段时间(10s)关闭了
然后将"tablet_num_per_task"="1"改为5后
这里用了120s关闭.

分析

跟我之前碰到的这个类似,但是日志略有不同

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Geoffrey Turing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值