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

pdctl: add store label and restore store command documents #11318

Merged
merged 20 commits into from
Sep 19, 2022
Merged
Changes from all 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
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