根据单机部署 OceanBase 数据库文档,启动数据库报错 Deploy "obtest" is configured. You could not start an configured cluster.

【 使用环境 】Linux
【 OB or 其他组件 】
【 使用版本 】安装包:oceanbase-all-in-one-4.2.5.0_20241023.el7.x86_64.tar.gz
【问题描述】根据文档部署 单机部署 OceanBase 数据库-V2.0.0-OceanBase 安装部署工具文档-分布式数据库使用文档
到了启动数据库指令obd cluster start obtest,执行指令后报错Deploy “obtest” is configured. You could not start an configured cluster.
【前后操作】修改了mini-single-example.yaml配置文件
修改内容:

Only need to configure when remote login is required

user:
username: admin
password: root1234

key_file: your ssh-key file path if need

port: 22

timeout: ssh connection timeout (second), default 30

oceanbase-ce:
servers:
# Please don’t use hostname, only IP can be supported
- 192.168.137.104
global:
# The working directory for OceanBase Database. OceanBase Database is started under this directory. This is a required field.
home_path: /home/admin/observer
# The directory for data storage. The default value is $home_path/store.
data_dir: /oceanbase/data
# The directory for clog, ilog, and slog. The default value is the same as the data_dir value.
redo_dir: /oceanbase/redo
# Starting from observer version 4.2, the network selection for the observer is based on the ‘local_ip’ parameter, and the ‘devname’ parameter is no longer mandatory.
# If the ‘local_ip’ parameter is set, the observer will first use this parameter for the configuration, regardless of the ‘devname’ parameter.
# If only the ‘devname’ parameter is set, the observer will use the ‘devname’ parameter for the configuration.
# If neither the ‘devname’ nor the ‘local_ip’ parameters are set, the ‘local_ip’ parameter will be automatically assigned the IP address configured above.
devname: ens33
mysql_port: 2881 # External port for OceanBase Database. The default value is 2881. DO NOT change this value after the cluster is started.
rpc_port: 2882 # Internal port for OceanBase Database. The default value is 2882. DO NOT change this value after the cluster is started.
obshell_port: 2886 # Operation and maintenance port for Oceanbase Database. The default value is 2886. This parameter is valid only when the version of oceanbase-ce is 4.2.2.0 or later.
zone: zone1
cluster_id: 1
# please set memory limit to a suitable value which is matching resource.
memory_limit: 6G # The maximum running memory for an observer
system_memory: 1G # The reserved system memory. system_memory is reserved for general tenants. The default value is 30G.
datafile_size: 1G # Size of the data file.
datafile_next: 1G # the auto extend step. Please enter an capacity, such as 2G
datafile_maxsize: 12G # the auto extend max size. Please enter an capacity, such as 20G
log_disk_size: 4G # The size of disk space used by the clog files.
cpu_count: 4
production_mode: false
enable_syslog_wf: false # Print system logs whose levels are higher than WARNING to a separate log file. The default value is true.
enable_syslog_recycle: true # Enable auto system log recycling or not. The default value is false.
max_syslog_file_count: 4 # The maximum number of reserved log files before enabling auto recycling. The default value is 0.
# root_password: # root user password, can be empty

@论坛小助手

根据文档库中的信息,您遇到的错误“Deploy ‘obtest’ is configured. You could not start an configured cluster.”通常是因为您试图启动一个已经配置过的集群,而这个集群当前处于未启动的状态。 [1]

解决方案:

  1. 检查集群状态
    在尝试启动集群之前,先检查集群的状态,确保它确实处于未启动状态。

    [admin@test001 ~]$ obd cluster display obtest
    
  2. 重新部署集群
    如果集群已经配置但未启动,您可以尝试重新部署集群。这将覆盖现有的配置。

    [admin@test001 ~]$ obd cluster redeploy obtest -c mini-single-example.yaml
    
  3. 删除现有配置并重新部署
    如果重新部署仍然失败,您可以删除现有的配置并重新部署。

    [admin@test001 ~]$ obd cluster destroy obtest
    [admin@test001 ~]$ obd cluster deploy obtest -c mini-single-example.yaml
    
  4. 检查配置文件
    确保您的配置文件 mini-single-example.yaml 没有语法错误,并且所有必要的参数都已正确设置。特别是 home_pathdata_dir 指向的目录是否为空,如果不为空,可以加上 -f 选项强制清空目录。

    [admin@test001 ~]$ obd cluster deploy obtest -c mini-single-example.yaml -f
    
  5. 查看日志
    如果上述步骤仍然无法解决问题,可以查看 OBD 的日志以获取更多信息。

    [admin@test001 ~]$ obd display-trace <trace_id>
    

希望这些步骤能帮助您解决问题。如果问题仍然存在,请联系 OceanBase 的人工答疑以获取更多帮助。 [1]

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

  1. 单机部署 OceanBase 数据库
  2. 错误码
  3. 快速启动 OceanBase 数据库
  4. 使用命令行部署 OCP
  5. 什么是 obd
  6. 使用命令行部署 OceanBase 数据库生产环境

obd cluster list
ps -ef|grep observer
提供一下上面的信息,修改的是obtest集群的yaml文件么 修改完是否执行了obd cluster obtest reload?

[quote=“辞霜, post:4, topic:35614898”]
obd cluster list
list±-----------------------------------------------------------+
| Cluster List |
±-------±--------------------------------±----------------+
| Name | Configuration Path | Status (Cached) |
±-------±--------------------------------±----------------+
| obtest | /home/admin/.obd/cluster/obtest | configured |
±-------±--------------------------------±----------------+
Trace ID: 9de8dac4-9c24-11ef-98e3-000c29733172
If you want to view detailed obd logs, please run: obd display-trace 9de8dac4-9c24-11ef-98e3-000c29733172

ps -ef|grep observer
admin 7144 15020 0 17:52 pts/0 00:00:00 grep --color=auto observer

改的是obtest集群的yaml文件么
是的

修改完是否执行了obd cluster obtest reload?
没有

根据您提供的信息,您已经确认 obtest 集群处于 configured 状态,并且 observer 进程没有在运行。这表明集群确实还没有启动。为了确保配置文件的更改生效,您需要执行 obd cluster reload 命令来重新加载配置文件。以下是详细的步骤:

解决方案:

  1. 重新加载配置文件
    执行 obd cluster reload 命令来重新加载配置文件,确保您的更改生效。

    [admin@test001 ~]$ obd cluster reload obtest
    
  2. 启动集群
    重新加载配置文件后,再次尝试启动集群。

    [admin@test001 ~]$ obd cluster start obtest
    
  3. 检查集群状态
    启动集群后,检查集群的状态以确保其正常运行。

    [admin@test001 ~]$ obd cluster display obtest
    

详细步骤:

  1. 重新加载配置文件

    [admin@test001 ~]$ obd cluster reload obtest
    
  2. 启动集群

    [admin@test001 ~]$ obd cluster start obtest
    
  3. 检查集群状态

    [admin@test001 ~]$ obd cluster display obtest
    

示例输出:

  • 重新加载配置文件

    [admin@test001 ~]$ obd cluster reload obtest
    obtest reloaded
    Trace ID: 9de8dac4-9c24-11ef-98e3-000c29733172
    If you want to view detailed obd logs, please run: obd display-trace 9de8dac4-9c24-11ef-98e3-000c29733172
    
  • 启动集群

    [admin@test001 ~]$ obd cluster start obtest
    +------------------------------------------------------------+
    |                        observer                            |
    +------------+---------+------+-------+--------+
    | ip         | version | port | zone  | status |
    +------------+---------+------+-------+--------+
    | 192.168.137.104 | 4.2.5.0 | 2881 | zone1 | ACTIVE |
    +------------+---------+------+-------+--------+
    obclient -h192.168.137.104 -P2881 -uroot -Doceanbase -A
    obtest running
    Trace ID: 9de8dac4-9c24-11ef-98e3-000c29733172
    If you want to view detailed obd logs, please run: obd display-trace 9de8dac4-9c24-11ef-98e3-000c29733172
    
  • 检查集群状态

    [admin@test001 ~]$ obd cluster display obtest
    +------------------------------------------------------------+
    |                        observer                            |
    +------------+---------+------+-------+--------+
    | ip         | version | port | zone  | status |
    +------------+---------+------+-------+--------+
    | 192.168.137.104 | 4.2.5.0 | 2881 | zone1 | ACTIVE |
    +------------+---------+------+-------+--------+
    obclient -h192.168.137.104 -P2881 -uroot -Doceanbase -A
    

通过以上步骤,您应该能够成功启动 obtest 集群。如果问题仍然存在,请检查 OBD 的日志以获取更多信息:

[admin@test001 ~]$ obd display-trace <trace_id>

希望这些步骤能帮助您解决问题。如果问题仍然存在,请联系 OceanBase 的人工答疑以获取更多帮助。[1]

详情请参考:

  1. 使用 obd 接管集群
  2. 扩容与组件变更
  3. 使用命令行部署 OCP

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

修改完参数后一般会提醒你执行命令生效,你修改的哪个参数,有些参数是无法修改的,修改会导致集群重新部署

修改的内容在我提问的内容中有贴

你贴了一份全的,这边并不知道你修改的是哪个参数。
如果edit-config 调整的参数不确定是重装生效、重启生效、还是重载生效,可以参看find ~/.obd/plugins/${component} “parameter.yaml” 文件,其中need_redeploy 对应重装生效(高危,会卸载服务,清理数据),need_restart 对应重启生效(注意,会重启部署服务,生产环境需要注意业务中断影响),此外参数基本为 reload 生效。具体生效的方式可以查看修改配置文件后黑屏打印的执行生效提示。