创建Metadb报错

【 使用环境 】测试环境
【 OAT、Metadb 】
【 版本号: 4.2.1 】
【问题描述】
使用OAT创建Metadb组件时,在进行到bootstrap_metadb这一步时报错,提示租户已经存在。但是我使用obclient连接测试时是提示数据库正在初始化。
【复现路径】
安装OAT、添加服务器、创建Metadb
【附件及日志】
[2025-09-05T14:40:11.847+0800] INFO - Dependencies all met for dep_context=non-requeueable deps ti=<TaskInstance: init_metadb.bootstrap_metadb manual__2025-09-05T06:37:40.087966+00:00 [queued]>

2

[2025-09-05T14:40:11.863+0800] INFO - Dependencies all met for dep_context=requeueable deps ti=<TaskInstance: init_metadb.bootstrap_metadb manual__2025-09-05T06:37:40.087966+00:00 [queued]>

3

[2025-09-05T14:40:11.863+0800] INFO -

4


5

[2025-09-05T14:40:11.863+0800] INFO - Starting attempt 2 of 2

6

[2025-09-05T14:40:11.863+0800] INFO -

7


8

[2025-09-05T14:40:11.893+0800] INFO - Executing <Task(_PythonDecoratedOperator): bootstrap_metadb> on 2025-09-05 06:37:40.087966+00:00

9

[2025-09-05T14:40:11.898+0800] INFO - Started process 30963 to run task

10

[2025-09-05T14:40:11.906+0800] INFO - Running: [‘airflow’, ‘tasks’, ‘run’, ‘init_metadb’, ‘bootstrap_metadb’, ‘manual__2025-09-05T06:37:40.087966+00:00’, ‘–job-id’, ‘84’, ‘–raw’, ‘–subdir’, ‘DAGS_FOLDER/init_metadb.py’, ‘–cfg-path’, ‘/tmp/tmp2dip4dmb’]

11

[2025-09-05T14:40:11.910+0800] INFO - Job 84: Subtask bootstrap_metadb

12

[2025-09-05T14:40:12.024+0800] INFO - Running <TaskInstance: init_metadb.bootstrap_metadb manual__2025-09-05T06:37:40.087966+00:00 [running]> on host localhost.localdomain

13

[2025-09-05T14:40:12.144+0800] INFO - Exporting the following env vars:

14

AIRFLOW_CTX_DAG_OWNER=airflow

15

AIRFLOW_CTX_DAG_ID=init_metadb

16

AIRFLOW_CTX_TASK_ID=bootstrap_metadb

17

AIRFLOW_CTX_EXECUTION_DATE=2025-09-05T06:37:40.087966+00:00

18

AIRFLOW_CTX_TRY_NUMBER=2

19

AIRFLOW_CTX_DAG_RUN_ID=manual__2025-09-05T06:37:40.087966+00:00

20

[2025-09-05T14:40:12.145+0800] WARNING - OB can not bootstrap twice. If this task continuous fail,cancel the whole dag and retry

21

[2025-09-05T14:40:12.147+0800] INFO - Running statement: select a.id, a.ip, b.name as idc, b.region from oat_server a, oat_idc b where a.idc_id=b.id and a.id in (%s), parameters: [2]

22

[2025-09-05T14:40:12.148+0800] INFO - Rows affected: 1

23

[2025-09-05T14:40:12.151+0800] INFO - Execute query: set ob_query_timeout=1000000000, args: None

24

[2025-09-05T14:40:12.152+0800] INFO - Relate rows: 0

25

[2025-09-05T14:40:12.152+0800] INFO - Execute query: alter system bootstrap REGION “SZ” ZONE “META_ZONE_1” SERVER “192.168.5.32:2882”, args: None

26

[2025-09-05T14:40:12.157+0800] ERROR - Task failed with exception

27

Traceback (most recent call last):

28

File “/usr/local/lib/python3.9/site-packages/airflow/decorators/base.py”, line 217, in execute

29

return_value = super().execute(context)

30

File “/usr/local/lib/python3.9/site-packages/airflow/operators/python.py”, line 175, in execute

31

return_value = self.execute_callable()

32

File “/usr/local/lib/python3.9/site-packages/airflow/operators/python.py”, line 192, in execute_callable

33

return self.python_callable(*self.op_args, **self.op_kwargs)

34

File “/oat/task_engine/dags/init_metadb.py”, line 182, in bootstrap_metadb

35

cur.execute(bootstrap_sql)

36

File “/oat/task_engine/plugins/utils.py”, line 2320, in execute

37

res = super().execute(query, args)

38

File “/usr/local/lib/python3.9/site-packages/pymysql/cursors.py”, line 148, in execute

39

result = self._query(query)

40

File “/usr/local/lib/python3.9/site-packages/pymysql/cursors.py”, line 310, in _query

41

conn.query(q)

42

File “/usr/local/lib/python3.9/site-packages/pymysql/connections.py”, line 548, in query

43

self._affected_rows = self._read_query_result(unbuffered=unbuffered)

44

File “/usr/local/lib/python3.9/site-packages/pymysql/connections.py”, line 775, in _read_query_result

45

result.read()

46

File “/usr/local/lib/python3.9/site-packages/pymysql/connections.py”, line 1156, in read

47

first_packet = self.connection._read_packet()

48

File “/usr/local/lib/python3.9/site-packages/pymysql/connections.py”, line 725, in _read_packet

49

packet.raise_for_error()

50

File “/usr/local/lib/python3.9/site-packages/pymysql/protocol.py”, line 221, in raise_for_error

51

err.raise_mysql_exception(self._data)

52

File “/usr/local/lib/python3.9/site-packages/pymysql/err.py”, line 143, in raise_mysql_exception

53

raise errorclass(errno, errval)

54

pymysql.err.OperationalError: (5156, ‘tenant already exist’)

55

[2025-09-05T14:40:12.168+0800] INFO - Marking task as FAILED. dag_id=init_metadb, task_id=bootstrap_metadb, execution_date=20250905T063740, start_date=20250905T064011, end_date=20250905T064012

56

[2025-09-05T14:40:12.252+0800] ERROR - Failed to execute job 84 for task bootstrap_metadb ((5156, ‘tenant already exist’); 30963)

57

[2025-09-05T14:40:12.276+0800] INFO - Task exited with return code 1

58

[2025-09-05T14:40:12.322+0800] INFO - 0 downstream tasks scheduled from follow-on schedule check

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

2 个赞

你好,你提的这个技术问题牵涉到OceanBase企业版范围内的功能细节。建议你通过以下方式寻求帮助:
1.如你所在的企业客户已签署OceanBase企业版销售合同,请你联系客户经理;
2.如你所在的企业客户尚未签署OceanBase企业版销售合同,你可通过OceanBase官网商务咨询页面留下你的联系方式,OceanBase企业版的业务顾问会在一个工作日内与你联系。
OceanBase官网商务咨询

https://www.oceanbase.com/contactus?fromPage=https%3A%2F%2Fwww.oceanbase.com%2Fsoftwarecenter-enterprise&dataSources=softwarecenter-enterprise_footercontact_d2022

1 个赞

学习一下

1 个赞

报错不是说租户已经存在吗?是不是同名重复了?

1 个赞

看报错信息,这是第二次初始化;
要么跳过初始化,要么登录 sys 租户删除 metadb 的租户,再重试任务。