【starrocks】StarRocks 常见 HTTP 操作与导入错误排查指南

文章目录

StarRocks 是一款面向分析型场景的高性能 MPP 数据库,提供了丰富的 HTTP 接口,广泛用于数据导入、系统状态查询和任务管理。本文将系统梳理 StarRocks 常用的 HTTP 操作命令,并介绍如何排查数据导入过程中的常见错误。


一、Stream Load:通过 HTTP 导入数据

Stream Load 是 StarRocks 最常用的数据导入方式之一,适合小批量、实时的数据写入。

示例命令:CSV 文件导入

bash 复制代码
curl -u user:password \
  -H "label: test_load_001" \
  -H "column_separator:," \
  -T ./data.csv \
  http://fe_host:8030/api/db_name/table_name/_stream_load

参数说明:

  • user:password:StarRocks 用户名与密码
  • label:导入任务的唯一标识符,建议每次都设置
  • column_separator:列分隔符(默认是 TAB)
  • -T:要上传的文件路径
  • URL 格式:http://FE_HOST:8030/api/{db}/{table}/_stream_load

支持的其他参数:

  • format: json:支持 JSON 格式导入
  • strip_outer_array: true:JSON 数组展开导入
  • Content-Encoding: gzip:支持压缩导入(如 .gz 文件)

二、导入状态查询

导入任务完成后,可以使用 label 查询其状态:

bash 复制代码
curl -u user:password \
  "http://fe_host:8030/api/db_name/_load?label=test_load_001"

返回内容将包含任务状态(成功、失败)、错误摘要及错误日志链接。


三、取消导入任务

如果某个导入任务未完成或卡住,可以通过以下命令取消:

bash 复制代码
curl -X DELETE -u user:password \
  "http://fe_host:8030/api/db_name/_load?label=test_load_001"

四、节点状态监控

查看所有 Backend 状态:

bash 复制代码
curl http://fe_host:8040/api/show_backends

查看所有 Frontend 状态:

bash 复制代码
curl http://fe_host:8030/api/show_frontends

五、导入失败的排查方式

如果导入失败,可以通过以下步骤排查问题。

1. 查询导入任务状态

bash 复制代码
curl -u user:password \
  "http://fe_host:8030/api/db_name/_load?label=test_label"

关注返回结果中的:

  • status: 是否为 fail
  • msg: 错误摘要
  • errorURL: 下载详细错误日志链接

2. 下载详细错误日志

bash 复制代码
curl -O "http://be_host:8040/api/_load_error_log?file=be_err_log_xxx.log"

日志内容可能包括字段类型不匹配、NULL 错误等。

3. 查看 FE/BE 节点日志

FE 日志路径:

${STARROCKS_HOME}/fe/log/

  • load.log:导入相关日志
  • fe.log:通用日志,可搜 stream load
BE 日志路径:

${STARROCKS_HOME}/be/log/

  • be.log:详细错误处理信息

grep 示例:

bash 复制代码
grep "test_label" ${STARROCKS_HOME}/fe/log/load.log

六、常见错误类型与建议处理方式

错误类型 原因 处理建议
Data type mismatch 数据格式与表字段不匹配 检查字段类型、NULL 值、分隔符
unexpected null 非空字段出现 NULL 检查字段是否缺失或多余分隔符
Label already exists 重复使用 label 更换 label,或使用 UUID 动态生成
File too large 单个文件过大 拆分文件、提升导入参数限制
Timeout 网络或导入超时 检查网络和 FE/BE 负载
相关推荐
sweet丶2 小时前
MQTT在iOS中的应用实践
网络协议
ALINX技术博客2 小时前
【黑金云课堂】FPGA技术教程Vitis开发:TCP以太网通信
网络协议·tcp/ip·fpga开发
matrixmind83 小时前
HTTPX:Python 下一代 HTTP 客户端
python·其他·http·httpx
W.W.H.4 小时前
Ping 与 TCP:网络连通性探测的两种维度
网络·网络协议·tcp/ip
IpdataCloud4 小时前
担心IP查询泄露隐私?用离线查询工具安全查IP,数据不出内网
网络协议·tcp/ip·安全
码农飞哥5 小时前
RocketMQ消费接口设计实战:为什么HTTP回调接口必须吞掉所有异常,始终返回成功?
网络协议·http·中间件·消息队列·rocketmq
行走__Wz5 小时前
【网工入门-04】局域网、城域网、广域网
网络协议
白露与泡影5 小时前
为什么 RPC 要比 HTTP 更快?我:之前项目只用过 HTTP...
网络协议·http·rpc
上海云盾-小余5 小时前
弱口令专项整治:批量检测与强制加固方案
网络协议·安全
code monkey.6 小时前
【Linux之旅】HTTP 协议解析:从请求格式到构建 Web 服务器
linux·服务器·网络·http