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.k..
·
原先的配置
[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();

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)