【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】
oceanbase-3.2.4.1-101000052023010822.el7.x86_64.rpm
【问题描述】清晰明确描述问题
observer已启动
bash-4.2# ps aux | grep observer
admin 8172 5.3 15.4 4193844 2519784 ? Ssl 15:53 0:24 /home/admin/oceanbase/bin/observer -i ens192 -P 2882 -p 2881 -z zone1 -d /home/admin/oceanbase/store/obdemo -r 192.168.4.197:2882:2881 -c 10001 -n obdemo -o __min_full_resource_pool_memory=268435456,system_memory=1G,datafile_size=10G,config_additional_dir=/data/1/obdemo/etc3;/data/log1/obdemo/etc2
root 9051 0.0 0.0 112724 968 pts/0 S+ 16:00 0:00 grep observer
但是执行obclient连接observer失败,在admin和root下都试过
bash-4.2# obclient -h127.0.0.1 -uroot -P2881 -p
Enter password:
ERROR 2002 (HY000): Can’t connect to OceanBase server on ‘127.0.0.1’ (115)
bash-4.2# obclient -h192.168.4.197 -uroot -P2881 -p******
ERROR 2002 (HY000): Can’t connect to OceanBase server on ‘192.168.4.197’ (115)
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):
【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!
论坛小助手
#3
推荐使用 obdiag 工具进行日志采集,并且将采集到的日志提供给我们以便确认问题所在。
日志采集场景: 集群无法连接
日志采集命令: obdiag gather scene run --scene=observer.cluster_down
为了更准确地定位问题,请您提供以下信息:
- 您是否已经检查了 OceanBase 服务是否正在运行?
- 您尝试连接时使用的 IP 地址和端口号是什么?
- 您是否有防火墙或安全组规则阻止了连接?
- 您是否可以提供完整的错误消息,包括任何可能的附加信息?
- 您是否尝试过使用其他客户端工具(如 MySQL 客户端)连接到 OceanBase?
- 您是否在安装过程中遇到了任何异常或错误提示?
请您按照上述命令采集日志,并将日志文件提供给我们,以便进一步分析问题。感谢您的配合!
附上敏捷诊断工具 obdiag 使用帮助链接
淇铭
#4
你好,你提的这个技术问题牵涉到OceanBase企业版范围内的功能细节;针对此类问题,建议你通过以下方式寻求帮助:
-
如你所在的企业客户已签署OceanBase企业版销售合同,请你联系客户经理;
-
如你所在的企业客户尚未签署OceanBase企业版销售合同,你可通过OceanBase官网商务咨询页面留下你的联系方式,OceanBase企业版的业务顾问会在一个工作日内与你联系。
另外,我们欢迎你使用社区版,并在论坛/社群中分享你对社区版本的想法、经验和问题,与其他社区成员共同交流。
辞霜
#5
目前确实看不出什么问题导致,推荐根据小助手提供的方法使用obdiag进行一波协助排查
-bash-4.2# netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 6709/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 7082/master
tcp6 0 0 :::22 :::* LISTEN 6709/sshd
tcp6 0 0 ::1:25 :::* LISTEN 7082/master
发现2881 2882没有被监听,应该是启动有问题,启动命令中的-z zone1 -c 10001 -n obdemo这些参数是吵的官网的,是这里有问题吗,不知道该怎么填
论坛小助手
#7
根据您提供的信息,看起来 observer
服务确实没有正确启动,因为 2881 和 2882 端口没有被监听。这可能是由于启动命令中的某些参数配置不正确导致的。让我们来检查一下启动命令中的参数:
启动命令
/home/admin/oceanbase/bin/observer -i ens192 -P 2882 -p 2881 -z zone1 -d /home/admin/oceanbase/store/obdemo -r 192.168.4.197:2882:2881 -c 10001 -n obdemo -o __min_full_resource_pool_memory=268435456,system_memory=1G,datafile_size=10G,config_additional_dir=/data/1/obdemo/etc3;/data/log1/obdemo/etc2
参数解释
-
-i ens192
: 指定网络接口。
-
-P 2882
: 指定 RPC 端口。
-
-p 2881
: 指定 SQL 端口。
-
-z zone1
: 指定 Zone 名称。
-
-d /home/admin/oceanbase/store/obdemo
: 指定数据存储目录。
-
-r 192.168.4.197:2882:2881
: 指定根服务地址。
-
-c 10001
: 指定集群 ID。
-
-n obdemo
: 指定集群名称。
-
-o __min_full_resource_pool_memory=268435456,system_memory=1G,datafile_size=10G,config_additional_dir=/data/1/obdemo/etc3;/data/log1/obdemo/etc2
: 指定其他配置选项。
检查和调整
-
网络接口:确保
ens192
是正确的网络接口名称。您可以使用 ifconfig
或 ip a
命令来确认。
-
端口冲突:确保 2881 和 2882 端口没有被其他服务占用。
-
根服务地址:确保
192.168.4.197:2882:2881
是正确的根服务地址。
-
集群 ID 和名称:确保
-c 10001
和 -n obdemo
是正确的集群 ID 和名称。
-
数据存储目录:确保
/home/admin/oceanbase/store/obdemo
目录存在并且有写权限。
-
其他配置选项:确保
-o
参数中的配置项是正确的。
建议步骤
-
检查网络接口:
ifconfig
或
ip a
-
检查端口占用:
netstat -ntlp | grep 2881
netstat -ntlp | grep 2882
-
检查根服务地址:
确保 192.168.4.197
是正确的 IP 地址,并且 2882
和 2881
端口是正确的。
-
检查数据存储目录:
ls -ld /home/admin/oceanbase/store/obdemo
-
重新启动 observer
:
如果以上检查都没有问题,可以尝试重新启动 observer
:
pkill -f observer
/home/admin/oceanbase/bin/observer -i ens192 -P 2882 -p 2881 -z zone1 -d /home/admin/oceanbase/store/obdemo -r 192.168.4.197:2882:2881 -c 10001 -n obdemo -o __min_full_resource_pool_memory=268435456,system_memory=1G,datafile_size=10G,config_additional_dir=/data/1/obdemo/etc3;/data/log1/obdemo/etc2
-
查看日志:
查看 observer
的日志文件,通常位于 /home/admin/oceanbase/log
目录下,以获取更多详细的错误信息。
如果您仍然无法解决问题,请提供更多的日志信息,以便我们进一步分析。
详情请参考:
- local_ip
- 在集群初始化前添加节点
- GV$OB_SESS_TIME_MODEL
- V$OB_SESS_TIME_MODEL
(小助手的答复已结束,如未能解决您的问题,请继续提问并等待其他同学的回复,谢谢!)
辞霜
#8
可提供一份完整的yaml文件么在~/.obd/xxx/,或者把该集群铲掉使用obd web网页白屏化方法部署集群