为了更快的定位您的问题,请提供以下信息,谢谢
【详述】关于本地开发无法访问到云上局域网内造成无法导入数据开起事务超时
【背景】在云服务器配置的集群都是使用的局域网导致在本地开发flink应用使用flink-connector-starrocks插件会请求开启事务,但是这个事务IP是局域网了,导致本地请求超时,无法写入数据。
com.starrocks.streamload.shade.org.apache.http.conn.HttpHostConnectException xxx.xxx.xxx:8040
【业务影响】否
【是否存算分离】否
【StarRocks版本】3.1
【集群规模】例如:3fe(2)+3be(fe与be混部)
【机器信息】CPU虚拟核/内存/网卡,例如:48C/64G/万兆
【联系方式】sunnyboy_3@163.com
【附件】无
链接不了云上的8040端口吧
嗯嗯,我使用的是集群部署的方式。
代码配置的是
.option(“starrocks.fe.http.url”, “1.14.7.xx:8030”)
.option(“starrocks.fe.jdbc.url”, “jdbc:mysql://1.14.7.xx:9030”)
这是外网的地址。
报错日志如下:172.27.32.29 说明:这是云服务器集群的局域网地址
23/12/05 22:21:39 INFO TransactionStreamLoader: Transaction start, db: service_statistics_metrics, table: student_question_min, label: 566a0633-215b-49ca-89d7-55743b8be69c, request : POST http://1.14.7.xx:8030/api/transaction/begin HTTP/1.1
23/12/05 22:22:54 ERROR StreamLoadManagerV2: Stream load failed
java.lang.RuntimeException: com.starrocks.streamload.shade.org.apache.http.conn.HttpHostConnectException: Connect to 172.27.32.29:8043 [/172.27.32.29] failed: Operation timed out (Connection timed out)
at com.starrocks.data.load.stream.TransactionStreamLoader.doBegin(TransactionStreamLoader.java:139)
at com.starrocks.data.load.stream.TransactionStreamLoader.begin(TransactionStreamLoader.java:81)
at com.starrocks.data.load.stream.DefaultStreamLoader.send(DefaultStreamLoader.java:117)
at com.starrocks.data.load.stream.v2.TransactionTableRegion.streamLoad(TransactionTableRegion.java:334)
at com.starrocks.data.load.stream.v2.TransactionTableRegion.flush(TransactionTableRegion.java:233)
at com.starrocks.data.load.stream.v2.StreamLoadManagerV2.lambda$init$0(StreamLoadManagerV2.java:160)
at java.lang.Thread.run(Thread.java:748)
Caused by: com.starrocks.streamload.shade.org.apache.http.conn.HttpHostConnectException: Connect to 172.27.32.29:8043 [/172.27.32.29] failed: Operation timed out (Connection timed out)
但是我用1.14.7.xx:8043 外网这个地址去请求是能够打开的。就是因为集群内网IP跟外网IP的差异导致的