当前位置: 首页 > news >正文

flink采用thrift读取tablets一个天坑

原先的配置

[INFO] StarRocksSourceBeReader [open Scan params.mem_limit 8589934592 B]
[INFO] StarRocksSourceBeReader [open Scan params.query-timeout-s 600 s]
[INFO] StarRocksSourceBeReader [open Scan params.keep-alive-min 100 min]
[INFO] StarRocksSourceBeReader [open Scan params.batch_size 1000]

错误

程序读取starrocks跑10分钟左右报错

Caused by: java.lang.RuntimeException: Failed to get next from be -> ip:[172.24.5.172] CANCELLED msg:[Set cancelled by MemoryScratchSinkOperator]

解决方案

原因:是因为参数params.query-timeout-s 设置600秒,导致未读取完数据,直接取消了。

修改后的配置

[open Scan params.mem_limit 8589934592 B]
[open Scan params.query-timeout-s 6000 s]
[open Scan params.keep-alive-min 100 min]
[open Scan params.batch_size 1000]

各个参数说明

/*** StarRocks Source* @return*/public static StarRocksSourceOptions createStarRocksSourceOptions(String db,String tableName){StarRocksSourceOptions.Builder builder = StarRocksSourceOptions.builder().withProperty("connector", SR_SOURCE_CONNECTOR).withProperty("scan-url", SR_SOURCE_SCAN_URL).withProperty("jdbc-url", SR_SOURCE_JDBC_URL).withProperty("username", SR_SOURCE_USERNAME).withProperty("password", SR_SOURCE_PASSWORD)//BE 节点中单个查询的内存上限。单位:字节。默认值:1073741824(即 1 GB)。104857600:100M.withProperty("scan.params.mem-limit-byte","10737418240")//数据读取任务的超时时间,在任务执行过程中进行检查。单位:秒。默认值:600。如果超过该时间,仍未返回读取结果,则停止数据读取任务。.withProperty("scan.params.query-timeout-s","2592000")//Flink 连接器连接 StarRocks 集群的时间上限。单位:毫秒。默认值:1000。超过该时间上限,则数据读取任务会报错。.withProperty("scan.connect.timeout-ms","2592000")//数据读取任务的保活时间,通过轮询机制定期检查。单位:分钟。默认值:10。建议取值大于等于 5。.withProperty("scan.params.keep-alive-min","8")//数据读取失败时的最大重试次数。默认值:1。超过该数量上限,则数据读取任务报错。.withProperty("scan.max-retries","100").withProperty("table-name",tableName).withProperty("database-name",db);return builder.build();

a3c69779aa94d4d83862077dd2cb6548.jpeg

http://www.lryc.cn/news/100587.html

相关文章:

  • Android 面试题 异常捕获 四
  • 自动化测试:让软件测试更高效更愉快!
  • SpringCloud学习—Feign负载均衡
  • 5G时代的APP开发:机遇与挑战
  • Python基础入门教程(上)
  • 【环境配置】Windows下WSL将ubuntu挪位置-系统盘清理
  • 【前端知识】React 基础巩固(三十三)——Redux的使用详解
  • 如何进行SQL优化
  • docker 部署 mysql8.0 无法访问
  • 理解构建LLM驱动的聊天机器人时的向量数据库检索的局限性 - (第1/3部分)
  • IntersectionObserver实现小程序长列表优化
  • Nginx动静分离、资源压缩、负载均衡、黑白名单、防盗链等实战
  • Rust之枚举与模式匹配
  • nfs服务器的描述,搭建和使用
  • libuv库学习笔记-filesystem
  • 记录vue的一些踩坑日记
  • Mybatis学习笔记
  • 网络编程(11):三次握手和四次挥手部分细节(后续补充)
  • MySQL学习笔记 ------ 子查询
  • 自然语言处理应用程序设计
  • LeetCode 436. Find Right Interval【排序,二分;双指针,莫队】中等
  • 正则表达式 —— Sed
  • TypeScript中数组,元组 和 枚举类型
  • MyBatis-Plus-Join 多表查询的扩展
  • 认清现实重新理解游戏的本质
  • LeetCode 2050. Parallel Courses III【记忆化搜索,动态规划,拓扑排序】困难
  • ETHERNET/IP转RS485/RS232网关什么是EtherNet/IP?
  • 使用node内置test runner,和 Jest say 拜拜
  • 《面试1v1》Kafka的架构设计是什么样子
  • 比较常见CPU的区别:Intel、ARM、AMD