You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CnosDB集群启动失败:默认租户‘cnosdb’初始化失败

CnosDB 2.3.0集群模式启动data节点崩溃:TenantNotFound { tenant: "cnosdb" }

问题描述

本地部署CnosDB 2.3.0(修订版本f4b52408171467c5ea2b2f75480deecc6f6ad733)集群模式时,启动data节点程序崩溃,抛出错误:

make dbms: Meta { source: TenantNotFound { tenant: "cnosdb" } }

默认租户cnosdb初始化失败,已确认meta节点监听127.0.0.1:8901正常,data节点配置的meta服务地址正确,但问题依旧。

配置信息

元数据节点(meta_1)

服务地址:127.0.0.1:8901
配置内容:

id = 1
host = "127.0.0.1"
port = 8901

snapshot_path = "/tmp/meta_1/snapshot"
journal_path = "/tmp/meta_1/journal"
snapshot_per_events = 500

[log]
level = "info"
path = "/tmp/meta_1/logs"

[meta_init]
cluster_name = "meta_1"
admin_user = "root"
system_tenant = "cnosdb"
default_database = ["public", "usage_schema"]

[heartbeat]
heartbeat_recheck_interval = 300
heartbeat_expired_interval = 600

数据节点(data_1)

服务地址:127.0.0.1:8912
配置内容:

host = '127.0.0.1'

[cluster]
name = 'data_1'
http_listen_port = 8912
grpc_listen_port = 8913
flight_rpc_listen_port = 8914
tcp_listen_port = 8915
meta_service_addr = ['127.0.0.1:8901']

[node_basic]
node_id = 1
cold_data_server = false
store_metrics = true

[deployment]
mode = 'query_tskv'
[query]
[storage]
path = '/tmp/data_1/data'
[wal]
path = '/tmp/data_1/wal'
[cache]
[log]
level = 'info'
path = '/tmp/data_1/wal'
[security]
[hinted_off]
[heartbeat]

操作步骤及错误输出

# 清理环境
$ rm -rf /tmp/test/*

# 启动元数据节点
$ cnosdb-meta --config ./meta_1.toml
.........

# 初始化元数据集群
$ curl http://127.0.0.1:8901/init -d '{}'
{"Ok":null}

# 启动数据节点
$ cnosdb run --config data_1.toml
.........
2023-05-29T00:36:19.264002000+08:00  INFO tskv::wal: WAL '1' starts write
2023-05-29T00:36:19.264278000+08:00  WARN tskv::wal: Recover: reading wal from seq '0'
2023-05-29T00:36:19.264431000+08:00  INFO tskv::kvcore: Job 'WAL' starting.
2023-05-29T00:36:19.264463000+08:00  INFO tskv::kvcore: Flush task handler started
2023-05-29T00:36:19.264510000+08:00  INFO tskv::kvcore: Job 'WAL' started.
2023-05-29T00:36:19.264742000+08:00  INFO tskv::kvcore: Summary task handler started
The application panicked (crashed).
Message:  make dbms: Meta { source: TenantNotFound { tenant: "cnosdb" } }
Location: main/src/server.rs:246

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
                                ⋮ 10 frames hidden ⋮
  11: cnosdb::server::ServiceBuilder::create_dbms::{{closure}}::h1aef1bae443f563d
      at <unknown source file>:<unknown line>
  12: cnosdb::server::ServiceBuilder::build_query_storage::{{closure}}::h778497860af930a7
      at <unknown source file>:<unknown line>
  13: cnosdb::main::{{closure}}::hd08bd0324e3b1f23
      at <unknown source file>:<unknown line>
  14: cnosdb::main::h4f1efcc4db9ef8ea
      at <unknown source file>:<unknown line>
  15: std::sys_common::backtrace::__rust_begin_short_backtrace::hf3cbd67dc5a868f8
      at <unknown source file>:<unknown line>
  16: std::rt::lang_start::{{closure}}::h76d82e46c7eb707c
      at <unknown source file>:<unknown line>
  17: std::rt::lang_start_internal::h672762ded3eb0218
      at <unknown source file>:<unknown line>
  18: _main<unknown>
      at <unknown source file>:<unknown line>

解决办法

  1. 确认meta节点初始化是否正确创建租户
    执行命令查询meta节点中的租户信息:

    curl http://127.0.0.1:8901/api/v1/tenants
    

    如果返回结果中没有cnosdb租户,说明初始化未成功创建默认租户。

  2. 手动创建默认租户
    若租户未存在,执行以下命令手动创建cnosdb租户:

    curl -X POST http://127.0.0.1:8901/api/v1/tenant \
    -H "Content-Type: application/json" \
    -d '{
        "name": "cnosdb",
        "comment": "system tenant"
    }'
    

    创建完成后,再启动data节点。

  3. 检查data节点配置的租户一致性
    确认data节点配置中是否指定了正确的租户名称,若未显式配置,CnosDB默认使用cnosdb作为租户名,需确保与meta节点中的租户名称完全一致。

  4. 重新初始化meta集群(清理环境后)
    若以上步骤无效,清理meta节点数据目录(/tmp/meta_1/snapshot、/tmp/meta_1/journal),重新启动meta节点并执行初始化命令:

    rm -rf /tmp/meta_1/snapshot /tmp/meta_1/journal
    cnosdb-meta --config ./meta_1.toml
    # 等待meta节点启动完成后执行
    curl http://127.0.0.1:8901/init -d '{
        "cluster_name": "meta_1",
        "admin_user": "root",
        "system_tenant": "cnosdb",
        "default_database": ["public", "usage_schema"]
    }'
    

    初始化时显式传入参数,避免默认配置未生效。

内容的提问来源于stack exchange,提问作者Darts

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 09:47:10