开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

请问各位大佬,为何我flink1.14.5连一个tidb 6.5.1集群用tidbcdc可以正常?

请问各位大佬,为何我flink1.14.5连一个tidb 6.5.1集群用tidbcdc可以正常,生产集群也是6.5.1连tidbcdc就报这个错:Caused by: java.lang.IllegalArgumentException: Invalid range: [+INF..{116,128,0,0,0,0,0,2,66,95,114,223,255,255,255,255,255,255,249}) at org.apache.flink.shaded.guava30.com.google.common.collect.Range.(Range.java:358) at org.apache.flink.shaded.guava30.com.google.common.collect.Range.create(Range.java:156)刚才那个错是本地打印的,我现在试了在flink集群上sql cli,打印的是这个错:java.lang.NullPointerException: Failed to init client for PD cluster. at org.tikv.shade.com.google.common.base.Preconditions.checkNotNull(Preconditions.java:910) at org.tikv.common.PDClient.initCluster(PDClient.java:703) at org.tikv.common.PDClient.(PDClient.java:134) at org.tikv.common.PDClient.createRaw(PDClient.java:144) at org.tikv.common.TiSession.(TiSession.java:141) at org.tikv.common.TiSession.create(TiSession.java:230) at com.ververica.cdc.connectors.tidb.TiKVRichParallelSourceFunction.open(TiKVRichParallelSourceFunction.java:117) at org.apache.flink.api.common.functions.util.FunctionUtils.openFunction(FunctionUtils.java:34) at org.apache.flink.streaming.api.operators.AbstractUdfStreamOperator.open(AbstractUdfStreamOperator.java:100) at org.apache.flink.streaming.runtime.tasks.RegularOperatorChain.initializeStateAndOpenOperators(RegularOperatorChain.java:110)image.png

展开
收起
cuicuicuic 2023-05-16 16:57:32 1036 0
2 条回答
写回答
取消 提交回答
  • 存在即是合理

    可能是由于在使用TiDB6.5.1时,TiDBJDBC驱动程序不支持该版本的导致的。

    在使用TiDB时,需要使用TiDB JDBC驱动程序来连接TiDB集群。在使用TiDB JDBC驱动程序时,需要确保驱动程序的版本与TiDB版本兼容。您在使用tidbcdc时未出现问题,但在使用flink连接tidb 6.5.1时出现了问题,这可能是因为flink和TiDB之间的版本不兼容或驱动程序不兼容导致的。

    为了解决这个问题,可以尝试升级TiDB JDBC驱动程序到最新版本,或者使用其他支持TiDB 6.5.1的TiDB JDBC驱动程序。另外,您可以尝试在flink和tidb之间使用相同的驱动程序版本来避免出现冲突。如果仍然无法解决问题,建议您提供更多关于错误信息的详细信息,以便更准确地诊断和解决问题。

    也可能是由于在使用Tikv CDK连接Tidb CDK时,指定的集群配置(tidb.env)文件路径错误导致的。您可以尝试将tidb.env文件路径设置为正确的路径,例如:

    在Flink集群上的用户目录下创建tidb.env文件夹,并将其挂载到Flink集群的DataNode中,该路径应该与Flink配置中的DataNode节点名称匹配; 确保在Flink集群上的所有机器上都可以访问该tidb.env文件夹,并确保该文件夹下的所有文件都可以被当前机器上的Tikv节点正确读取和解析。 希望能对您有所帮助。

    2023-05-18 16:10:16
    赞同 展开评论 打赏
  • 大概率是你配置的数据源有问题https://github.com/google/guava/blob/v30.0/guava/src/com/google/common/collect/Range.java你这个可以看到错误日志太少了,可以提供完整一点。,此回答整理自钉群“【③群】Apache Flink China社区”

    2023-05-16 17:07:33
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载