ocp 安装失败 init metadb failed

【 使用环境 】测试环境
【 使用版本 】社区版 4.0.0
【问题描述】
执行安装脚本后 init ocp metadb 失败

2023-02-15 15:06:45 - INFO - 1 - [metadb_init.py:39] - init ocp metadb with command: sudo docker run --rm --net=host --workdir=/home/admin/ocp-init/src/ocp-init --entrypoint=python -e PYTHONUNBUFFERED=1 -e TABLEGROUP_NAME=meta_database reg.docker.alibaba-inc.com/oceanbase/ocp-all-in-one:4.0.0-ce-bp1-20230119103000 create_metadb.py 10.0.0.114 2883 meta_user@meta_tenant#obcluster meta_password_1qaz1qaz meta_database monitor_user@monitor_tenant#obcluster meta_password_1qaz1qaz monitor_database on host: 10.0.0.113
Traceback (most recent call last):
  File "pipeline/install_ocp.py", line 43, in <module>
    run(context)
  File "pipeline/install_ocp.py", line 33, in run
    install_ocp_pipeline.run()
  File "/root/installer/core/pipeline.py", line 10, in run
    task.run()
  File "/root/installer/task/metadb_init.py", line 42, in run
    raise Exception("init metadb failed, {} {} {}".format(init_metadb_result.code, init_metadb_result.stdout, init_metadb_result.stderr))
Exception: init metadb failed, 255 Generated yml file:

OcpInitParameter:
  METADB:
    ip: &metadb_ip 10.0.0.114
    username: &metadb_username meta_user@meta_tenant#obcluster
    password: &metadb_password 'meta_password_1qaz1qaz'
    port: &metadb_port 2883
    dbname: &metadb_dbname meta_database
  MONITORDB:
    ip: &monitordb_ip 10.0.0.114
    username: &monitordb_username monitor_user@monitor_tenant#obcluster
    password: &monitordb_password 'meta_password_1qaz1qaz'
    port: &monitordb_port 2883
    dbname: &monitordb_dbname monitor_database
  CONFIGURATION:
    ocp.monitordb.host: *monitordb_ip
    ocp.monitordb.port: *monitordb_port
    ocp.monitordb.username: *monitordb_username
    ocp.monitordb.password: *monitordb_password
    ocp.monitordb.database: *monitordb_dbname
    ocp.iam.auth: local
    backup.dbname.prefix: &backup_dbname_prefix backup

start create database meta_database
table config_properties exists
get ocp version: 3.3.1
the metadb [meta_database] is not empty, ocp 3.3.1 already installed
start create backup databases
start upgrade 147x
loading sql script: backup_metadb_upgrade.sql
[2023-02-15 15:06:49] run sql: ALTER TABLE `base_data_backup` ADD COLUMN `lease_time` timestamp(6) NOT NULL default '1970-01-01 08:00:00'; failed, got duplicate column error 1060 (42S21): Duplicate column name 'lease_time', just skip

[2023-02-15 15:06:49] run sql: ALTER TABLE `backup_server_mapping` ADD COLUMN `lease_time` timestamp(6) NOT NULL default '1970-01-01 08:00:00'; failed, got duplicate column error 1060 (42S21): Duplicate column name 'lease_time', just skip

[2023-02-15 15:06:49] run sql: ALTER TABLE `base_data_backup_task` ADD COLUMN `relative_data_version` bigint(20) NOT NULL default 0; failed,got duplicate column error 1060 (42S21): Duplicate column name 'relative_data_version', just skip

[2023-02-15 15:06:49] run sql: ALTER TABLE `base_data_backup_task` ADD COLUMN `last_succeed_version` bigint(20) NOT NULL default 0; failed, got duplicate column error 1060 (42S21): Duplicate column name 'last_succeed_version', just skip

[2023-02-15 15:06:49] run sql: ALTER TABLE `base_data_backup_task_history` ADD COLUMN `relative_data_version` bigint(20) NOT NULL default 0;failed, got duplicate column error 1060 (42S21): Duplicate column name 'relative_data_version', just skip

[2023-02-15 15:06:49] run sql: ALTER TABLE `base_data_backup_task_history` ADD COLUMN `last_succeed_version` bigint(20) NOT NULL default 0; failed, got duplicate column error 1060 (42S21): Duplicate column name 'last_succeed_version', just skip

end upgrade 147x
start upgrade 21
end upgrade 21
start upgrade 1472
end upgrade 1472
start upgrade 2230
end upgrade 2230
end create backup databases
 create_metadb.py:20: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
  data = yaml.load(file)
No handlers could be found for logger "root
1 个赞

初始化脚本发现这个库下面有数据,要使用一个空的database进行初始化,或者不需要创建database,只需要给database的名字就可以, init脚本会自动创建出来一个database

1 个赞