Skip to content

Commit

Permalink
update-conent- for scaleout cluster and deploy cluster (#8363) (#8613)
Browse files Browse the repository at this point in the history
  • Loading branch information
ti-chi-bot authored Mar 10, 2022
1 parent e4277ad commit 3f1c4f0
Show file tree
Hide file tree
Showing 2 changed files with 127 additions and 76 deletions.
97 changes: 61 additions & 36 deletions production-deployment-using-tiup.md
Original file line number Diff line number Diff line change
Expand Up @@ -205,48 +205,74 @@ source /home/tidb/.bash_profile

## 第 3 步:初始化集群拓扑文件

1. 创建集群拓扑文件。
执行如下命令,生成集群初始化配置文件:

根据不同的集群拓扑,编辑 TiUP 所需的集群初始化配置文件。可以通过 TiUP 工具在中控机上面创建 YAML 格式集群配置文件,例如 `topology.yaml`:
{{< copyable "shell-regular" >}}

```shell
tiup cluster template > topology.yaml
```

针对两种常用的部署场景,也可以通过以下命令生成建议的拓扑模板:

- 混合部署场景:单台机器部署多个实例,详情参见[混合部署拓扑架构](/hybrid-deployment-topology.md) 。

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

```shell
tiup cluster template > topology.yaml
tiup cluster template --full > topology.yaml
```

- 跨机房部署场景:跨机房部署 TiDB 集群,详情参见[跨机房部署拓扑架构](/geo-distributed-deployment-topology.md)。

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

> **注意:**
>
> 混合部署场景也可以使用 `tiup cluster template --full > topology.yaml` 生成的建议拓扑模板,跨机房部署场景可以使用 `tiup cluster template --multi-dc > topology.yaml` 生成的建议拓扑模板。

2. 配置集群拓扑文件。

执行 `vi topology.yaml`,按实际场景配置以下参数:

- Global 参数
- user
- ssh_port
- deploy_dir
- data_dir
- Server 参数
- PD servers
- TiDB servers
- TiKV servers
- Monitoring servers
- Grafana servers
- ......

下表列出了常用的 7 种场景,请根据链接中的拓扑说明以及配置文件模板配置`topology.yaml`。如果有其他组合场景的需求,请根据多个模板自行调整。

| 场景 | 配置任务 | 配置文件模板 | 拓扑说明 |
| :-- | :-- | :-- | :-- |
| OLTP 业务 | [最小拓扑架构](/minimal-deployment-topology.md) | [简单最小配置模板](https://github.com/pingcap/docs-cn/blob/master/config-templates/simple-mini.yaml)<br/>[详细最小配置模板](https://github.com/pingcap/docs-cn/blob/master/config-templates/complex-mini.yaml) | 最基本的集群拓扑,包括 tidb-server、tikv-server、pd-server。 |
| HTAP 业务 | [增加 TiFlash 拓扑架构](/tiflash-deployment-topology.md) | [简单 TiFlash 配置模版](https://github.com/pingcap/docs-cn/blob/master/config-templates/simple-tiflash.yaml)<br/>[详细 TiFlash 配置模版](https://github.com/pingcap/docs-cn/blob/master/config-templates/complex-tiflash.yaml) | 在最小拓扑的基础上部署 TiFlash。TiFlash 是列式存储引擎,已经逐步成为集群拓扑的标配。|
| 使用 [TiCDC](/ticdc/ticdc-overview.md) 进行增量同步 | [增加 TiCDC 拓扑架构](/ticdc-deployment-topology.md) | [简单 TiCDC 配置模板](https://github.com/pingcap/docs-cn/blob/master/config-templates/simple-cdc.yaml)<br/>[详细 TiCDC 配置模板](https://github.com/pingcap/docs-cn/blob/master/config-templates/complex-cdc.yaml) | 在最小拓扑的基础上部署 TiCDC。TiCDC 支持多种下游 (TiDB/MySQL/MQ)。 |
| 使用 [TiDB Binlog](/tidb-binlog/tidb-binlog-overview.md) 进行增量同步 | [增加 TiDB Binlog 拓扑架构](/tidb-binlog-deployment-topology.md) | [简单 TiDB Binlog 配置模板(下游为 MySQL)](https://github.com/pingcap/docs-cn/blob/master/config-templates/simple-tidb-binlog.yaml)<br/>[简单 TiDB Binlog 配置模板(下游为 file)](https://github.com/pingcap/docs-cn/blob/master/config-templates/simple-file-binlog.yaml)<br/>[详细 TiDB Binlog 配置模板](https://github.com/pingcap/docs-cn/blob/master/config-templates/complex-tidb-binlog.yaml) | 在最小拓扑的基础上部署 TiDB Binlog。 |
| 使用 Spark 的 OLAP 业务 | [增加 TiSpark 拓扑架构](/tispark-deployment-topology.md) | [简单 TiSpark 配置模板](https://github.com/pingcap/docs-cn/blob/master/config-templates/simple-tispark.yaml)<br/>[详细 TiSpark 配置模板](https://github.com/pingcap/docs-cn/blob/master/config-templates/complex-tispark.yaml) | 在最小拓扑的基础上部署 TiSpark 组件。TiSpark 是 PingCAP 为解决用户复杂 OLAP 需求而推出的产品。TiUP cluster 组件对 TiSpark 的支持目前为实验特性。 |
| 单台机器,多个实例 | [混合部署拓扑架构](/hybrid-deployment-topology.md) | [简单混部配置模板](https://github.com/pingcap/docs-cn/blob/master/config-templates/simple-multi-instance.yaml)<br/>[详细混部配置模板](https://github.com/pingcap/docs-cn/blob/master/config-templates/complex-multi-instance.yaml) | 也适用于单机多实例需要额外增加目录、端口、资源配比、label 等配置的场景。 |
| 跨机房部署 TiDB 集群 | [跨机房部署拓扑架构](/geo-distributed-deployment-topology.md) | [跨机房配置模板](https://github.com/pingcap/docs-cn/blob/master/config-templates/geo-redundancy-deployment.yaml) | 以典型的两地三中心架构为例,介绍跨机房部署架构,以及需要注意的关键设置。 |
```shell
tiup cluster template --multi-dc > topology.yaml
```

执行 vi topology.yaml,查看配置文件的内容:

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

```shell
global:
user: "tidb"
ssh_port: 22
deploy_dir: "/tidb-deploy"
data_dir: "/tidb-data"
server_configs: {}
pd_servers:
- host: 10.0.1.4
- host: 10.0.1.5
- host: 10.0.1.6
tidb_servers:
- host: 10.0.1.7
- host: 10.0.1.8
- host: 10.0.1.9
tikv_servers:
- host: 10.0.1.1
- host: 10.0.1.2
- host: 10.0.1.3
monitoring_servers:
- host: 10.0.1.4
grafana_servers:
- host: 10.0.1.4
alertmanager_servers:
- host: 10.0.1.4
```

下表列出了常用的 7 种场景,请根据链接中的拓扑说明以及配置文件模板配置`topology.yaml`。如果有其他组合场景的需求,请根据多个模板自行调整。

| 场景 | 配置任务 | 配置文件模板 | 拓扑说明 |
| :-- | :-- | :-- | :-- |
| OLTP 业务 | [部署最小拓扑架构](/minimal-deployment-topology.md) | [简单最小配置模板](https://github.com/pingcap/docs-cn/blob/master/config-templates/simple-mini.yaml)<br/>[详细最小配置模板](https://github.com/pingcap/docs-cn/blob/master/config-templates/complex-mini.yaml) | 最小集群拓扑,包括 tidb-server、tikv-server、pd-server。 |
| HTAP 业务 | [部署 TiFlash 拓扑架构](/tiflash-deployment-topology.md) | [简单 TiFlash 配置模版](https://github.com/pingcap/docs-cn/blob/master/config-templates/simple-tiflash.yaml)<br/>[详细 TiFlash 配置模版](https://github.com/pingcap/docs-cn/blob/master/config-templates/complex-tiflash.yaml) | 在最小拓扑的基础上部署 TiFlash。TiFlash 是列式存储引擎,已经逐步成为集群拓扑的标配。|
| 使用 [TiCDC](/ticdc/ticdc-overview.md) 进行增量同步 | [部署 TiCDC 拓扑架构](/ticdc-deployment-topology.md) | [简单 TiCDC 配置模板](https://github.com/pingcap/docs-cn/blob/master/config-templates/simple-cdc.yaml)<br/>[详细 TiCDC 配置模板](https://github.com/pingcap/docs-cn/blob/master/config-templates/complex-cdc.yaml) | 在最小拓扑的基础上部署 TiCDC。TiCDC 支持多种下游 (TiDB/MySQL/MQ)。 |
| 使用 [TiDB Binlog](/tidb-binlog/tidb-binlog-overview.md) 进行增量同步 | [部署 TiDB Binlog 拓扑架构](/tidb-binlog-deployment-topology.md) | [简单 TiDB Binlog 配置模板(下游为 MySQL)](https://github.com/pingcap/docs-cn/blob/master/config-templates/simple-tidb-binlog.yaml)<br/>[简单 TiDB Binlog 配置模板(下游为 file)](https://github.com/pingcap/docs-cn/blob/master/config-templates/simple-file-binlog.yaml)<br/>[详细 TiDB Binlog 配置模板](https://github.com/pingcap/docs-cn/blob/master/config-templates/complex-tidb-binlog.yaml) | 在最小拓扑的基础上部署 TiDB Binlog。 |
| 使用 Spark 的 OLAP 业务 | [部署 TiSpark 拓扑架构](/tispark-deployment-topology.md) | [简单 TiSpark 配置模板](https://github.com/pingcap/docs-cn/blob/master/config-templates/simple-tispark.yaml)<br/>[详细 TiSpark 配置模板](https://github.com/pingcap/docs-cn/blob/master/config-templates/complex-tispark.yaml) | 在最小拓扑的基础上部署 TiSpark 组件。TiSpark 是 PingCAP 为解决用户复杂 OLAP 需求而推出的产品。TiUP cluster 组件对 TiSpark 的支持目前为实验特性。 |
| 单台机器,多个实例 | [混合部署拓扑架构](/hybrid-deployment-topology.md) | [简单混部配置模板](https://github.com/pingcap/docs-cn/blob/master/config-templates/simple-multi-instance.yaml)<br/>[详细混部配置模板](https://github.com/pingcap/docs-cn/blob/master/config-templates/complex-multi-instance.yaml) | 也适用于单机多实例需要额外增加目录、端口、资源配比、label 等配置的场景。 |
| 跨机房部署 TiDB 集群 | [跨机房部署拓扑架构](/geo-distributed-deployment-topology.md) | [跨机房配置模板](https://github.com/pingcap/docs-cn/blob/master/config-templates/geo-redundancy-deployment.yaml) | 以典型的两地三中心架构为例,介绍跨机房部署架构,以及需要注意的关键设置。 |

> **注意:**
>
Expand All @@ -257,7 +283,6 @@ source /home/tidb/.bash_profile
> - 配置的层次结构使用 `.` 表示。如:`log.slow-threshold`。更多格式参考 [TiUP 配置参数模版](https://github.com/pingcap/tiup/blob/master/embed/examples/cluster/topology.example.yaml)。
>
> - 如果需要指定在目标机创建的用户组名,可以参考[这个例子](https://github.com/pingcap/tiup/blob/master/embed/examples/cluster/topology.example.yaml#L7)。
>

更多参数说明,请参考 [TiDB `config.toml.example`](https://github.com/pingcap/tidb/blob/master/config/config.toml.example)、[TiKV `config.toml.example`](https://github.com/tikv/tikv/blob/master/etc/config-template.toml)、[PD `config.toml.example`](https://github.com/pingcap/pd/blob/master/conf/config.toml) 和 [TiFlash 配置参数](/tiflash/tiflash-configuration.md)。

Expand Down
106 changes: 66 additions & 40 deletions scale-tidb-using-tiup.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,17 +91,43 @@ pd_servers:

### 2. 执行扩容命令

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

```shell
tiup cluster scale-out <cluster-name> scale-out.yaml
```
执行 scale-out 命令前,先使用 `check``check --apply` 命令,检查和自动修复集群存在的潜在风险:

> **注意:**
>
> 此处假设当前执行命令的用户和新增的机器打通了互信,如果不满足已打通互信的条件,需要通过 `-p` 来输入新机器的密码,或通过 `-i` 指定私钥文件。
> 针对 scale-out 命令的检查功能在 tiup cluster v1.9.0 及后续版本中支持,请操作前先升级 tiup cluster 版本。
(1)检查集群存在的潜在风险:

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

```shell
tiup cluster check <cluster-name> scale-out.yaml --cluster --user root [-p] [-i /home/root/.ssh/gcp_rsa]
```

(2)自动修复集群存在的潜在风险:

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

```shell
tiup cluster check <cluster-name> scale-out.yaml --cluster --apply --user root [-p] [-i /home/root/.ssh/gcp_rsa]
```

(3)执行 scale-out 命令扩容 TiDB 集群:

预期输出 Scaled cluster `<cluster-name>` out successfully 信息,表示扩容操作成功。
{{< copyable "shell-regular" >}}

```shell
tiup cluster scale-out <cluster-name> scale-out.yaml [-p] [-i /home/root/.ssh/gcp_rsa]
```

以上操作示例中:

- 扩容配置文件为 `scale-out.yaml`
- `--user root` 表示通过 root 用户登录到目标主机完成集群部署,该用户需要有 ssh 到目标机器的权限,并且在目标机器有 sudo 权限。也可以用其他有 ssh 和 sudo 权限的用户完成部署。
- [-i][-p] 为可选项,如果已经配置免密登录目标机,则不需填写。否则选择其一即可,[-i] 为可登录到目标机的 root 用户(或 --user 指定的其他用户)的私钥,也可使用 [-p] 交互式输入该用户的密码。

预期日志结尾输出 ```Scaled cluster `<cluster-name>` out successfully``` 信息,表示扩容操作成功。

### 3. 检查集群状态

Expand All @@ -117,11 +143,11 @@ tiup cluster display <cluster-name>

| 主机 IP | 服务 |
|:----|:----|
| 10.0.1.3 | TiDB + TiFlash  |
| 10.0.1.3 | TiDB + TiFlash |
| 10.0.1.4 | TiDB + PD |
| 10.0.1.5 | **TiDB** + TiKV + Monitor |
| 10.0.1.1 | TiKV  |
| 10.0.1.2 | TiKV  |
| 10.0.1.1 | TiKV |
| 10.0.1.2 | TiKV |

## 扩容 TiFlash 节点

Expand Down Expand Up @@ -171,11 +197,11 @@ tiup cluster display <cluster-name>

| 主机 IP | 服务 |
|:----|:----|
| 10.0.1.3 | TiDB + TiFlash  |
| 10.0.1.3 | TiDB + TiFlash |
| 10.0.1.4 | TiDB + PD + **TiFlash** |
| 10.0.1.5 | TiDB+ TiKV + Monitor |
| 10.0.1.1 | TiKV  |
| 10.0.1.2 | TiKV  |
| 10.0.1.1 | TiKV |
| 10.0.1.2 | TiKV |

## 扩容 TiCDC 节点

Expand Down Expand Up @@ -226,8 +252,8 @@ tiup cluster display <cluster-name>
| 10.0.1.3 | TiDB + TiFlash + **TiCDC** |
| 10.0.1.4 | TiDB + PD + TiFlash + **TiCDC** |
| 10.0.1.5 | TiDB+ TiKV + Monitor |
| 10.0.1.1 | TiKV  |
| 10.0.1.2 | TiKV  |
| 10.0.1.1 | TiKV |
| 10.0.1.2 | TiKV |

## 缩容 TiDB/PD/TiKV 节点

Expand All @@ -251,43 +277,43 @@ tiup cluster display <cluster-name>
```

```
Starting /root/.tiup/components/cluster/v1.9.0/cluster display <cluster-name> 
Starting /root/.tiup/components/cluster/v1.9.0/cluster display <cluster-name>
TiDB Cluster: <cluster-name>
TiDB Version: v5.4.0
ID              Role Host        Ports Status Data Dir                Deploy Dir
ID Role Host Ports Status Data Dir Deploy Dir
--              ---- ----    ----- ------ --------                ----------
-- ---- ---- ----- ------ -------- ----------
10.0.1.3:8300   cdc 10.0.1.3 8300   Up data/cdc-8300           deploy/cdc-8300
10.0.1.3:8300 cdc 10.0.1.3 8300 Up data/cdc-8300 deploy/cdc-8300
10.0.1.4:8300   cdc 10.0.1.4 8300   Up data/cdc-8300           deploy/cdc-8300
10.0.1.4:8300 cdc 10.0.1.4 8300 Up data/cdc-8300 deploy/cdc-8300
10.0.1.4:2379   pd 10.0.1.4 2379/2380 Healthy data/pd-2379            deploy/pd-2379
10.0.1.4:2379 pd 10.0.1.4 2379/2380 Healthy data/pd-2379 deploy/pd-2379
10.0.1.1:20160  tikv 10.0.1.1 20160/20180 Up data/tikv-20160         deploy/tikv-20160
10.0.1.1:20160 tikv 10.0.1.1 20160/20180 Up data/tikv-20160 deploy/tikv-20160
10.0.1.2:20160  tikv 10.0.1.2 20160/20180 Up data/tikv-20160         deploy/tikv-20160
10.0.1.2:20160 tikv 10.0.1.2 20160/20180 Up data/tikv-20160 deploy/tikv-20160
10.0.1.5:20160  tikv  10.0.1.5 20160/20180  Up data/tikv-20160         deploy/tikv-20160
10.0.1.5:20160 tikv 10.0.1.5 20160/20180 Up data/tikv-20160 deploy/tikv-20160
10.0.1.3:4000   tidb  10.0.1.3 4000/10080   Up -             deploy/tidb-4000
10.0.1.3:4000 tidb 10.0.1.3 4000/10080 Up - deploy/tidb-4000
10.0.1.4:4000   tidb  10.0.1.4 4000/10080   Up -             deploy/tidb-4000
10.0.1.4:4000 tidb 10.0.1.4 4000/10080 Up - deploy/tidb-4000
10.0.1.5:4000   tidb 10.0.1.5 4000/10080 Up -                       deploy/tidb-4000
10.0.1.5:4000 tidb 10.0.1.5 4000/10080 Up - deploy/tidb-4000
10.0.1.3:9000 tiflash 10.0.1.3 9000/8123/3930/20170/20292/8234 Up data/tiflash-9000 deploy/tiflash-9000
10.0.1.4:9000 tiflash 10.0.1.4 9000/8123/3930/20170/20292/8234 Up data/tiflash-9000 deploy/tiflash-9000
10.0.1.5:9090   prometheus 10.0.1.5 9090 Up data/prometheus-9090    deploy/prometheus-9090
10.0.1.5:9090 prometheus 10.0.1.5 9090 Up data/prometheus-9090 deploy/prometheus-9090
10.0.1.5:3000   grafana 10.0.1.5 3000 Up -                       deploy/grafana-3000
10.0.1.5:3000 grafana 10.0.1.5 3000 Up - deploy/grafana-3000
10.0.1.5:9093   alertmanager 10.0.1.5 9093/9094 Up data/alertmanager-9093  deploy/alertmanager-9093
10.0.1.5:9093 alertmanager 10.0.1.5 9093/9094 Up data/alertmanager-9093 deploy/alertmanager-9093
```

### 2. 执行缩容操作
Expand Down Expand Up @@ -320,11 +346,11 @@ tiup cluster display <cluster-name>

| Host IP | Service |
|:----|:----|
| 10.0.1.3 | TiDB + TiFlash + TiCDC |
| 10.0.1.4 | TiDB + PD + TiFlash + TiCDC |
| 10.0.1.3 | TiDB + TiFlash + TiCDC |
| 10.0.1.4 | TiDB + PD + TiFlash + TiCDC |
| 10.0.1.5 | TiDB + Monitor**(TiKV 已删除)** |
| 10.0.1.1 | TiKV  |
| 10.0.1.2 | TiKV  |
| 10.0.1.1 | TiKV |
| 10.0.1.2 | TiKV |

## 缩容 TiFlash 节点

Expand Down Expand Up @@ -473,11 +499,11 @@ tiup cluster display <cluster-name>

| Host IP | Service |
|:----|:----|
| 10.0.1.3 | TiDB + TiFlash + TiCDC |
| 10.0.1.3 | TiDB + TiFlash + TiCDC |
| 10.0.1.4 | TiDB + PD + TiCDC **(TiFlash 已删除)** |
| 10.0.1.5 | TiDB + Monitor |
| 10.0.1.1 | TiKV  |
| 10.0.1.2 | TiKV  |
| 10.0.1.1 | TiKV |
| 10.0.1.2 | TiKV |

## 缩容 TiCDC 节点

Expand Down Expand Up @@ -505,8 +531,8 @@ tiup cluster display <cluster-name>

| Host IP | Service |
|:----|:----|
| 10.0.1.3 | TiDB + TiFlash + TiCDC |
| 10.0.1.3 | TiDB + TiFlash + TiCDC |
| 10.0.1.4 | TiDB + PD + **(TiCDC 已删除)** |
| 10.0.1.5 | TiDB + Monitor |
| 10.0.1.1 | TiKV  |
| 10.0.1.2 | TiKV  |
| 10.0.1.1 | TiKV |
| 10.0.1.2 | TiKV |

0 comments on commit 3f1c4f0

Please sign in to comment.