本地部署数据库,本地应用程序无法连接,异地应用程序可以正常连接。

【 使用环境 】测试环境
【 部署环环境 】OB
【 使用版本 】oceanbase-all-in-one-4.2.1.9-109000032024092015.el7.x86_64
【问题描述】1、本地部署数据库,本地应用程序无法连接,异地应用程序可以正常连接。
2、grafana默认端口是3000和应用程勋重复。
【复现路径】问题出现前后相关操作
【附件及日志】



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

1 个赞

根据文档库中的信息,您的问题可以分为两部分来解决:

  1. 本地应用程序无法连接到本地部署的数据库,而异地应用程序可以正常连接

    • 检查防火墙设置:确保本地防火墙没有阻止应用程序与数据库之间的连接。您可以临时关闭防火墙进行测试,确认是否是防火墙导致的问题。
    • 检查网络配置:确保本地应用程序使用的 IP 地址和端口配置正确。您可以使用 pingtelnet 命令测试本地应用程序与数据库之间的网络连接。
    • 检查数据库监听配置:确保数据库监听器配置正确,允许来自本地应用程序的连接。您可以查看 obd 配置文件中的 servers 部分,确保配置与实际环境一致。具体命令如下:
      obd cluster edit-config <deploy name>
      
  2. Grafana 默认端口 3000 与应用程序端口冲突

    • 修改 Grafana 端口:您可以通过编辑 Grafana 的配置文件来更改其监听端口。配置文件通常位于 /etc/grafana/grafana.ini,找到 [server] 部分,修改 http_port 参数:
      [server]
      http_port = 3001
      
    • 重启 Grafana 服务:修改配置文件后,重启 Grafana 服务以使更改生效:
      systemctl restart grafana-server
      

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

obd display-trace <trace_id>

其中 <trace_id> 是您在启动 obd 时看到的错误日志中的 Trace ID

希望这些信息能帮助您解决问题。如果还有其他疑问,请随时联系 OceanBase 的人工答疑以获取更多帮助。

检索到的文档如下:

  1. 错误码
  2. 通过图形化界面部署 OceanBase 集群
  3. 安装并配置 obd
  4. 单机部署 OceanBase 数据库
  5. 使用命令行部署 obconfigserver
  6. 全链路追踪概述
  7. 通过 MySQL 客户端连接 OceanBase 租户
  8. 0001 ~ 3999
  9. OceanBase Connector/C
  10. 系统架构
  11. OceanBase Sysbench 高性能部署和问题分析
  12. OceanBase 概述
1 个赞

修改端口后,还是提示

根据您提供的信息,尽管您已经修改了 Grafana 的端口,但仍然提示端口 3000 被占用。这可能是因为修改后的配置没有生效,或者有其他进程仍然在使用该端口。以下是进一步排查和解决这个问题的步骤:

1. 确认端口 3000 是否仍然被占用

您可以使用以下命令检查端口 3000 是否仍然被占用:

netstat -tuln | grep 3000

或者使用 lsof 命令:

lsof -i :3000

2. 确认 Grafana 配置文件是否已修改

请再次确认 Grafana 的配置文件 /etc/grafana/grafana.ini 中的 http_port 参数是否已正确修改为新的端口(例如 3001):

[server]
http_port = 3001

3. 重启 Grafana 服务

确保在修改配置文件后重启 Grafana 服务以使更改生效:

systemctl restart grafana-server

4. 检查 obd 配置文件

如果您在 obd 配置文件中指定了 Grafana 的端口,请确保该配置文件中的端口也已更新。您可以使用以下命令编辑 obd 配置文件:

obd cluster edit-config <deploy name>

在配置文件中找到 Grafana 的配置部分,确保 grafanahttp_port 参数已更改为新的端口(例如 3001)。

5. 重新启动 obd 集群

在确认所有配置文件都已正确修改后,重新启动 obd 集群:

obd cluster start <deploy name>

6. 查看 obd 日志

如果问题仍然存在,您可以查看 obd 的详细日志以获取更多信息。使用以下命令查看 obd 的日志:

obd display-trace <trace_id>

其中 <trace_id> 是您在启动 obd 时看到的错误日志中的 Trace ID

7. 检查其他可能占用端口 3000 的进程

如果上述步骤仍然无法解决问题,您可以尝试查找并终止占用端口 3000 的进程。使用以下命令找到占用端口 3000 的进程 ID 并终止它:

lsof -i :3000
kill -9 <PID>

其中 <PID> 是占用端口 3000 的进程 ID。

希望这些步骤能帮助您解决问题。如果还有其他疑问,请随时联系 OceanBase 的人工答疑以获取更多帮助。

更多信息请查看:

  1. 错误码
  2. 常见问题汇总
  3. 单机部署 OceanBase 数据库
  4. 6000 ~ 6999
  5. 4500 ~ 4999
  6. 4000 ~ 4499
  7. 10000 ~ 12000
  8. 5000 ~ 5999
  9. 9000 ~ 9499

(小助手的答复已结束,如未能解决您的问题,请继续提问并等待其他同学的回复,谢谢!)


日志

image

发一下obd.log日志
obd日志: 默认保存在安装obd的用户home路径: cd ~/.obd/log/

obd.log日志.txt (1.7 MB)

端口修改需要重新部署。redeploy

目前问题解决了么,如没有发一下当前状态

端口问题已解决



应用还是无法连接,不知道是为什么

obd 的日志.txt (45.9 KB)
observer.rar (4.1 MB)


新增的日志

黑屏化可以手动登录么。
obclient -h127.0.0.1 - P2881 -uroot -p

第一个问题:需要使用2883 obproxy端口连接 2881是本地连接端口

obclient -h127.0.0.1 - P2881 -uroot -p可以登录

没有找到2883的端口

把你的yaml文件发出来一份 默认在~/.obd/cluster/xxx/

config.rar (602 字节)

看yaml中有proxy配置,应该是demo启动失败导致没有2883端口。
单独启动obproxy obd cluster start demo -c obproxy-ce

看obd日志显示密码错误导致,你修改过密码了么?


是的 有修改过root密码


2883端口有了