运行Oceanbase的过程中,将OCP-Express销毁,导致Oceanbase无法启动

【 使用环境 】测试环境
【 OB or 其他组件 】Oceanbase 4.2.3
【 使用版本 】Oceanbase 4.2.3
【问题描述】
1、当初基于OceanBase社区版一键安装包,部署Oceanbase 4.2.3环境,里面包括了OCP-Express,但是,将OCP-Express部署在其他服务器。
2、由于腾讯云服务器到期,OCP-Express服务器被回收。
3、Oceanbse 4.2.3服务器由于内存原因导致服务器宕机。
4、Oceanbase 数据库启动不了,因为无法发现OCP-Express服务器。

在线等,急急急,但我发现没积分了,有没快速获取积分的方式?
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

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

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

1 个赞

根据您提供的信息,OCP-Express 服务器被回收后,OceanBase 4.2.3 服务器无法启动。这可能是因为 OceanBase 依赖于 OCP-Express 进行某些管理和配置操作。以下是一些建议来解决这个问题:

1. 检查配置文件

首先,检查 OceanBase 的配置文件,确保没有硬编码指向已回收的 OCP-Express 服务器的地址。配置文件通常位于 /home/admin/oceanbase/conf/ 目录下,文件名为 config.ini

2. 重新配置 OCP-Express

如果您有其他可用的服务器,可以尝试重新部署 OCP-Express。以下是重新部署的步骤:

  1. 下载 OCP-Express 安装包

    wget https://mirrors.oceanbase.com/ocp-express/ocp-express-latest.tar.gz
    
  2. 解压安装包

    tar -zxvf ocp-express-latest.tar.gz
    cd ocp-express-latest
    
  3. 配置 OCP-Express
    编辑 conf/ocp-express.properties 文件,配置 OCP-Express 的相关参数,特别是数据库连接信息。

  4. 启动 OCP-Express

    bin/start.sh
    

3. 手动启动 OceanBase

如果重新配置 OCP-Express 不可行,您可以尝试手动启动 OceanBase 服务器。以下是手动启动的步骤:

  1. 进入 OceanBase 安装目录

    cd /home/admin/oceanbase
    
  2. 启动 OceanBase 服务器

    ./bin/observer -p 2882 -P 2881 -c conf/config.ini
    

4. 检查日志

如果手动启动仍然失败,检查 OceanBase 的日志文件以获取更多信息。日志文件通常位于 /home/admin/oceanbase/log/ 目录下,文件名为 observer.log

5. 联系技术支持

如果以上步骤都无法解决问题,建议联系 OceanBase 的技术支持团队获取进一步的帮助。您可以使用 obdiag 工具收集诊断信息,并将其发送给技术支持团队。

获取积分

关于获取积分的问题,您可以尝试以下方法:

  1. 参与社区活动:参加 OceanBase 社区的活动,如问答、分享经验等,可以获得积分。
  2. 邀请好友:邀请好友加入社区,也可以获得积分。
  3. 完成任务:完成社区中的任务,如阅读文章、参与讨论等,也可以获得积分。

希望以上信息对您有所帮助。如果还有其他问题,请随时提问。

具体信息可参考以下文档:

  1. 信息采集概述
  2. OCP V3.1.2
  3. OCP V3.3.0
  4. observer_process_stop OBServer 进程停止
  5. OB 日志告警
  6. ob_cannot_connected OB 服务器无法连接
  7. 使用备份恢复找回误删数据
  8. SYS 租户/RS 服务问题
  9. 5000 ~ 5999
  10. 4500 ~ 4999
  11. 9000 ~ 9499
  12. 6000 ~ 6999
  13. OceanBase Sysbench 高性能部署和问题分析

具体的日志 .obd/log/obd 给一下,obd的版本是什么

1 个赞

就是连不上服务器,能否跳过?

1 个赞

根据您提供的日志信息,问题出在 OCP-Express 服务器无法连接上。由于 OCP-Express 服务器已经被回收,导致 OceanBase 无法启动。以下是一些具体的解决方案:

1. 修改配置文件

首先,您需要修改 OceanBase 的配置文件,移除或注释掉与 OCP-Express 相关的配置项。这样可以避免在启动过程中尝试连接已不存在的 OCP-Express 服务器。

  1. 进入 OceanBase 安装目录

    cd /home/admin/oceanbase
    
  2. 编辑配置文件

    vim conf/config.ini
    
  3. 查找并注释掉与 OCP-Express 相关的配置项
    例如,查找类似以下的配置项并注释掉:

    # ocp_express_host=172.18.0.91
    # ocp_express_port=22
    # ocp_express_user=obadmin
    # ocp_express_password=obadmin
    

2. 手动启动 OceanBase

修改配置文件后,尝试手动启动 OceanBase 服务器。

  1. 进入 OceanBase 安装目录

    cd /home/admin/oceanbase
    
  2. 启动 OceanBase 服务器

    ./bin/observer -p 2882 -P 2881 -c conf/config.ini
    

3. 检查日志

如果手动启动仍然失败,检查 OceanBase 的日志文件以获取更多信息。日志文件通常位于 /home/admin/oceanbase/log/ 目录下,文件名为 observer.log

4. 重新部署 OCP-Express

如果手动启动成功,但您仍然需要 OCP-Express 来进行管理和监控,可以考虑重新部署 OCP-Express。以下是重新部署的步骤:

  1. 下载 OCP-Express 安装包

    wget https://mirrors.oceanbase.com/ocp-express/ocp-express-latest.tar.gz
    
  2. 解压安装包

    tar -zxvf ocp-express-latest.tar.gz
    cd ocp-express-latest
    
  3. 配置 OCP-Express
    编辑 conf/ocp-express.properties 文件,配置 OCP-Express 的相关参数,特别是数据库连接信息。

  4. 启动 OCP-Express

    bin/start.sh
    

5. 联系技术支持

如果以上步骤都无法解决问题,建议联系 OceanBase 的技术支持团队获取进一步的帮助。您可以使用 obdiag 工具收集诊断信息,并将其发送给技术支持团队。

获取积分

关于获取积分的问题,您可以尝试以下方法:

  1. 参与社区活动:参加 OceanBase 社区的活动,如问答、分享经验等,可以获得积分。
  2. 邀请好友:邀请好友加入社区,也可以获得积分。
  3. 完成任务:完成社区中的任务,如阅读文章、参与讨论等,也可以获得积分。

希望以上信息对您有所帮助。如果还有其他问题,请随时提问。

具体信息可参考以下文档:

  1. 扩容与组件变更
  2. 使用命令行部署 OCP

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

obd 版本是 4.2.3,ocp-express理论上不影响oceanbase数据库的启动,我就想看看能否把数据库启动起来。

现在的问题是,修改配置文件会触发重新部署。

求救!!!

start -c oceanbase-ce 试试

老师,我尝试,直接编辑配置文件,不提示重新部署了。

但是,好像还不太行~

老师,命令行是否是这样呢:

obd cluster start pro_kungeek_oceanbase_cluster --wop -c oceanbase-ce

你配置文件中改了什么

你把.data中的config_status改成UNCHNAGE,再用start命令试试

你修改了什么配置先改回参考inner_ .yaml文件,原yaml文件发出来一份。

1、调整 config_status

2、启动:

3、日志:

配置文件,我就是想把ocp-express删除了。

老师,已经改回去了,

只是注释了ocp-express部分。

发一份完整的yaml文件看看,可以试试使用带参启动observer方式。
如下是带参启动的例子:
./observer -p 30200 -P 30201 -z zone1 -c 1 -d 【store目录】 -i lo -r 127.0.0.1:30201 -o log_disk_size=5G,datafile_size=8G

也可以使用obshell 启动 类似/home/admin/oceanbase/bin/obshell cluster start -s 10.10.10.1:2886

感谢老师,

配置文件:

user:
  username: obadmin
  password: obadmin
  port: 22
oceanbase-ce:
  version: 4.2.3.0
  release: 100000112024042411.el7
  package_hash: ef16f0db100e41625be18924797b9f2bc17967d5
  172.18.0.91:
    zone: zone1
  servers:
  - 172.18.0.91
  global:
    appname: pro_kungeek_oceanbase_cluster
    root_password: ******
    mysql_port: 2881
    rpc_port: 2882
    data_dir: /data/oceanbase/observer/datafile
    redo_dir: /data/oceanbase/observer/logs
    home_path: /data/oceanbase/pro_kungeek_oceanbase_cluster/oceanbase
    devname: ''
    ocp_meta_tenant_max_cpu: '1'
    ocp_meta_tenant_memory_size: 2G
    cluster_id: 1702538858
    ocp_agent_monitor_password: ******
    proxyro_password: ******
    ocp_meta_password: ******
    ocp_meta_tenant_log_disk_size: 6G
    enable_syslog_recycle: true
    enable_syslog_wf: false
    max_syslog_file_count: 4
    memory_limit: 48G
    datafile_size: 4770G
    system_memory: 5G
    log_disk_size: 160G
    cpu_count: 16
obproxy-ce:
  version: 4.2.1.0
  package_hash: 0aed4b782120e4248b749f67be3d2cc82cdcb70d
  release: 11.el7
  servers:
  - 172.18.0.91
  global:
    prometheus_listen_port: 2884
    listen_port: 2883
    home_path: /data/oceanbase/pro_kungeek_oceanbase_cluster/obproxy
    obproxy_sys_password: ******
    skip_proxy_sys_private_check: true
    enable_strict_kernel_release: false
    enable_cluster_checkout: false
    rs_list: 172.18.0.91:2881
    observer_sys_password: ******
    cluster_name: pro_kungeek_oceanbase_cluster
    observer_root_password: ******
  depends:
  - oceanbase-ce
obagent:
  version: 4.2.1
  package_hash: c08058fef64b2dc6b5e2f99748fbd76fe872e356
  release: 100000122023103020.el7
  servers:
  - 172.18.0.91
  global:
    monagent_http_port: 8088
    mgragent_http_port: 8089
    home_path: /data/oceanbase/pro_kungeek_oceanbase_cluster/obagent
    http_basic_auth_password: ******
    ob_monitor_status: active
  depends:
  - oceanbase-ce
ocp-express:
  version: 4.2.1
  package_hash: c69fe1fe0ec0d1a4e14f75468ccda4d0a7ca8d28
  release: 100000222023111619.el7
  servers:
  - 172.21.32.39
  global:
    port: 8180
    home_path: /data/oceanbase/pro_kungeek_oceanbase_cluster/ocpexpress
    admin_passwd: ******
    memory_size: 752M
  depends:
  - obagent
  - oceanbase-ce
  - obproxy-ce

我先尝试使用obshell启动。

太感谢老师了,正常启动了。

那么OCP-Express可以不用理会了嘛?

你用obd cluster display看看集群什么状态,状态正常的话你用 cluster component del -c -f删除这个组件试试

老师,我的ODB应该用不了了,没关系了,我通过OCP来接管。