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

ctl: add a note for all ctl docs (#6096) #6098

Merged
merged 4 commits into from
Apr 22, 2021
Merged
Show file tree
Hide file tree
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
52 changes: 19 additions & 33 deletions pd-control.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ aliases: ['/docs-cn/v3.0/pd-control/','/docs-cn/v3.0/reference/tools/pd-control/

PD Control 是 PD 的命令行工具,用于获取集群状态信息和调整集群。

> **注意:**
>
> 建议使用的 Control 工具版本与集群版本保持一致。

## 源码编译

1. [Go](https://golang.org/) Version 1.13 以上
Expand Down Expand Up @@ -222,8 +226,7 @@ export PD_ADDR=http://127.0.0.1:2379 &&
"2.0.0"
```

`max-snapshot-count` 控制单个 store 最多同时接收或发送的 snapshot 数量,调度受制于这个配置来防止抢占正常业务的资源。
当需要加快补副本或 balance 速度时可以调大这个值。
`max-snapshot-count` 控制单个 store 最多同时接收或发送的 snapshot 数量,调度受制于这个配置来防止抢占正常业务的资源。当需要加快补副本或 balance 速度时可以调大这个值。

设置最大 snapshot 为 16:

Expand Down Expand Up @@ -293,9 +296,7 @@ export PD_ADDR=http://127.0.0.1:2379 &&
>> config set max-store-down-time 30m
```

通过调整 `leader-schedule-limit` 可以控制同时进行 leader 调度的任务个数。
这个值主要影响 *leader balance* 的速度,值越大调度得越快,设置为 0 则关闭调度。
Leader 调度的开销较小,需要的时候可以适当调大。
通过调整 `leader-schedule-limit` 可以控制同时进行 leader 调度的任务个数。这个值主要影响 *leader balance* 的速度,值越大调度得越快,设置为 0 则关闭调度。Leader 调度的开销较小,需要的时候可以适当调大。

最多同时进行 4 个 leader 调度:

Expand All @@ -305,9 +306,7 @@ Leader 调度的开销较小,需要的时候可以适当调大。
>> config set leader-schedule-limit 4
```

通过调整 `region-schedule-limit` 可以控制同时进行 Region 调度的任务个数。
这个值主要影响 *Region balance* 的速度,值越大调度得越快,设置为 0 则关闭调度。
Region 调度的开销较大,所以这个值不宜调得太大。
通过调整 `region-schedule-limit` 可以控制同时进行 Region 调度的任务个数。这个值主要影响 *Region balance* 的速度,值越大调度得越快,设置为 0 则关闭调度。Region 调度的开销较大,所以这个值不宜调得太大。

最多同时进行 2 个 Region 调度:

Expand All @@ -317,9 +316,7 @@ Region 调度的开销较大,所以这个值不宜调得太大。
>> config set region-schedule-limit 2
```

通过调整 `replica-schedule-limit` 可以控制同时进行 replica 调度的任务个数。
这个值主要影响节点挂掉或者下线的时候进行调度的速度,值越大调度得越快,设置为 0 则关闭调度。
Replica 调度的开销较大,所以这个值不宜调得太大。
通过调整 `replica-schedule-limit` 可以控制同时进行 replica 调度的任务个数。这个值主要影响节点挂掉或者下线的时候进行调度的速度,值越大调度得越快,设置为 0 则关闭调度。Replica 调度的开销较大,所以这个值不宜调得太大。

最多同时进行 4 个 replica 调度:

Expand All @@ -329,8 +326,7 @@ Replica 调度的开销较大,所以这个值不宜调得太大。
>> config set replica-schedule-limit 4
```

`merge-schedule-limit` 控制同时进行的 Region Merge 调度的任务,设置为 0 则关闭 Region Merge。
Merge 调度的开销较大,所以这个值不宜调得过大。
`merge-schedule-limit` 控制同时进行的 Region Merge 调度的任务,设置为 0 则关闭 Region Merge。Merge 调度的开销较大,所以这个值不宜调得过大。

最多同时进行 16 个 merge 调度:

Expand Down Expand Up @@ -358,8 +354,7 @@ Merge 调度的开销较大,所以这个值不宜调得过大。
>> config set namespace ts2 region-schedule-limit 2
```

`tolerant-size-ratio` 控制 balance 缓冲区大小。
当两个 store 的 leader 或 Region 的得分差距小于指定倍数的 Region size 时,PD 会认为此时 balance 达到均衡状态。
`tolerant-size-ratio` 控制 balance 缓冲区大小。当两个 store 的 leader 或 Region 的得分差距小于指定倍数的 Region size 时,PD 会认为此时 balance 达到均衡状态。

设置缓冲区为约 20 倍平均 RegionSize:

Expand All @@ -369,8 +364,7 @@ Merge 调度的开销较大,所以这个值不宜调得过大。
>> config set tolerant-size-ratio 20
```

`low-space-ratio` 用于设置 store 空间不足的阈值。
当节点的空间占用比例超过指定值时,PD 会尽可能避免往对应节点迁移数据,同时主要针对剩余空间大小进行调度,避免对应节点磁盘空间被耗尽。
`low-space-ratio` 用于设置 store 空间不足的阈值。当节点的空间占用比例超过指定值时,PD 会尽可能避免往对应节点迁移数据,同时主要针对剩余空间大小进行调度,避免对应节点磁盘空间被耗尽。

设置空间不足阈值为 0.9:

Expand All @@ -380,8 +374,7 @@ Merge 调度的开销较大,所以这个值不宜调得过大。
config set low-space-ratio 0.9
```

`high-space-ratio` 用于设置 store 空间充裕的阈值。
当节点的空间占用比例小于指定值时,PD 调度时会忽略剩余空间这个指标,主要针对实际数据量进行均衡。
`high-space-ratio` 用于设置 store 空间充裕的阈值。当节点的空间占用比例小于指定值时,PD 调度时会忽略剩余空间这个指标,主要针对实际数据量进行均衡。

设置空间充裕阈值为 0.5:

Expand All @@ -391,8 +384,7 @@ config set low-space-ratio 0.9
config set high-space-ratio 0.5
```

`disable-raft-learner` 用于关闭 raft learner 功能。
默认配置下 PD 在添加副本时会使用 raft learner 来降低宕机或网络故障带来的不可用风险。
`disable-raft-learner` 用于关闭 raft learner 功能。默认配置下 PD 在添加副本时会使用 raft learner 来降低宕机或网络故障带来的不可用风险。

关闭 raft learner 功能:

Expand All @@ -402,8 +394,7 @@ config set high-space-ratio 0.5
config set disable-raft-learner true
```

`cluster-version` 集群的版本,用于控制某些 Feature 是否开启,处理兼容性问题。
通常是集群正常运行的所有 TiKV 节点中的最低版本,需要回滚到更低的版本时才进行手动设置。
`cluster-version` 集群的版本,用于控制某些 Feature 是否开启,处理兼容性问题。通常是集群正常运行的所有 TiKV 节点中的最低版本,需要回滚到更低的版本时才进行手动设置。

设置 cluster version 为 1.0.8:

Expand All @@ -413,20 +404,15 @@ config set disable-raft-learner true
config set cluster-version 1.0.8
```

`disable-remove-down-replica` 用于关闭自动删除 DownReplica 的特性。
当设置为 true 时,PD 不会自动清理宕机状态的副本。
`disable-remove-down-replica` 用于关闭自动删除 DownReplica 的特性。当设置为 true 时,PD 不会自动清理宕机状态的副本。

`disable-replace-offline-replica` 用于关闭迁移 OfflineReplica 的特性。
当设置为 true 时,PD 不会迁移下线状态的副本。
`disable-replace-offline-replica` 用于关闭迁移 OfflineReplica 的特性。当设置为 true 时,PD 不会迁移下线状态的副本。

`disable-make-up-replica` 用于关闭补充副本的特性。
当设置为 true 时,PD 不会为副本数不足的 Region 补充副本。
`disable-make-up-replica` 用于关闭补充副本的特性。当设置为 true 时,PD 不会为副本数不足的 Region 补充副本。

`disable-remove-extra-replica` 用于关闭删除多余副本的特性。
当设置为 true 时,PD 不会为副本数过多的 Region 删除多余副本。
`disable-remove-extra-replica` 用于关闭删除多余副本的特性。当设置为 true 时,PD 不会为副本数过多的 Region 删除多余副本。

`disable-location-replacement` 用于关闭隔离级别检查。
当设置为 true 时,PD 不会通过调度来提升 Region 副本的隔离级别。
`disable-location-replacement` 用于关闭隔离级别检查。当设置为 true 时,PD 不会通过调度来提升 Region 副本的隔离级别。

`disable-namespace-relocation` 用于关闭 Region 的 namespace 调度。当设置为 true 时,PD 不会把 Region 调度到它所属的 Store 上。

Expand Down
6 changes: 5 additions & 1 deletion tidb-control.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@ TiDB Control 是 TiDB 的命令行工具,用于获取 TiDB 状态信息,多

本节提供了两种方式获取 TiDB Control 工具。

> **注意:**
>
> 建议使用的 Control 工具版本与集群版本保持一致。

### 通过 TiDB Ansible 安装

对于使用 [TiDB Ansible](/online-deployment-using-ansible.md) 部署的 TiDB 集群,在 TiDB 的安装路径下可以找到 TiDB Control 的二进制程序 `tidb-ctl`。
Expand Down Expand Up @@ -132,7 +136,7 @@ tid 子命令用来通过表的 id 获取数据库中表的表结构。
"collate": "utf8mb4_bin",
...
}
```
```

同 in 子命令一样,如果使用的 TiDB 地址不是默认的地址和端口,需要通过 `--host` 和 `--port` 参数指定 TiDB 的地址和 status 端口。

Expand Down
4 changes: 4 additions & 0 deletions tikv-control.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ TiKV Control(以下简称 tikv-ctl)是 TiKV 的命令行工具,用于管
* 如果是使用 TiDB Ansible 部署的集群,在 `ansible` 目录下的 `resources/bin` 子目录下。
* 如果是使用 TiUP 部署的集群,在 `~/.tiup/components/ctl/{VERSION}/` 目录下。

> **注意:**
>
> 建议使用的 Control 工具版本与集群版本保持一致。

[TiUP](https://github.com/pingcap/tiup) 是晚于 `tidb-ansible` 推出的部署工具,使用方式更加简化,`tikv-ctl` 也集成在了 `tiup` 命令中。执行以下命令,即可调用 `tikv-ctl` 工具:

{{< copyable "shell-regular" >}}
Expand Down