开发者社区> 问答> 正文

你好,我们使用OceanBase数据库 了ocp4.2.1社区版,出现如图错误?

你好,我们使用OceanBase数据库 了ocp4.2.1社区版,ocp-server重启后,出现如如图错误:5e66193f672a749d2230f8364daccd97.png

展开
收起
真的很搞笑 2023-12-12 18:50:02 76 0
来自:OceanBase
4 条回答
写回答
取消 提交回答
  • 您好!根据您提供的日志信息,看起来在尝试启动OCP服务器时发生了一个错误。具体来说,在执行SQL语句"SELECT * FROM oceanbase.DBA_OB_TENANTS WHERE TENANT_NAME = %s"时出现了异常。

    这个错误可能是因为TENANT_NAME参数的值(monitor_tenant)不存在于DBA_OB_TENANTS表中。这可能是由于租户已经存在或者没有正确地创建或配置该租户导致的。

    为了解决这个问题,请检查以下几点:

    • 确保TENANT_NAME参数的值是正确的,并且与实际存在的租户名称匹配。
    • 检查是否存在名为“monitor”的租户并确认其状态是否正常。
    • 如果需要添加新的租户,请确保按照官方文档中的步骤进行操作:
      • 创建一个新的租户账户和角色。
      • 将新用户加入到特定的角色中以获得访问权限。
      • 使用CREATE TENANT命令来创建新的租户。
    2024-01-11 15:03:34
    赞同 展开评论 打赏
  • 编辑 /home/admin/.obd/plugins/ocp-server-ce/4.2.1/start_check.py Python文件 318 上方的skip_create_tenant强制赋值为True,并注释掉如下两行,保存文件。

    304                 #skip_create_tenant = 'False'
    305                 #skip_create_tenant = getattr(options, "skip_create_tenant", "False")
    

    vi /home/admin/.obd/plugins/ocp-server-ce/4.2.1/start_check.py

    303                 # tenant check
    304                 #skip_create_tenant = 'False'
    305                 #skip_create_tenant = getattr(options, "skip_create_tenant", "False")
    306                 skip_create_tenant = 'True'
    307                 if skip_create_tenant == 'False':
    308                     sql = "select * from oceanbase.DBA_OB_TENANTS where TENANT_NAME = %s"
    309                     meta_tenant = server_config.get('ocp_meta_tenant')['tenant_name']
    310                     meta_max_cpu = server_config['ocp_meta_tenant'].get('max_cpu', 2)
    311                     meta_memory_size = server_config['ocp_meta_tenant'].get('memory_size', '2G')
    312                     if server_config.get('ocp_monitor_tenant'):
    313                         monitor_user = server_config.get('ocp_monitor_username', 'monitor_user')
    314                         monitor_tenant = server_config['ocp_monitor_tenant']['tenant_name']
    315                         monitor_max_cpu = server_config['ocp_monitor_tenant'].get('max_cpu', 2)
    316                         monitor_memory_size = server_config['ocp_monitor_tenant'].get('memory_size',     '4G')
    317                         res = cursor.fetchone(sql, [monitor_tenant])
    318                         if res:
    319                             error('tenant', err.EC_OCP_SERVER_TENANT_ALREADY_EXISTS.format({"tenant_    name":monitor_tenant}))
    320                     res = cursor.fetchone(sql, [meta_tenant])
    321                     if res:
    322                         error('tenant', err.EC_OCP_SERVER_TENANT_ALREADY_EXISTS.format({"tenant_name    ":meta_tenant}))
    323                     break
    

    然后 输入如下命令可以正常启动了

    obd cluster start ocp
    

    ——参考链接

    2024-01-04 10:14:48
    赞同 1 展开评论 打赏
  • 天下风云出我辈,一入江湖岁月催,皇图霸业谈笑中,不胜人生一场醉。

    运行"obd display-trace f6e83e4e-9031-11ee-84fc-fa163e5b4dde"命令以查看更详细的错误日志。
    如果日志显示了异常,您可以尝试根据日志中提供的错误代码和错误信息来解决问题。您可以在OceanBase官方文档中查找与该错误相关的信息和解决方案。

    2023-12-29 12:12:45
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    问题可能是由于 tenant_name 的值未定义或为空导致的。错误信息中可以看到 "tenant_name": monitor_tenant,这里的 monitor_tenant 可能是一个未定义或为空的变量。
    为了解决这个问题,请检查您的代码中定义 monitor_tenant 的部分,确保它被正确赋值。例如:

    monitor_tenant = "your_tenant_name"

    将 "your_tenant_name" 替换为您实际要使用的租户名。如果 monitor_tenant 是一个从外部获取的值,请确保在调用 start_check 函数之前正确设置了 monitor_tenant 的值。

    2023-12-27 21:35:09
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
+ 订阅
蚂蚁OceanBase数据库团队,用于OceanBase技术原理、运维经验和案例分享、对外交流。
问答排行榜
最热
最新

相关电子书

更多
开源HTAP OceanBase产品揭秘 立即下载
云数据库OceanBase 架构演进及在金融核心系统中的实践 立即下载
自研金融数据库OceanBase的创新之路 立即下载