当前位置: 首页> 文旅> 旅游 > linux 源码部署polardb-x 错误汇总

linux 源码部署polardb-x 错误汇总

时间:2025/7/13 10:11:11来源:https://blog.csdn.net/a15835774652/article/details/141032975 浏览次数:0次

前言

在linux 源码部署polardb-x 遇到不少错误,特在此做个汇总。

问题列表

CN 启动报错 Failed to init new TCP

详细错误如下
Caused by: Failed to init new TCP. XClientPool to my_polarx#267b21d8@127.0.0.1:33660 now 0 TCP(0 aging), 0 sessions(0 running, 0 idle), 0 waiting connection.at com.alibaba.polardbx.rpc.pool.XConnectionManager.getConnection(XConnectionManager.java:514)at com.alibaba.polardbx.rpc.compatible.XDataSource.getConnection(XDataSource.java:193)... 25 more
Caused by: Failed to init new TCP.at com.alibaba.polardbx.rpc.pool.XClientPool.getConnection(XClientPool.java:491)at com.alibaba.polardbx.rpc.pool.XClientPool.getConnection(XClientPool.java:287)at com.alibaba.polardbx.rpc.pool.XConnectionManager.getConnection(XConnectionManager.java:502)... 26 more
Caused by: ERR-CODE: [PXC-10001][ERR_X_PROTOCOL_CLIENT] XClientPool to my_polarx#267b21d8@127.0.0.1:33660 connect fail. at com.alibaba.polardbx.rpc.pool.XClientPool.getConnection(XClientPool.java:474)... 28 more
分析

CN 在 获取tcp 连接失败 端口是 33660 这个问题 比较复杂 本质上是DN的rpc端口和 CN连接使用端口不匹配 逐步排查
可能是DN初始化使用的33660 但是依然无法连接
可能是DN初始化使用的32886 但是CN连接使用的33660 肯定连接不上的

解决步骤
  • 在DN启动 增加mysql参数 指定 连接rpc 端口 rpc_port=32886
    具体观察查看 DN启动日志
    在这里插入图片描述
  • 确认DN rpc端口为32886
# 登录DN
mysql -u root -S /usr/local/develop/PolarDB-X/polardbx_engine/run/mysql.sock -p
# 查看 rpc端口生效的配置 
show variables like '%rpc_port%';
# 是否new_rpc
show variables like '%new_rpc%';

rpc_port默认应该是32886

  • 在CN启动 增加mysql参数 指定 连接metab-db rpc 端口 storageDbXprotoPort=32886

  • 检查CN 连接使用的端口配置 默认应该是连接32886

# 登录DN
mysql -u root -S /usr/local/develop/PolarDB-X/polardbx_engine/run/mysql.sock -p
# 选择metadb
use polardbx_meta_db_polardbx;
select * from storage_info;
# 查看结果列中 xport端口是否为32886  
# 如果不是的话 修改xport 为32886
update storage_info set xport=32886;

在这里插入图片描述

  • 配置错误
    检查DN 配置 rpc_port=32886 loose_polarx_port= 32886 loose_galaxyx_port=32886 CN的 配置 metaDbXprotoPort=32886 storageDbXprotoPort=32886

CDC 首次启动报错 task config is null

详细错误如下
2024-08-08 16:46:13.516 [main] INFO  org.eclipse.jetty.server.Server - Started @20461ms
2024-08-08 16:46:13.517 [main] INFO  c.a.p.binlog.daemon.rest.RestServer - REST server listening at http://192.168.104.234:3007/
2024-08-08 16:46:13.528 [main] INFO  c.a.p.binlog.monitor.MonitorManager - Monitor Server is started.
2024-08-08 16:46:13.606 [main] INFO  c.a.polardbx.binlog.TaskBootStrap - ## starting the task, with name Final.
2024-08-08 16:46:13.617 [main] ERROR c.a.polardbx.binlog.TaskBootStrap - ## Something goes wrong when starting up the task process:
com.aliyun.polardbx.binlog.error.PolardbxException: task config is nullat com.aliyun.polardbx.binlog.TaskConfigProvider.getTaskRuntimeConfig(TaskConfigProvider.java:65)at com.aliyun.polardbx.binlog.TaskController.<init>(TaskController.java:56)at com.aliyun.polardbx.binlog.TaskBootStrap.boot(TaskBootStrap.java:77)at com.aliyun.polardbx.binlog.daemon.DaemonBootStrap.main(DaemonBootStrap.java:107)
分析

第一次启动需要初始化一些元数据信息,配置runtime_mode=LOCAL_SINGLE LOCAL_SINGLE 模式不会等元数据初始化好,直接开始尝试消费Binlog ,所以会有缺失配置的报错

解决

先使用 runtime_mode=LOCAL 启动, 等daemon进程正常运行成功后,kill -9 杀掉进程,然后在用 LOCAL_SINGLE 启动

CDC 启动 unrecognized option: -XLog:gc*:xx

分析

jdk1.8 不支持 XLog:gc 参数

解决

安装jdk11,然后确认环境变量为jdk11 ,最后重新进行部署

结尾

其他更多问题 等待后续补充。


good day !!!

关键字:linux 源码部署polardb-x 错误汇总

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: