【 使用环境 】测试环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】
请问大家部署好分布式数据库之后,用
nc -zv 172.16.120.6(分布式数据库ip地址) 2881(observer端口号)
能够直接显示连接成功嘛?
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!
【 使用环境 】测试环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】
请问大家部署好分布式数据库之后,用
nc -zv 172.16.120.6(分布式数据库ip地址) 2881(observer端口号)
能够直接显示连接成功嘛?
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!
用户问题: “部署好 OceanBase 分布式数据库后,使用 nc -zv 命令测试连接 172.16.120.6 的 2881 端口能否成功”
推荐使用 obdiag 工具进行日志采集,并且将采集到的日志提供给我们。
日志采集场景: 集群无法连接
日志采集命令: obdiag gather scene run --scene=observer.cluster_down
为了更好地定位问题,请您执行上述命令并将日志压缩包发送给我们。此外,为了进一步了解您的环境配置和可能存在的网络问题,请您提供以下信息:
详情请参考:
附上敏捷诊断工具 obdiag 使用帮助链接
正常的情况下,监听端口起来了。会通的。
可以直接用命令行连接测试,mysql 或者obclient都可以
看你另一个帖子也是关于部署端口相关的。执行如下看看返回的都是什么
ps -ef|grep obproxy
obclient -h172.16.120.6 -P2883 -uroot@sys#集群名 -p -Ac
obclient -h172.16.120.6 -P2881 -uroot@sys -p -Ac
根据您提供的信息,您在尝试连接到 172.16.120.6 的 2881 端口时遇到了问题。具体来说,您在中控机 172.16.120.2 上使用 obclient 尝试连接时收到了错误信息 “Can’t connect to OceanBase server on 172.16.120.6”。这表明存在网络连接问题或者目标服务器上的 OceanBase 实例没有正确响应。
以下是可能的原因和解决方案:
端口未开放或防火墙规则限制:
netstat -tuln
命令检查 2881 端口是否处于监听状态。服务未运行或配置问题:
ps -ef | grep obproxy
输出中可以看出),但是仍然有可能存在配置问题导致无法正常接收连接。observer
日志文件,查看是否有任何错误信息或警告,这些信息可以帮助定位问题。observer
的配置文件中关于监听端口的设置是否正确。网络问题:
ping 172.16.120.6
命令检查网络连通性。认证问题:
其他可能性:
obproxy
的配置和日志文件,确保其正确配置并能够转发到目标 observer
。综上所述,您可以按照以下步骤进行排查:
检查端口监听状态:
[admin@172.16.120.6 ~]$ netstat -tuln | grep 2881
检查防火墙规则:
[admin@172.16.120.6 ~]$ sudo iptables -L -n | grep 2881
检查 observer
日志:
[admin@172.16.120.6 ~]$ cat /path/to/observer/log/*.log
检查 obproxy
配置和日志:
[admin@172.16.120.6 ~]$ cat /path/to/obproxy/conf/obproxy.ini
[admin@172.16.120.6 ~]$ cat /path/to/obproxy/log/*.log
希望以上建议能帮助您解决问题。如果问题依然存在,请提供更多详细的日志信息以便进一步分析。
检索到的文档如下:
(小助手的答复已结束,如未能解决您的问题,请继续提问并等待其他同学的回复,谢谢!)
你2881是通过了的,2883登录失败是因为没有obproxy 你看一下你的yaml配置文件是否配置了obproxy
然如果陪着了可以使用 obd cluster start xxxx -c obproxy-ce单独启动proxy组件
这个是172.16.120.6本地能够登录,
我不能在172.16.120.2机器上登录.6的obclient,难道分布式数据库中控机就是不可以登录其他机器上启动的obclient的?
2881是本地登录端口,你需要搭建obproxy使用2883的obproxy端口进行链接。
你看一下你的yaml配置文件是否配置了obproxy
然如果配置了可以使用 obd cluster start xxxx -c obproxy-ce单独启动proxy组件
现在是我在172.16.120.6上启动了obclient和obproxy
172.16.120.7和172.16.120.8上都是只有obclient进程
那么我想使用obproxy端口连接.7和.8上的obclient应该用什么命令连接呢?
我试了一下这条命令是链接不上的
ps -ef|grep obproxy 看一下,把yaml文件也发一下看看
你的obproxy只安装了一个6节点,所以ip你只能填6节点,7和8节点登录不进去的。obproxy会自己根据负载均衡选择登录哪个节点.
这个应该可以登录的obclient -172.16.120.6 -P2883 -uroot@sys#myoceanbase222 -p -Ac
obproxy可以创建1个或者多个节点成为一个proxy集群。
比如当前是 6 7 8 三个节点的ob集群,你的obproxy搭建在5节点
届时你的链接串为:obclient -172.16.120.5 -P2883 -uroot@sys#myoceanbase222 -p -Ac
我明白你的意思了大佬 但是我现在在6节点搭建了obproxy,我在2节点或者9节点上,用obclient -h172.16.120.6 -P2883 -uroot@sys#myoceanbase222 -p -Ac连接串仍然连接不上代理,他们几个节点之间的网络是通的,防火墙是关闭的,这个是为啥呢? 我现在只能在节点上用本地登录才行
你在 120.6 机器上,通过2881端口可以连上数据库,这说明observer是正常工作的。 但你在 120.2 机器无法访问120.6 的2881端口,很可能是OB_TCP_INVITED_NODES变量设置的问题。
建议先在 120.6 机器上,通过2881端口可以连上数据库,然后检查OB_TCP_INVITED_NODES变量设置:
SHOW VARIABLES LIKE ‘ob_tcp_invited_nodes’;
测试下别的节点,看看是不是所有节点都无法登录呢,也有可能是proxy存在问题。