跳转至

升级企业版 NebulaGraph 3.x 至 3.4.1

本文以企业版 NebulaGraph 3.1.0 为例,介绍如何升级 v3.x 至 v3.4.1。

升级说明

  • 此升级操作仅适用于升级企业版 NebulaGraph 3.x(x < 4)至 3.4.1。对于升级 3.4.0 及以上版本至 3.4.1,可以直接替换二进制文件进行升级。具体操作请参见升级 NebulaGraph 至 3.4.1

!!! note

    如果您的企业版 NebulaGraph 版本低于 3.0.0,请先升级到企业版 3.1.0 再升级到 3.4.1。具体操作请参见[升级 NebulaGraph 2.x 至 3.1.0](https://docs.nebula-graph.com.cn/3.1.0/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-graph-to-latest/)。
  • 执行升级操作的集群 IP 地址必须与原集群相同。
  • 机器硬盘剩余空间至少需为原数据目录的 1.5 倍。
  • 在升级部署了全文索引的 NebulaGraph 前,需要手动删除 Elasticsearch (ES) 中的全文索引。在升级后需要重新使用SIGN IN语句登录 ES 并重新创建全文索引。

    Note

    用户可通过 cURL 命令手动删除 ES 中全文索引。命令为curl -XDELETE -u <es_username>:<es_password> '<es_access_ip>:<port>/<fullindex_name>',例如curl -XDELETE -u elastic:elastic 'http://192.168.8.223:9200/nebula_index_2534'。如果 ES 没有设置用户名及密码,则无需指定-u选项。

升级步骤

  1. 联系我们获取企业版 NebulaGraph v3.4.1 的安装包并安装。

    Note

    不同安装包的升级步骤相同。本文以 RPM 包且安装目录为/usr/local/nebulagraph-ent-3.4为例。具体操作请参见安装 RPM 包

    Caution

    请确保 3.4.1 集群的 Meta 服务和 Storage 服务的配置文件中的--data_path参数设置的存储路径数量与 3.x 集群的配置文件中的--data_path参数配置的路径数量相同。否则,升级后的集群无法启动。

  2. 停止企业版 NebulaGraph v3.x 服务。详情请参见管理 NebulaGraph 服务。 运行命令后可继续运行nebula.service status all命令以确认所有服务都已停止。

  3. 在企业版 NebulaGraph v3.4.1 的安装目录下,分别执行以下命令以升级 Storage 和 Meta 服务。

    • 升级 Storage 服务:

      命令:

      sudo ./bin/db_upgrader  --max_concurrent_parts=<num> --src_db_path=<source_storage_data_path> --dst_db_path=<destination_storage_data_path>
      
      参数 说明
      --max_concurrent_parts 指定同时升级的分片数量,默认值为 1
      建议根据磁盘性能适当调大。
      --src_db_path 指定源数据目录的绝对路径。下述示例源数据的目录为/usr/local/nebula-ent-3.1.0/data/storage
      --dst_db_path 指定目标数据目录的绝对路径。本文示例的目标数据目录为/usr/local/nebula-ent-3.4/data/storage

      示例:

      sudo ./bin/db_upgrader --max_concurrent_parts=20 --src_db_path=/usr/local/nebula-ent-3.1.0/data/storage --dst_db_path=/usr/local/nebula-ent-3.4/data/storage
      

      如果有多个源数据目录,请分别指定不同的源数据目录和目标数据目录并执行命令。例如,有两个源数据目录/usr/local/nebula-ent-3.1.0/data/storage/usr/local/nebula-ent-3.1.0/data2/storage,则执行以下命令:

      sudo ./bin/db_upgrader --src_db_path=/usr/local/nebula-ent-3.1.0/data/storage --dst_db_path=/usr/local/nebula-ent-3.4/data/storage
      
      sudo ./bin/db_upgrader --src_db_path=/usr/local/nebula-ent-3.1.0/data2/storage --dst_db_path=/usr/local/nebula-ent-3.4/data2/storage
      
    • 升级 Meta 服务:

      命令:

      sudo ./bin/meta_upgrader --src_meta_path=<source_meta_data_path> --dst_meta_path=<destination_meta_data_path>
      
      参数 说明
      --src_meta_path 指定源 Meta 数据目录的绝对路径。下述示例源数据的目录为/usr/local/nebula-ent-3.1.0/data/meta
      --dst_meta_path 指定目标 Meta 数据目录的绝对路径。本文示例的目标数据目录为/usr/local/nebula-ent-3.4/data/meta

      示例:

      sudo ./bin/meta_upgrader --src_meta_path=/usr/local/nebula-ent-3.1.0/data/meta --dst_meta_path=/usr/local/nebula-ent-3.4/data/meta
      

      如果有多个源 Meta 数据目录,请指定不同的源 Meta 数据目录和目标 Meta 数据目录并分别执行命令。

    服务升级完成后,会在 v3.4.1 的安装目录下生成data目录,其中包含升级后的数据文件。

  4. 上传 License 文件至 v3.4.1 的安装目录下的share/resources内。

  5. 启动和连接企业版 NebulaGraph v3.4.1 服务后,验证数据是否正确。参考命令如下:

    nebula> SHOW HOSTS;
    nebula> SHOW HOSTS storage;
    nebula> SHOW SPACES;
    nebula> USE <space_name>
    nebula> SHOW PARTS;
    nebula> SUBMIT JOB STATS;
    nebula> SHOW STATS;
    nebula> MATCH (v) RETURN v LIMIT 5;
    

Docker Compose 部署

Caution

Docker Compose 部署的 NebulaGraph 建议重新部署新版本后导入数据。


最后更新: March 27, 2023