创建obproxy集群创建失败

【 使用环境 】生产环境
【 OB or 其他组件 】obproxy
【 使用版本 】
【问题描述】部署obproxy集群,出现链接问题
【复现路径】我已经部署好了observer的环境,现在部署一个新的obproxy的集群链接observer环境,出现错误
【附件及日志】
1、单独部署obproxy配置文件信息:


2、observer的集群信息(部署成功):

3、单独部署obproxy的失败信息:

4、查看对应日志信息:

5、已经在observer的用户上新增了proxyro用户

@论坛小助手
请问各位大佬哪里出现了问题了呢? 前提这些机器之间是互通的 我都配置了免密登录

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

1 个赞

根据您提供的信息和文档片段,我们可以逐步排查并解决您在部署 obproxy 集群时遇到的问题。以下是详细的排查步骤:

1. 检查配置文件

首先,确保您的 obproxy 配置文件正确无误。您提供的配置文件截图显示了部分配置,但为了确保准确性,建议您检查以下几点:

  • OB_CLUSTER: 确认 OB_CLUSTER 的值与您的 OceanBase 集群名称一致。
  • RS_LIST: 确认 RS_LIST 的值正确无误,格式应为 ${ip1}:${sql_port1};${ip2}:${sql_port2};${ip3}:${sql_port3}。您可以使用以下 SQL 命令获取正确的 RS_LIST
    SELECT GROUP_CONCAT(CONCAT(SVR_IP, ':', SQL_PORT) SEPARATOR ';') AS RS_LIST FROM oceanbase.DBA_OB_SERVERS;
    
  • PROXYRO_PASSWORD: 确认 PROXYRO_PASSWORD 的值与您在 OceanBase 集群中创建的 proxyro 用户的密码一致。

2. 检查网络连接

确保 obproxy 节点能够正常连接到 Observer 节点。您已经提到机器之间是互通的,并且配置了免密登录,但仍需进一步验证:

  • SSH 连接: 确认可以从 obproxy 节点 SSH 到 Observer 节点。
  • 端口连接: 确认可以从 obproxy 节点连接到 Observer 节点的 2881 端口。您可以使用以下命令进行测试:
    telnet 172.16.120.6 2881
    

3. 检查 obproxy 日志

您提供的日志信息显示 obproxy 程序健康检查通过,但在连接 obproxy-ce 时失败。这可能是由于以下原因:

  • 配置错误: 再次检查配置文件中的各项参数是否正确。
  • 权限问题: 确认 proxyro 用户在 Observer 节点上有足够的权限。您已经创建了 proxyro 用户并授予了 SELECT 权限,这是正确的。

4. 检查 OCP 配置

如果您使用 OCP 进行部署,确保 OCP 配置正确:

  • 登录 OCP: 登录 OCP 平台,检查 obproxy 集群的配置。
  • 添加 OBProxy: 如果需要,可以按照文档中的步骤添加新的 OBProxy 节点:
    1. 登录 OCP。
    2. 在左侧导航栏单击 OBProxy
    3. 在集群列表中选择需要操作的 OBProxy 集群,进入 OBPRoxy 集群总览页面。
    4. 单击 添加 OBProxy
    5. 在弹出框中填写 软件版本、机房、SQL 端口、Exporter、机型、机器选择方式、主机 等信息。
    6. 单击 确定

5. 检查 obproxy 启动参数

确保在启动 obproxy 时指定了正确的参数。您可以使用以下命令启动 obproxy:

  • 指定 RootServer 信息:

    obproxy -r 172.16.120.6:2881
    
  • 指定配置服务器 URL:

    obproxy --obproxy_config_server_url=http://<config_server_ip>:<config_server_port>
    

6. 查看详细日志

如果以上步骤仍无法解决问题,建议查看更详细的日志信息。您可以使用以下命令查看 obd 的详细日志:

obd display-trace <trace_id>

总结

根据您提供的信息和文档片段,建议您重点检查配置文件的正确性、网络连接的畅通性、obproxy 的启动参数以及 OCP 的配置。如果问题仍然存在,建议查看更详细的日志信息以进一步排查问题。

希望以上步骤能帮助您解决问题。如有其他疑问,请随时联系 OceanBase 的人工答疑以获取更多帮助。 [1], [3], [4], [3], [5]

详情请参考:

  1. ODP 线程满
  2. 分析诊断&决策流程
  3. 在 Kubernetes 环境中部署 OceanBase 集群
  4. 启动 OBProxy
  5. 通过命令行部署 ODP

https://www.oceanbase.com/docs/community-obd-cn-1000000001477803
建议参考这篇文章使用 obd cluster component add添加组件obproxy。

可以看一下你的36节点是否有java