【 使用环境 】测试环境
【 OB or 其他组件 】OB
【 使用版本 】4.3.5
【问题描述】
按照官方文档操作,重启节点,无法启动。
添加节点-V4.3.5-OceanBase 数据库文档-分布式数据库使用文档
日志文件如附件:
observer.log (562.4 KB)
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):
【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!
1 个赞
论坛小助手
#3
日志采集场景: 集群无法连接
日志采集命令: obdiag gather scene run --scene=observer.cluster_down
推荐使用 obdiag 工具进行日志采集,以便我们进一步分析 observer 节点无法启动的原因。虽然您已经提供了日志文件,但 obdiag 可以系统化地收集更多有助于诊断的信息。
为了更好地帮助您解决问题,请您提供以下信息:
- 在尝试重启 observer 节点时,是否有任何特定的错误消息或警告信息?
- 您能否确认测试环境中的硬件和操作系统是否满足 OceanBase 4.3.5 的最低要求?
- 是否对配置文件(如 observer.config.ini)进行了任何更改?如果有,请提供具体的修改内容。
- 测试环境中是否存在其他正常运行的 observer 节点?如果有,它们的日志中是否也出现了类似的异常信息?
请您执行上述 obdiag 日志采集命令,并将生成的日志压缩包提供给我们,以便我们能够更准确地定位问题并给出解决方案。
附上敏捷诊断工具 obdiag 使用帮助链接
配置文件:
default-components.zip (2.1 KB)
机器配置:
三台: 32c/64G/500G
论坛小助手
#8
根据您提供的信息和日志,以下是关于 OceanBase observer 节点无法启动问题的分析与建议:
1. 检查配置文件
您提到使用了 obd
工具来启动集群,并且提供了配置文件 default-components.yaml
。请确保该配置文件中的各项参数设置正确,特别是以下关键参数:
-
数据目录:确保
data_dir
和 clog_dir
等路径配置正确,并且有足够的磁盘空间。
-
内存配置:确保
system_memory
和 datafile_size
等内存相关参数合理,避免因内存不足导致启动失败。
-
网络配置:确保
rpc_port
和 sql_port
等网络端口配置正确,并且防火墙允许这些端口的通信。
您可以参考官方文档中的 observer 启动参数说明 来验证配置文件中的参数是否正确。
2. 日志分析
根据您提供的 observer.log
日志片段,日志中没有明显的错误信息,但也没有显示启动成功的标志。通常,如果 observer 成功启动,日志中会包含类似以下的信息:
[INFO] succ to start observer
如果没有看到类似的启动成功信息,可能意味着启动过程中遇到了问题,但日志没有记录具体的错误原因。
建议您使用 obdiag
工具进行更详细的日志采集和分析。您可以运行以下命令来收集更多诊断信息:
obdiag gather scene run --scene=observer.cluster_down
3. 硬件和环境检查
您提到测试环境的机器配置为三台服务器,每台配置为 32 核、64GB 内存、500GB 磁盘。请确保:
4. 网络连接检查
确保所有节点之间的网络连接正常,特别是根服务(Root Service)和其他 observer 节点之间的通信。您可以尝试从其他正常运行的节点 ping 当前无法启动的节点,确保网络连通性良好。
5. 尝试手动启动 observer
如果 obd
启动失败,您可以尝试手动启动 observer 进程,以便更好地观察启动过程中的详细信息。您可以参考官方文档中的 手动启动 observer 的步骤,使用以下命令手动启动 observer:
/home/admin/oceanbase/bin/observer -I <IP> -P <RPC_PORT> -p <SQL_PORT> -z <ZONE> -d <DATA_DIR> -r '<RS_LIST>' -c <CLUSTER_ID> -n <CLUSTER_NAME> -o "system_memory=30GB,datafile_size=100G,config_additional_dir=/data/1/obdemo/etc3;/data/log1/obdemo/etc2"
6. 检查其他节点状态
如果集群中有其他正常运行的节点,请检查它们的日志,确认是否有任何异常信息或警告,这些信息可能会帮助您定位问题。
7. 联系技术支持
如果经过上述检查后仍然无法解决问题,建议您联系 OceanBase 的官方技术支持团队,提供详细的日志和配置文件,以便他们能够进一步协助您排查问题。
希望以上建议能帮助您解决 observer 节点无法启动的问题。如果您有更多问题或需要进一步的帮助,请随时告知。
具体信息可参考以下文档:
- 备份目录结构
- 排序 limit 场景性能优化
(小助手的答复已结束,如未能解决您的问题,请继续提问并等待其他同学的回复,谢谢!)
秃蛙
#9
看命令是带参二进制启动
但最终报错这些参数识别有问题
看带参格式 -o 后面的参数双引号是中文格式。
可以杀掉进程,使用英文双引号号或者不带参启动观察下。
旭辉
#10
建议按照楼上老师说的是下,这里的确是配置参数识别有问题
Giant
#12
obd 这些命令 拉不起来吗 ?
为什么非得用observer 命令启动啊 。
observer 这个命令启动 有个要求: 必须在根目录下 因为有很多启动配置文件,不然启动不成功的
./bin/observer 就这个启动,不要添加任何参数 试下。
./observer 直接执行报错信息也是一样的。
进入到目录/home/admin/observer
./bin/observer 指令执行成功。
居然跟执行路径有关系?官网文档好像没有进行说明,对于新手,使用很不友好。
1 个赞
Giant
#15
这个目录的这个文件是 obd 部署产生的很多配置文件
./bin/observer 这个命令启动 会读取 etc下面的 配置文件
./observer启动 会在 /home/admin/oceanbase/bin
这个截图下 产生 etc等目录 , 您看下有不
使用 ./bin/observer 命令 不要使用 ./observer命令 试下
Giant
#16
官方 文档 的启动 命令是这种形式。 可以有效避开这个问题。
我测试了好久才测试出来的 。