升级企业版 NebulaGraph 3.x 至 3.4.3¶
本文以企业版 NebulaGraph 3.1.0 为例,介绍如何升级 v3.x 至 v3.4.3。
升级说明¶
- 此升级操作仅适用于升级企业版 NebulaGraph 3.x(x < 4)至 3.4.3。对于升级 3.4.0 及以上版本至 3.4.3,可以直接替换二进制文件进行升级。具体操作请参见升级 NebulaGraph 至 3.4.3。
!!! note
如果您的企业版 NebulaGraph 版本低于 3.0.0,请先升级到企业版 3.1.0 再升级到 3.4.3。具体操作请参见[升级 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
选项。
升级步骤¶
-
联系我们获取企业版 NebulaGraph v3.4.3 的安装包并安装。
Note
不同安装包的升级步骤相同。本文以 RPM 包且安装目录为
/usr/local/nebulagraph-ent-3.4
为例。具体操作请参见安装 RPM 包。Caution
请确保 3.4.3 集群的 Meta 服务和 Storage 服务的配置文件中的
--data_path
参数设置的存储路径数量与 3.x 集群的配置文件中的--data_path
参数配置的路径数量相同。否则,升级后的集群无法启动。 -
停止企业版 NebulaGraph v3.x 服务。详情请参见管理 NebulaGraph 服务。 运行命令后可继续运行
nebula.service status all
命令以确认所有服务都已停止。 -
在企业版 NebulaGraph v3.4.3 的安装目录下,分别执行以下命令以升级 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.3 的安装目录下生成
data
目录,其中包含升级后的数据文件。 -
-
上传 License 文件至 v3.4.3 的安装目录下的
share/resources
内。 -
启动和连接企业版 NebulaGraph v3.4.3 服务后,验证数据是否正确。参考命令如下:
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 建议重新部署新版本后导入数据。