obd部署的时候Connect to observer一直卡着不动

原文链接:obd白屏部署的时候Connect to observer一直卡着不动
日志报错:


端口情况:

防火墙是关闭的,iptables也没有做任何操作
图片

2881端口是不通的


22端口是通着的
图片

请问是端口不通的原因吗? 怎么让端口通呢?

【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)

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

根据您提供的日志信息和端口检查结果,确实存在端口不通的问题。具体来说,2881 端口在尝试连接时出现了超时现象,这表明该端口在网络层面并不通。[[@4]]

解决方案

1. 检查端口监听状态

您已经确认了 2881 端口被 observer 进程监听。 [2] 但是,还需要进一步确认该端口是否正确地绑定到了外部网络接口上。您可以使用以下命令来检查端口绑定情况:

netstat -tulnp | grep 2881

2. 检查网络配置

确保服务器的网络配置正确,例如 IP 地址、子网掩码、默认网关等。此外,还需检查 DNS 设置是否正确,以便能够正确解析其他节点的 IP 地址。

3. 检查路由表

确保服务器间的路由设置正确。您可以使用 ip route show 命令来查看当前的路由表,并确认是否有到达目标 IP 地址的路由条目。

4. 检查网络设备

检查交换机、路由器等网络设备的配置,确保它们允许 2881 端口的流量通过。如果有必要,可以咨询网络管理员。

5. 检查防火墙

尽管您提到防火墙已经关闭,但还是建议再次确认。可以使用以下命令来检查:

sudo iptables -L

如果输出为空,则表示没有规则被定义,防火墙处于关闭状态。

6. 检查 SELinux

如果您的系统启用了 SELinux,可能会阻止某些端口的通信。您可以使用以下命令来检查 SELinux 的状态:

sestatus

如果 SELinux 处于启用状态,可以尝试临时禁用它:

sudo setenforce 0

然后重新测试端口连通性。

7. 检查 observer 日志

检查 observer 的日志文件,看是否有与网络相关的错误信息。这有助于定位问题所在。

8. 重试连接

在完成上述检查后,尝试重新启动 observer 进程,并再次尝试连接 2881 端口。

通过以上步骤,应该能够排查出 2881 端口不通的原因,并采取相应的措施解决问题。如果问题仍然存在,建议联系 OceanBase 技术支持人员寻求进一步的帮助。

详情请参考:

  1. 少数派节点故障
  2. 分布式执行和并行查询
  3. 清理旧集群

使用obclient 命令行能否登录呢? obd的日志麻烦发一份


还有这种问题

根据您提供的信息,您已经在尝试使用 obclient 连接到本地的 observer 实例,但似乎遇到了一些问题。从日志信息来看,observer 进程确实在监听 2881 端口,但 obclient 无法成功连接。 [2]

分析与解决方案

1. 检查密码是否正确

从您的命令行尝试来看,您使用了 -pncBXp93m-LWr-pncBKp93*-LWT 作为密码,但都失败了。请确保密码输入无误,并且没有多余的空格或特殊字符。

2. 检查 observer 日志

查看 observer 的日志文件,看是否有与连接相关的错误信息。这有助于定位问题所在。通常 observer 的日志文件位于 /home/dell/oceanbase/log 目录下。

3. 检查 observer 的配置

确保 observer 的配置文件(config.ini)中的 listen_port 参数设置为 2881,并且 rpc_connect_timeout 参数足够大,以便处理慢速连接。

4. 检查网络配置

确保服务器的网络配置正确,例如 IP 地址、子网掩码、默认网关等。此外,还需检查 DNS 设置是否正确,以便能够正确解析其他节点的 IP 地址。

5. 检查路由表

确保服务器间的路由设置正确。您可以使用 ip route show 命令来查看当前的路由表,并确认是否有到达目标 IP 地址的路由条目。

6. 检查防火墙

尽管您提到防火墙已经关闭,但还是建议再次确认。可以使用以下命令来检查:

sudo iptables -L

如果输出为空,则表示没有规则被定义,防火墙处于关闭状态。

7. 检查 SELinux

如果您的系统启用了 SELinux,可能会阻止某些端口的通信。您可以使用以下命令来检查 SELinux 的状态:

sestatus

如果 SELinux 处于启用状态,可以尝试临时禁用它:

sudo setenforce 0

然后重新测试端口连通性。

8. 检查 obclient 版本

确保 obclient 的版本与 observer 的版本兼容。可以使用以下命令查看 obclient 的版本:

obclient --version

9. 重试连接

在完成上述检查后,尝试重新启动 observer 进程,并再次尝试连接 2881 端口。

通过以上步骤,应该能够排查出连接失败的原因,并采取相应的措施解决问题。如果问题仍然存在,建议联系 OceanBase 技术支持人员寻求进一步的帮助。

详情请参考:

  1. 少数派节点故障
  2. 分布式执行和并行查询
  3. 清理旧集群

详情请参考:

  1. 使用命令行部署 obconfigserver
  2. 使用命令行部署 OCP

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

obclient没有安装可以使用obd安装一个,或者使用mysql命令也可以
-hlocalhost 改为ip -hxxx.xxxx.100.100

加了ip ,安装了obclient的机器上也报错

不过这些机器上都没有安装mysql 是这个原因嘛?

ps -ef|grep observer看看进程是否存在
链接串:obclient -h172.16.120.6 -uroot -P2881 -p -Ac


本地连接没问题 但是从另外的机器上登录就有问题(前提是另外的机器可以ssh到obclient启动的机器)

2881端口是本地登录,其他ip需要使用obproxy的2883端口

意思是我需要其他的机器先用obd装上observer?能够本地登录了再说? 但是172.16.120.6这台机器能本地登录 刷报错日志的时候还是有这台机器的信息 另外大佬,用2883如何登录?
obclient -h172.16.120.6 -uroot -P2883 -p -Ac或者obclient -h172.16.120.3 -P2883 -uroot@proxysys -p -Ac我都登陆不上

要有安装了obclient,使用obproxy登录需要附带上集群名称
obclient -h172.16.120.3 -P2883 -uroot@sys#集群名称 -p -Ac

可以停掉obd的任务

停掉obd任务是啥意思呢哥

observer和obproxy都停?

obd.log (448.5 KB)
这是日志

看obd日志有个OBD-1006: Failed to connect to obproxy-ce
目前obproxy进程正常存在么