问题现象
集群新增节点: alter system add server 'xx.xx.xx.xx:2882';。
超时报错信息: [ERROR 4012 (HY000): Timeout。
远端直连新增节点 OBServer 时,报错信息: error= (2013, 'Lost connection to MySQL server during query (timed out)')。
执行 add server 超时后,再执行 select last_trace_id(); 获取执行 SQL 的 trace_id 信息,过滤 OBServer 日志显示,新增节点被集群拉黑了。
WDIAG [RPC] check_blacklist (ob_poc_rpc_proxy.cpp:270) [82415][T1_L0_G0][T1][xxxxx-xxxxx-xxxxx-xxxxx][lt=5\][errcode=-4122] address in blacklist(ret=-4122, addr="xx.xx.xx.xx:2882")
clockdiff 测试新增节点的网络延迟正常;telnet 2882 端口发现网络不通。
问题原因
防火墙或者安全策略禁用了 OBServer 所需的端口。
适用版本
OceanBase 数据库 V4.x 所有版本。
解决方法
防火墙开放 2881~2884 端口限制。
备注
如果有其他端口需求,参考如下表格信息。
OceanBase 服务端进程默认端口号
OceanBase 产品族中,目前运行在服务端的进程包括 OBServer、OBProxy 等。目前他们使用的默认端口号如下。
| 产品 | 默认端口号 | 配置项 | 是否支持自定义 | 含义 |
|---|---|---|---|---|
| OBServer | 2881 | mysql_port |
1.使用 OBD 部署和手动部署支持自定义;2.使用 OCP V4.0.3 及以上版本部署支持自定义 | SQL 服务端口 |
| OBServer | 2882 | rpc_port |
1.使用 OBD 部署和手动部署支持自定义;2.使用 OCP V4.0.3 及以上版本部署支持自定义 | RPC 服务端口 |
| OBProxy | 2883 | listen_port |
是 | SQL 服务端口 |
| OBProxy | 2884 | prometheus_listen_port |
是 | OBProxy prometheus 监听端口 |
| OBAgent | 8088 | server_port |
是 | OBAgent 的监控采集端口 |
| OBAgent | 8089 | pprof_port |
是 | OBAgent 的运维监听端口 |
OceanBase 生态产品默认端口号
OceanBase 生态产品,包括 OCP、ODC、OMS 等,有诸多组件。目前他们使用的默认端口号如下。
| 产品 | 默认端口号 | 是否支持自定义 | 含义 |
|---|---|---|---|
| ODC | 8989 | 是 | WEB 服务监听端口 |
| OMS | 8089/8090 | 否 | OMS 管理控制台对应端口 |
| OMS | 8088 | 否 | OMS 集群管理 http 端口 |
| OMS | 9000/9001 | 否 | OMS Worker agent http 端口 |
| OMS | 16000~16499 17000~17499 18000~18499 7100-7499 | 否 | OMS 内部组件通信使用 |
| OCP | 8080 | 是 | OCP-Server web 服务监听端口,通常其它组件通过 SLB/DNS 地址访问 OCP-Server |
| OCP | 62888 | 否 | OCP-Agent 的运维监听端口 |
| OCP | 62889 | 否 | OCP-Agent 的监控采集端口 |
| OCP | 2911 | 否 | 备份 Agent 监听端口(当使用逻辑备份功能,并安装Backup-Agent 时,才监听该端口。逻辑备份最高支持到内核 V2.2.52 版本) |
| OCP | 2912 | 否 | 恢复 Agent 监听端口(当使用逻辑备份功能,并安装Backup-Agent 时,才监听该端口。逻辑备份最高支持到内核 V2.2.52 版本) |
| OCP-Express | 8180 | 是 | Server 的 Web 服务监听端口 |
| OBD Web | 8680 | 是 | OBD 白屏 web 工具端口 |
| Prometheus | 9090 | 是 | prometheus 的 Web 服务监听端口 |
| Grafana | 3000 | 是 | grafana-server 的 Web 服务监听端口 |