Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update balance #1380

Merged
merged 6 commits into from
Jan 13, 2022
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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