Skip to content

Commit

Permalink
update balance (#1380)
Browse files Browse the repository at this point in the history
* update balance

* update

* update

* update

* Update 2.balance-syntax.md

* Update load-balance.md
  • Loading branch information
cooper-lzy authored Jan 13, 2022
1 parent 589c651 commit ca0ef21
Show file tree
Hide file tree
Showing 7 changed files with 168 additions and 124 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ Execution succeeded
## 保留关键字

```ngql
ACROSS
ADD
ALTER
AND
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# SHOW INDEX STATUS

`SHOW INDEX STATUS`语句可以查看索引名称和对应的状态
`SHOW INDEX STATUS`语句可以查看索引名称和对应作业的状态

索引状态包括:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,16 @@

`BALANCE`语句可以让 Nebula Graph 的 Storage 服务实现负载均衡。更多`BALANCE`语句示例和 Storage 负载均衡,请参见 [Storage 负载均衡](../../8.service-tuning/load-balance.md)

!!! compatibility "历史版本兼容性"

Neubla Graph 3.0.0 新增 Zone 功能导致 Balance 命令发生变化,3.0.0 之前版本的命令不再兼容。

`BALANCE`语法说明如下。

|语法|说明|
|:---|:---|
|`BALANCE DATA`|启动任务均衡分布 Nebula Graph 集群中(或 Group 中)的所有分片。该命令会返回任务 ID`balance_id`|
|`BALANCE DATA <balance_id>`|显示`BALANCE DATA`任务的状态|
|`BALANCE DATA STOP`|停止`BALANCE DATA`任务|
|`BALANCE DATA REMOVE <host_list>`|在 Nebula Graph 集群中扫描并解绑指定的 Storage 主机。|
|`BALANCE LEADER`|在 Nebula Graph 集群中(或 Group 中)均衡分布 leader。|
|`BALANCE IN ZONE [REMOVE <ip>:<port> [,<ip>:<port> ...]]`|在当前图空间内每个 Zone 内部启动任务均衡分布分片。该命令会返回任务 ID。可以使用`REMOVE`选项指定需要清空的 Storage 节点,方便进行维护|
|`BALANCE ACROSS ZONE [REMOVE "zone_name" [,"zone_name" ...]]`|在当前图空间内所有 Zone 之间启动任务均衡分布分片,保证各个 Zone 分片数量平衡。该命令会返回任务 ID。可以使用`REMOVE`选项指定需要清空的 Zone,方便进行维护|
|`BALANCE LEADER`|在当前图空间内所有 Zone 之间启动任务均衡分布 leader。该命令会返回任务 ID|

查看、停止、重启任务,请参见[作业管理](4.job-statements.md)
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,43 @@

所有作业管理命令都需要先选择图空间后才能执行。

## SUBMIT JOB BALANCE IN ZONE

`SUBMIT JOB BALANCE IN ZONE`语句会在当前图空间内每个 Zone 内部启动任务均衡分布分片。该命令会返回任务 ID。可以使用`REMOVE`选项指定需要清空的 Storage 节点,方便进行维护。

示例:

```ngql
nebula> SUBMIT JOB BALANCE IN ZONE REMOVE 192.168.10.102:9779;
+------------+
| New Job Id |
+------------+
| 26 |
+------------+
```

## SUBMIT JOB BALANCE ACROSS ZONE

`SUBMIT JOB BALANCE ACROSS ZONE`语句会在当前图空间内所有 Zone 之间启动任务均衡分布分片,保证各个 Zone 分片数量平衡。该命令会返回任务 ID。可以使用`REMOVE`选项指定需要清空的 Zone,方便进行维护。

示例:

```ngql
nebula> SUBMIT JOB BALANCE ACROSS ZONE REMOVE "zone1";
+------------+
| New Job Id |
+------------+
| 27 |
+------------+
```

## SUBMIT JOB COMPACT

`SUBMIT JOB COMPACT` 语句会触发 RocksDB 的长耗时 `compact` 操作。
`SUBMIT JOB COMPACT` 语句会在当前图空间内触发 RocksDB 的长耗时 `compact` 操作。

`compact`配置详情请参见 [Storage 服务配置](../../5.configurations-and-logs/1.configurations/4.storage-config.md)

### 示例
示例:

```ngql
nebula> SUBMIT JOB COMPACT;
Expand All @@ -25,9 +55,9 @@ nebula> SUBMIT JOB COMPACT;

## SUBMIT JOB FLUSH

`SUBMIT JOB FLUSH`语句将内存中的 RocksDB memfile 写入硬盘。
`SUBMIT JOB FLUSH`语句将当前图空间内存中的 RocksDB memfile 写入硬盘。

### 示例
示例:

```ngql
nebula> SUBMIT JOB FLUSH;
Expand All @@ -40,13 +70,13 @@ nebula> SUBMIT JOB FLUSH;

## SUBMIT JOB STATS

`SUBMIT JOB STATS`语句启动一个作业,该作业对当前图空间进行统计。作业完成后,用户可以使用`SHOW STATS`语句列出统计结果。详情请参见 [SHOW STATS](../7.general-query-statements/6.show/14.show-stats.md)
`SUBMIT JOB STATS`语句会在当前图空间内启动一个作业,该作业对当前图空间进行统计。作业完成后,用户可以使用`SHOW STATS`语句列出统计结果。详情请参见 [SHOW STATS](../7.general-query-statements/6.show/14.show-stats.md)

!!! Note

如果存储在 Nebula Graph 中的数据有变化,为了获取最新的统计结果,请重新执行`SUBMIT JOB STATS`。

### 示例
示例:

```ngql
nebula> SUBMIT JOB STATS;
Expand All @@ -63,7 +93,7 @@ Meta 服务将`SUBMIT JOB`请求解析为多个任务,然后分配给进程 ne

`job_id`在执行`SUBMIT JOB`语句时会返回。

### 示例
示例:

```ngql
nebula> SHOW JOB 34;
Expand Down Expand Up @@ -112,7 +142,7 @@ Queue -- running -- finished -- removed

作业的默认过期时间为一周。如果需要修改过期时间,请修改 Meta 服务的参数`job_expired_secs`。详情请参见 [Meta 服务配置](../../5.configurations-and-logs/1.configurations/2.meta-config.md)

### 示例
示例:

```ngql
nebula> SHOW JOBS;
Expand All @@ -129,9 +159,9 @@ nebula> SHOW JOBS;

## STOP JOB

`STOP JOB`语句可以停止当前图空间内未完成的作业。
`STOP JOB <job_id>`语句可以停止当前图空间内未完成的作业。

### 示例
示例:

```ngql
nebula> STOP JOB 22;
Expand All @@ -144,9 +174,9 @@ nebula> STOP JOB 22;

## RECOVER JOB

`RECOVER JOB`语句会重新执行当前图空间内失败的作业,并返回已恢复的作业数量。
`RECOVER JOB [<job_id>]`语句可以重新执行当前图空间内状态为`QUEUE``FAILED``STOPPED`的作业,未指定`<job_id>`时,会从最早的作业开始尝试重新执行,并返回已恢复的作业数量。

### 示例
示例:

```ngql
nebula> RECOVER JOB;
Expand Down
8 changes: 6 additions & 2 deletions docs-2.0/4.deployment-and-installation/5.zone.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ nebula> SHOW ZONES;

!!! note

加入之后请使用 [BALANCE DATA](../3.ngql-guide/18.operation-and-maintenance-statements/2.balance-syntax.md) 命令实现负载均衡。
加入之后请使用 [BALANCE](../3.ngql-guide/18.operation-and-maintenance-statements/2.balance-syntax.md) 命令实现负载均衡。

```ngql
ADD HOSTS <ip>:<port> [,<ip>:<port> ...] INTO ZONE "<zone_name>";
Expand Down Expand Up @@ -118,6 +118,10 @@ DROP ZONE "<zone_name>";

合并时将检查所有图空间分片的分布情况,防止同一个分片的不同副本因为合并导致分布在同一个 Zone 中。

!!! note

合并之后请使用 [BALANCE](../3.ngql-guide/18.operation-and-maintenance-statements/2.balance-syntax.md) 命令实现负载均衡。

```ngql
MERGE ZONE "<zone_name>" [,"<zone_name>" ...] INTO "<new_zone_name>";
```
Expand All @@ -134,7 +138,7 @@ MERGE ZONE "default_zone_192.168.10.100_9779","default_zone_192.168.10.101_9779"

!!! note

分离之后请使用 [BALANCE DATA](../3.ngql-guide/18.operation-and-maintenance-statements/2.balance-syntax.md) 命令实现负载均衡。
分离之后请使用 [BALANCE](../3.ngql-guide/18.operation-and-maintenance-statements/2.balance-syntax.md) 命令实现负载均衡。

```ngql
DIVIDE ZONE "<zone_name>" INTO "<new_zone_name>"(<ip>:<port>) ["<new_zone_name>"(<ip>:<port>) ...];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ Graph 服务提供了两份初始配置文件`nebula-graphd.conf.default`和`neb

| 名称 | 预设值 | 说明 |
| ------------------- | ------------------------ | ------------------------------------------ |
| `system_memory_high_watermark_ratio` | - |内存高水位报警机制的触发阈值,默认为`0.9`。系统内存占用率高于该值会触发报警机制,Nebula Graph 会停止接受查询。|
| `system_memory_high_watermark_ratio` | `0.8` |内存高水位报警机制的触发阈值。系统内存占用率高于该值会触发报警机制,Nebula Graph 会停止接受查询。|

## metrics 配置

Expand Down
Loading

0 comments on commit ca0ef21

Please sign in to comment.