Skip to content

Commit

Permalink
pdctl: add store label and restore store command documents (#11318)
Browse files Browse the repository at this point in the history
  • Loading branch information
nolouch authored Sep 19, 2022
1 parent fb3cf15 commit fc50fd9
Showing 1 changed file with 44 additions and 27 deletions.
71 changes: 44 additions & 27 deletions pd-control.md
Original file line number Diff line number Diff line change
Expand Up @@ -1247,11 +1247,11 @@ scheduler config balance-hot-region-scheduler // 显示 balance-hot-region 调

### `store [delete | cancel-delete | label | weight | remove-tombstone | limit ] <store_id> [--jq="<query string>"]`

用于显示 store 信息或者删除指定 store。使用 jq 格式化输出请参考 [jq 格式化 json 输出示例](#jq-格式化-json-输出示例)。示例如下
使用 jq 格式化输出请参考 [jq 格式化 json 输出示例](#jq-格式化-json-输出示例)。

显示所有 store 信息:
#### 查询 store

{{< copyable "" >}}
显示所有 store 信息:

```bash
store
Expand All @@ -1264,9 +1264,7 @@ store
}
```

获取 store id 为 1 的 store:

{{< copyable "" >}}
获取 id 为 1 的 store:

```bash
store 1
Expand All @@ -1276,59 +1274,78 @@ store 1
......
```

下线 store id 为 1 的 store:
#### 下线 store

{{< copyable "" >}}
下线 id 为 1 的 store:

```bash
store delete 1
```

撤销已使用 store delete 下线并处于 Offline 状态的 store。撤销后,该 store 会从 Offline 状态变为 Up 状态。注意,该命令无法使 Tombstone 状态的 store 变回 Up 状态。以下示例撤销已使用 store delete 下线的 store,其 store id 为 1:
执行 `store cancel-delete` 命令,你可以撤销已使用 `store delete` 下线并处于 `Offline` 状态的 store。撤销后,该 store 会从 `Offline` 状态变为 `Up` 状态。注意, `store cancel-delete` 命令无法使 `Tombstone` 状态的 store 变回 `Up` 状态。

{{< copyable "" >}}
撤销通过 `store delete` 下线 id 为 1 的 store:

```bash
store cancel-delete 1
```

删除所有 Tombstone 状态的 store:

```bash
store remove-tombstone
```

> **注意:**
>
> 若下线过程中切换了 PD leader,需要手动修改 store limit。
> 若下线过程中切换了 PD leader,需要使用 `store limit` 命令修改 [store 调度限速](#设置-store-调度限速)

设置 store id 为 1 的 store 的键为 "zone"label 的值为 "cn"
#### 管理 store label

{{< copyable "" >}}
`store label` 命令用于管理 store label。

```bash
store label 1 zone cn
```
- 为 id 为 1 的 store 设置键为 `"zone"`、值为 `"cn"` 的 label:

```bash
store label 1 zone=cn
```

清除 store id 为 1 的 label:
- 更新 id 为 1 的 store 的 label:

{{< copyable "" >}}
```bash
store label 1 zone=us
```

```bash
store label 1 --force
```
- 通过 `--rewrite` 选项重写 id 为 1 的 store 的所有 label,之前的 label 会被覆盖:

```bash
store label 1 region=us-est-1 disk=ssd --rewrite
```

- 删除 id 为 1 的 store 的键为 `"disk"` 的 label :

```bash
store label 1 disk --delete
```

> **注意:**
>
> - store 的 label 更新方法使用的是合并策略。如果修改了 TiKV 配置文件中的 store label,进程重启之后,PD 会将自身存储的 store label 与其进行合并更新,并持久化合并后的结果。
> - 如果希望使用 TiUP 统一管理 store label 的话,可以在集群重启前,使用 PD Control 的 `store label <id> --force` 命令将 PD 存储的 store label 清空。
> - 如果希望使用 TiUP 统一管理 store label,你可以在集群重启前,使用 PD Control 的 `store label <id> --force` 命令将 PD 存储的 store label 清空。

设置 store id 为 1 的 store 的 leader weight 为 5,Region weight 为 10:
#### 设置 store weight

{{< copyable "" >}}
将 id 为 1 的 store 的 leader weight 设为 5,Region weight 设为 10:

```bash
store weight 1 5 10
```

{{< copyable "" >}}
#### 设置 store 调度限速

通过 `store-limit`,你可以设置 store 的调度速度。关于 `store limit` 的原理和使用方法,请参考 [`store limit`](/configure-store-limit.md)。

```bash
>> store remove-tombstone // 删除所有 tombstone 状态的 store
>> store limit // 显示所有 store 添加和删除 peer 的速度上限
>> store limit add-peer // 显示所有 store 添加 peer 的速度上限
>> store limit remove-peer // 显示所有 store 删除 peer 的速度上限
Expand All @@ -1343,7 +1360,7 @@ store weight 1 5 10
> **注意:**
>
> * `store limit` 命令原有的 `region-add``region-remove` 子命令已废弃,请使用 `add-peer``remove-peer` 来替代。
> * 使用 `pd-ctl` 可以查看 TiKV 节点的状态信息,即 Up,DisconnectOfflineDown,或 Tombstone。如需查看各个状态之间的关系,请参考 [TiKV Store 状态之间的关系](/tidb-scheduling.md#信息收集)。
> * 使用 `pd-ctl` 可以查看 TiKV 节点的状态信息,即 `Up``Disconnect``Offline``Down`,或 `Tombstone`。如需查看各个状态之间的关系,请参考 [TiKV Store 状态之间的关系](/tidb-scheduling.md#信息收集)。

### `log [fatal | error | warn | info | debug]`

Expand Down

0 comments on commit fc50fd9

Please sign in to comment.