diff --git a/docs-2.0/20.appendix/0.FAQ.md b/docs-2.0/20.appendix/0.FAQ.md index ccbccea29d..898675d0b7 100644 --- a/docs-2.0/20.appendix/0.FAQ.md +++ b/docs-2.0/20.appendix/0.FAQ.md @@ -357,31 +357,64 @@ $ ./nebula-graphd --version 执行`rpm -qa |grep nebula`即可查看版本。 -{{ ent.ent_begin }} -### 如何扩缩容(仅限企业版) +### 如何扩缩容 -- 使用悦数运维监控,在可视化页面对 graphd 和 storaged 进行快速扩缩容,详情参见[集群操作-扩缩容](../nebula-dashboard-ent/4.cluster-operator/operator/scale.md)。 -- 使用 NebulaGraph Operator 扩缩容集群,详情参见[使用 Kubectl 部署{{nebula.name}}集群](../nebula-operator/3.deploy-nebula-graph-cluster/3.1create-cluster-with-kubectl.md)和[使用 Helm 部署{{nebula.name}}集群](../nebula-operator/3.deploy-nebula-graph-cluster/3.2create-cluster-with-helm.md)。 +{{comm.comm_begin}} +!!! warning + + 集群扩缩容功能未正式在社区版中发布。以下涉及`SUBMIT JOB BALANCE DATA REMOVE`和`SUBMIT JOB BALANCE DATA`的操作在社区版中均为实验性功能,功能未稳定。如需使用,请先做好数据备份,并且在 [Graph 配置文件](../5.configurations-and-logs/1.configurations/3.graph-config.md)中将`enable_experimental_feature`和`enable_data_balance`均设置为`true`。 + +{{comm.comm_end}} + +#### 增加或减少 Meta、Graph、Storage 节点的数量 + +- {{nebula.name}} {{ nebula.release }} 未提供运维命令以实现自动扩缩容,但可参考以下步骤实现手动扩缩容: + + - Meta 的扩容和缩容: Meta 不支持自动扩缩容。 + + !!! note + + 用户可以使用[脚本工具](https://github.com/vesoft-inc/nebula/blob/master/scripts/meta-transfer-tools.sh) 迁移 Meta 服务,但是需要自行修改 Graph 服务和 Storage 服务的配置文件中的 Meta 设置。 -{{nebula.name}} {{ nebula.release }} 未提供运维命令以实现自动扩缩容,参考以下步骤: + - Graph 的缩容:将该 Graph 的 IP 从 client 的代码中移除,关闭该 Graph 进程。 -- metad 的扩容和缩容: metad 不支持自动扩缩容。 + - Graph 的扩容:在新机器上准备 Graph 二进制文件和配置文件,在配置文件中修改或增加已在运行的 Meta 地址,启动 Graph 进程。 - !!! note + - Storage 的缩容:执行`SUBMIT JOB BALANCE DATA REMOVE `和`DROP HOSTS `。完成后关闭 Storage 进程。 - 用户可以使用[脚本工具](https://github.com/vesoft-inc/nebula/blob/master/scripts/meta-transfer-tools.sh) 迁移 meta 服务,但是需要自行修改 Graph 服务和 Storage 服务的配置文件中的 Meta 设置。 + !!! caution -- graphd 的缩容:将该 graphd 的 ip 从 client 的代码中移除,关闭该 graphd 进程。 + - 执行该命令迁移指定 Storage 节点中的分片数据前,需要确保其他 Storage 节点数量足够以满足设置的副本数。例如,如果设置了副本数为 3,那么在执行该命令前,需要确保其他 Storage 节点数量大于等于 3。 + - 如果待迁移的 Storage 节点中有多个图空间的分片,需要分别在每个图空间内执行该命令以迁移该 Storage 节点中的所有分片。 -- graphd 的扩容:在新机器上准备 graphd 二进制文件和配置文件,在配置文件中修改或增加已在运行的 metad 地址,启动 graphd 进程。 + - Storage 的扩容:在新机器上准备 Storage 二进制文件和配置文件,在配置文件中修改或增加已在运行的 Meta 地址,然后注册 Storage 到 Meta 并启动 Storage 进程。详情参见[注册 Storage 服务](../2.quick-start/3.quick-start-on-premise/3.1add-storage-hosts.md)。 + + Storage 扩缩容之后,根据需要执行`SUBMIT JOB BALANCE DATA`将当前图空间的分片平均分配到所有 Storage 节点中和执行`SUBMIT JOB BALANCE LEADER`命令均衡分布所有图空间中的 leader。运行命令前,需要选择一个图空间。 + + {{ent.ent_begin}} +- 使用悦数运维监控,在可视化页面对 Graph 和 Storage 进行快速扩缩容,详情参见[集群操作-扩缩容](../nebula-dashboard-ent/4.cluster-operator/operator/scale.md)。 + +- 使用 NebulaGraph Operator 扩缩容集群,详情参见[使用 Kubectl 部署{{nebula.name}}集群](../nebula-operator/3.deploy-nebula-graph-cluster/3.1create-cluster-with-kubectl.md)和[使用 Helm 部署{{nebula.name}}集群](../nebula-operator/3.deploy-nebula-graph-cluster/3.2create-cluster-with-helm.md)。 + {{ent.ent_end}} + + +#### 在 Storage 节点中增加或减少磁盘 + +目前,Storage 不支持动态识别新的磁盘。可以通过以下步骤在分布式集群的 Storage 节点中增加或减少磁盘{{comm.comm_begin}}(不支持对单个 Storage 节点的集群增加或减少磁盘){{comm.comm_end}}: + +1. 执行`SUBMIT JOB BALANCE DATA REMOVE `将待增加或减少磁盘的 Storage 节点迁到其他 Storage 节点中。 + + !!! caution -- storaged 的缩容:详情参见[缩容命令](../8.service-tuning/load-balance.md#_5)。完成后关闭 storaged 进程。 + - 执行该命令迁移指定 Storage 节点中的分片数据前,需要确保其他 Storage 节点数量足够以满足设置的副本数。例如,如果设置了副本数为 3,那么在执行该命令前,需要确保其他 Storage 节点数量大于等于 3。 + - 如果待迁移的 Storage 节点中有多个图空间的分片,需要分别在每个图空间内执行该命令以迁移该 Storage 节点中的所有分片。 -- storaged 的扩容:在新机器上准备 storaged 二进制文件和配置文件,在配置文件中修改或增加已在运行的 metad 地址,然后注册 storaged 到 metad 并启动 storaged 进程。详情参见[注册 Storage 服务](../2.quick-start/3.quick-start-on-premise/3.1add-storage-hosts.md)。 +2. 执行`DROP HOSTS `移除待增加或减少磁盘的 Storage 节点。 - storaged 扩缩容之后,还需要运行 [Balance Data 和 Balance Leader 命令](../8.service-tuning/load-balance.md)。 +3. 在所有 Storage 节点配置文件中通过`--data_path`配置新增或减少磁盘路径,详情参见[ Storage 配置文件](../5.configurations-and-logs/1.configurations/4.storage-config.md)。 +4. 执行`ADD HOSTS `重新添加待增加或减少磁盘的 Storage 节点。 +5. 根据需要执行`SUBMIT JOB BALANCE DATA`将当前图空间的分片平均分配到所有 Storage 节点中和执行`SUBMIT JOB BALANCE LEADER`命令均衡分布所有图空间中的 leader。运行命令前,需要选择一个图空间。 -{{ ent.ent_end }} ### 修改 Host 名称后,旧的 Host 一直显示 `OFFLINE` 怎么办? diff --git a/docs-2.0/3.ngql-guide/4.job-statements.md b/docs-2.0/3.ngql-guide/4.job-statements.md index 78810c925b..31c7c4178f 100644 --- a/docs-2.0/3.ngql-guide/4.job-statements.md +++ b/docs-2.0/3.ngql-guide/4.job-statements.md @@ -32,6 +32,10 @@ nebula> SUBMIT JOB BALANCE DATA; `SUBMIT JOB BALANCE DATA REMOVE [,: ...]`语句会启动任务迁空当前图空间指定的 Storage 服务中的分片。端口默认为`9779`。该命令会返回任务 ID。 +!!! caution + - 执行该命令迁移指定 Storage 节点中的分片数据前,需要确保其他 Storage 节点数量足够以满足设置的副本数。例如,如果设置了副本数为 3,那么在执行该命令前,需要确保其他 Storage 节点数量大于等于 3。 + - 如果待迁移的 Storage 节点中有多个图空间的分片,需要分别在每个图空间内执行该命令以迁移该 Storage 节点中的所有分片。 + 示例: ```ngql diff --git a/docs-2.0/8.service-tuning/load-balance.md b/docs-2.0/8.service-tuning/load-balance.md index ff274d6f0f..d46277c0fd 100644 --- a/docs-2.0/8.service-tuning/load-balance.md +++ b/docs-2.0/8.service-tuning/load-balance.md @@ -6,8 +6,15 @@ `SUBMIT JOB BALANCE`命令通过创建和执行一组子任务来迁移数据和均衡分片分布,**禁止**停止集群中的任何机器或改变机器的 IP 地址,直到所有子任务完成,否则后续子任务会失败。 -{{ ent.ent_begin }} +{{ comm.comm_begin }} +## 均衡分片分布 + +!!! enterpriseonly + 仅企业版支持均衡分片分布。 +{{ comm.comm_end }} + +{{ ent.ent_begin }} ## 均衡分片分布 !!! enterpriseonly @@ -108,12 +115,12 @@ ```ngql nebula> SUBMIT JOB BALANCE DATA REMOVE 192.168.8.100:9779; nebula> SHOW HOSTS; -+-----------------+------+----------+--------------+-----------------------+------------------------+-------------+ -| Host | Port | Status | Leader count | Leader distribution | Partition distribution | Version | -+-----------------+------+----------+--------------+-----------------------+------------------------+-------------+ ++-----------------+------+----------+--------------+-----------------------+------------------------+----------------------+ +| Host | Port | Status | Leader count | Leader distribution | Partition distribution | Version | ++-----------------+------+----------+--------------+-----------------------+------------------------+----------------------+ | "192.168.8.101" | 9779 | "ONLINE" | 15 | "basketballplayer:15" | "basketballplayer:15" | "{{nebula.release}}" | | "192.168.8.100" | 9779 | "ONLINE" | 0 | "No valid partition" | "No valid partition" | "{{nebula.release}}" | -+-----------------+------+----------+--------------+-----------------------+------------------------+-------------+ ++-----------------+------+----------+--------------+-----------------------+------------------------+----------------------+ ``` !!! note diff --git a/docs-2.0/nebula-operator/3.deploy-nebula-graph-cluster/3.1create-cluster-with-kubectl.md b/docs-2.0/nebula-operator/3.deploy-nebula-graph-cluster/3.1create-cluster-with-kubectl.md index d2d11c2667..55e55c30d2 100644 --- a/docs-2.0/nebula-operator/3.deploy-nebula-graph-cluster/3.1create-cluster-with-kubectl.md +++ b/docs-2.0/nebula-operator/3.deploy-nebula-graph-cluster/3.1create-cluster-with-kubectl.md @@ -20,7 +20,7 @@ {{comm.comm_begin}} 创建名为`apps_v1alpha1_nebulacluster.yaml`的文件。文件内容参见[示例配置](https://github.com/vesoft-inc/nebula-operator/blob/v{{operator.release}}/config/samples/apps_v1alpha1_nebulacluster.yaml)。 - {{comm.comm_begin}} + {{comm.comm_end}} {{ent.ent_begin}} 联系销售人员获取完整配置示例。