# 演習 11: TiCDC を使用した TiDB 変更イベントのレプリケーション

## 概要

この演習では、TiUPを使用して既存のTiDB クラスタにTiCDCを追加し、TiDBからMySQLへのレプリケーションタスクを作成してから、TiCDCノードを削除します。次に、TiDB クラスタのデプロイトポロジー図を示します。

   ![60%](https://lab-static.pingcap.com/quick-demo/TiDBClusterDeploymentTopologyExercisewithTiCDC_aa_003_20230301.png)

+ TiCDC は、上流の TiDB インスタンスの差分データを下流のデータベース（MySQL インスタンス）にレプリケーションするために使用されます。以下に `TiCDC` のトポロジ図を示します。

   ![60%](https://lab-static.pingcap.com/quick-demo/TiCDCLabToplogy_aa_003_20220626.png)


> [!TIP]
> 演習環境を起動するには、**開始**をクリックしてください。
> 環境の準備が整ったら、下部のツールバーで **次のモジュール** を選択して **モジュール 1** に進みます。
> そして、ステップバイステップの演習ガイドに従って、ハンズオン環境に接続し、タスクを開始してください。

## モジュール 1: TiCDC のデプロイ

### 手順 1. 仮想マシンにログイン

+ ここをクリック - [ターミナル 1](ssh://monitor1-ssh#1) で、ハンズオン演習用に割り当てられた仮想マシンに接続された新しいターミナルを開きます。

+ ログイン後に表示されるバナー：

    ```output
     ,     #_
    ~\_  ####_        Amazon Linux 2
    ~~  \_#####\
    ~~     \###|      
    ~~       \#/ ___
    ~~       V~' '->
    ~~~         /    A newer version of Amazon Linux is available!
     ~~._.   _/
        _/ _/       Amazon Linux 2023, GA and supported until 2028-03-15.
      _/m/'           https://aws.amazon.com/linux/amazon-linux-2023/
    ```


### 手順 2. TiDB クラスタのステータスを確認

  ```bash
  tiup cluster display tidb-test
  ```
  ```output
  tiup is checking updates for component cluster ...
  Starting component `cluster`: /root/.tiup/components/cluster/v1.10.2/tiup-cluster display tidb-test
  Cluster type:       tidb
  Cluster name:       tidb-test
  Cluster version:    v7.5.1
  Deploy user:        tidb
  SSH type:           builtin
  Dashboard URL:      http://10.90.1.34:2379/dashboard
  Grafana URL:        http://10.90.4.231:3000
  ID                 Role          Host         Ports                            OS/Arch       Status   Data Dir                      Deploy Dir
  --                 ----          ----         -----                            -------       ------   --------                      ----------
  10.90.4.231:9093   alertmanager  10.90.4.231  9093/9094                        linux/x86_64  Up       /tidb-data/alertmanager-9093  /tidb-deploy/alertmanager-9093
  10.90.4.231:3000   grafana       10.90.4.231  3000                             linux/x86_64  Up       -                             /tidb-deploy/grafana-3000
  10.90.1.34:2379    pd            10.90.1.34   2379/2380                        linux/x86_64  Up|L|UI  /tidb-data/pd-2379            /tidb-deploy/pd-2379
  10.90.2.38:2379    pd            10.90.2.38   2379/2380                        linux/x86_64  Up       /tidb-data/pd-2379            /tidb-deploy/pd-2379
  10.90.3.188:2379   pd            10.90.3.188  2379/2380                        linux/x86_64  Up       /tidb-data/pd-2379            /tidb-deploy/pd-2379
  10.90.4.231:9090   prometheus    10.90.4.231  9090/12020                       linux/x86_64  Up       /tidb-data/prometheus-9090    /tidb-deploy/prometheus-9090
  10.90.1.69:4000    tidb          10.90.1.69   4000/10080                       linux/x86_64  Up       -                             /tidb-deploy/tidb-4000
  10.90.2.35:4000    tidb          10.90.2.35   4000/10080                       linux/x86_64  Up       -                             /tidb-deploy/tidb-4000
  10.90.4.53:9000    tiflash       10.90.4.53   9000/8123/3930/20170/20292/8234  linux/x86_64  Up       /tidb-data/tiflash-9000       /tidb-deploy/tiflash-9000
  10.90.1.162:20160  tikv          10.90.1.162  20160/20180                      linux/x86_64  Up       /tidb-data/tikv-20160         /tidb-deploy/tikv-20160
  10.90.2.108:20160  tikv          10.90.2.108  20160/20180                      linux/x86_64  Up       /tidb-data/tikv-20160         /tidb-deploy/tikv-20160
  10.90.3.12:20160   tikv          10.90.3.12   20160/20180                      linux/x86_64  Up       /tidb-data/tikv-20160         /tidb-deploy/tikv-20160
  Total nodes: 12
  ```

### 手順 3. ファイル `solution-three-nodes-scale-out-ticdc.yaml` を読み取る

  ```bash
  cat solution-three-nodes-scale-out-ticdc.yaml 
  ``` 
  ```output
     cdc_servers:
        - host: 10.90.2.84
           gc-ttl: 86400
           data_dir: "/cdc-data"
        - host: 10.90.2.134
           gc-ttl: 86400
           data_dir: "/cdc-data"
        - host: 10.90.2.214
           gc-ttl: 86400
           data_dir: "/cdc-data"
  ``` 

### 手順 4. TiCDC ノードをデプロイ

  ```bash
  tiup cluster scale-out tidb-test --user ec2-user -i ~/.ssh/pe-class-key-oregon.pem solution-three-nodes-scale-out-ticdc.yaml 
  ```
  ```output
  ...
  Do you want to continue? [y/N]: (default=N) y
  ...
  Scaled cluster `tidb-test` out successfully
  ```

### 手順 5. TiDB クラスタのステータスを確認

  ```bash
  tiup cluster display tidb-test
  ```
  ```output
  tiup is checking updates for component cluster ...
  Starting component `cluster`: /home/ec2-user/.tiup/components/cluster/v1.12.1/tiup-cluster display tidb-test
  Cluster type:       tidb
  Cluster name:       tidb-test
  Cluster version:    v7.5.1
  Deploy user:        tidb
  SSH type:           builtin
  Dashboard URL:      http://10.90.1.34:2379/dashboard
  Grafana URL:        http://10.90.4.231:3000
  ID                 Role          Host         Ports                            OS/Arch       Status   Data Dir                      Deploy Dir
  --                 ----          ----         -----                            -------       ------   --------                      ----------
  10.90.4.231:9093   alertmanager  10.90.4.231  9093/9094                        linux/x86_64  Up       /tidb-data/alertmanager-9093  /tidb-deploy/alertmanager-9093
  10.90.1.34:8300    cdc           10.90.1.34   8300                             linux/x86_64  Up       /cdc-data                     /tidb-deploy/cdc-8300
  10.90.2.38:8300    cdc           10.90.2.38   8300                             linux/x86_64  Up       /cdc-data                     /tidb-deploy/cdc-8300
  10.90.3.188:8300   cdc           10.90.3.188  8300                             linux/x86_64  Up       /cdc-data                     /tidb-deploy/cdc-8300
  10.90.4.231:3000   grafana       10.90.4.231  3000                             linux/x86_64  Up       -                             /tidb-deploy/grafana-3000
  10.90.1.34:2379    pd            10.90.1.34   2379/2380                        linux/x86_64  Up|L|UI  /tidb-data/pd-2379            /tidb-deploy/pd-2379
  10.90.2.38:2379    pd            10.90.2.38   2379/2380                        linux/x86_64  Up       /tidb-data/pd-2379            /tidb-deploy/pd-2379
  10.90.3.188:2379   pd            10.90.3.188  2379/2380                        linux/x86_64  Up       /tidb-data/pd-2379            /tidb-deploy/pd-2379
  10.90.4.231:9090   prometheus    10.90.4.231  9090/12020                       linux/x86_64  Up       /tidb-data/prometheus-9090    /tidb-deploy/prometheus-9090
  10.90.1.69:4000    tidb          10.90.1.69   4000/10080                       linux/x86_64  Up       -                             /tidb-deploy/tidb-4000
  10.90.2.35:4000    tidb          10.90.2.35   4000/10080                       linux/x86_64  Up       -                             /tidb-deploy/tidb-4000
  10.90.4.53:9000    tiflash       10.90.4.53   9000/8123/3930/20170/20292/8234  linux/x86_64  Up       /tidb-data/tiflash-9000       /tidb-deploy/tiflash-9000
  10.90.1.162:20160  tikv          10.90.1.162  20160/20180                      linux/x86_64  Up       /tidb-data/tikv-20160         /tidb-deploy/tikv-20160
  10.90.2.108:20160  tikv          10.90.2.108  20160/20180                      linux/x86_64  Up       /tidb-data/tikv-20160         /tidb-deploy/tikv-20160
  10.90.3.12:20160   tikv          10.90.3.12   20160/20180                      linux/x86_64  Up       /tidb-data/tikv-20160         /tidb-deploy/tikv-20160
  Total nodes: 15
  ```

### 手順 6. TiCDC クラスタのステータスを確認

  ```bash
  tiup ctl:v7.5.1 cdc capture list --pd=http://${HOST_PD1_PRIVATE_IP}:2379
  ```
  ```output
  ...                                                             
  Starting component `ctl`: /home/ec2-user/.tiup/components/ctl/v7.5.1/ctl cdc capture list --pd=http://10.80.0.224:2379
  [
     {
        "id": "1c15e075-1435-464c-af66-92ba0286a7fe",
        "is-owner": false,
        "address": "10.90.1.34:8300",
        "cluster-id": "default"
     },
     {
        "id": "4399c858-e811-4d9e-9b08-fb5690c097ec",
        "is-owner": true,
        "address": "10.90.2.38:8300",
        "cluster-id": "default"
     },
     {
        "id": "5982fa7d-c755-409a-88d5-03527c8a0fcd",
        "is-owner": false,
        "address": "10.90.3.188:8300",
        "cluster-id": "default"
     }
  ]
  ```

## モジュール 2: レプリケーションタスクの作成

### 手順 1. `SSH` で PD1 に接続

  ```bash
  ./ssh-to-pd1.sh 
  ```
  ```output
  ...
  Last login: Sun Oct 15 21:44:34 2023
  ...
  ```

### 手順 2. PD1 上で MySQL サーバーを起動

  ```bash
  sudo service mysqld start
  ```

### 手順 3. MySQL にログイン

+ ポート3306でMySQLサーバーに`root@'localhost'`として、パスワード`q1w2e3R4_`でログインします。
  
  ```bash
  mysql -u root -p -h 127.0.0.1 -P 3306 -pq1w2e3R4_
  ```

### 手順 4. データ変更捕捉タスクのためのユーザーを作成

  ```sql
  CREATE USER cdc_user@'%' IDENTIFIED BY 'q1w2e3R4_';
  ```
  ```output
  mysql> CREATE USER cdc_user@'%' IDENTIFIED BY 'q1w2e3R4_';
  Query OK, 0 rows affected (0.00 sec)
  ```

  ```sql
  GRANT ALL PRIVILEGES on *.* to cdc_user@'%';
  ```
  ```output
  mysql> GRANT ALL PRIVILEGES on *.* to cdc_user@'%';
  Query OK, 0 rows affected (0.00 sec)
  ```

  ```sql
  EXIT;
  ```
  ```output
  mysql> EXIT;
  ```

### 手順 5. 上流の MySQL データベースにタイムゾーンをロード

  ```bash
  mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql -pq1w2e3R4_
  ```
  ```output
  mysql: [Warning] Using a password on the command line interface can be insecure.
  Warning: Unable to load '/usr/share/zoneinfo/iso3166.tab' as time zone. Skipping it.
  Warning: Unable to load '/usr/share/zoneinfo/leapseconds' as time zone. Skipping it.
  Warning: Unable to load '/usr/share/zoneinfo/tzdata.zi' as time zone. Skipping it.
  Warning: Unable to load '/usr/share/zoneinfo/zone.tab' as time zone. Skipping it.
  Warning: Unable to load '/usr/share/zoneinfo/zone1970.tab' as time zone. Skipping it.
  ```

### 手順 6. 下流の MySQL のスキーマを作成

+ ポート3306で下流のデータベースに接続し、新しいデータベース`test`と、テーブル`T1`を作成します。`T1`テーブルにはプライマリキー`id`カラムと`VARCHAR(20)`カラム`name`が必要です。mysqlクライアントを終了してください。
  
  ```bash
  mysql -u root -h 127.0.0.1 -P 3306 -pq1w2e3R4_
  ```
  ```sql
  DROP DATABASE IF EXISTS test;
  CREATE DATABASE test;
  CREATE TABLE test.T1(id INT PRIMARY KEY, name VARCHAR(20));
  SELECT * FROM test.T1;
  ```

  ```sql
  EXIT;
  ```

### 手順 7. 2番目のターミナル（ターミナル2)を開き、TiDB 上にスキーマを作成

+ ここをクリック - [ターミナル 2](ssh://monitor1-ssh#2) で、ハンズオン演習用に割り当てられた仮想マシンに接続された新しいターミナルを開きます。

+ ログイン後に表示されるバナー：

    ```output
     ,     #_
    ~\_  ####_        Amazon Linux 2
    ~~  \_#####\
    ~~     \###|      
    ~~       \#/ ___
    ~~       V~' '->
    ~~~         /    A newer version of Amazon Linux is available!
     ~~._.   _/
        _/ _/       Amazon Linux 2023, GA and supported until 2028-03-15.
      _/m/'           https://aws.amazon.com/linux/amazon-linux-2023/
    ```


   ```bash
   mysql -h${HOST_DB1_PRIVATE_IP} -P4000 -uroot
   ```
   ```sql
   DROP DATABASE IF EXISTS test;
   CREATE DATABASE test;
   CREATE TABLE test.T1(id INT PRIMARY KEY, name VARCHAR(20));
   SELECT * FROM test.T1;
   EXIT;
   ```

### 手順 8. ターミナル2で、レプリケーションタスクを作成

+ [ターミナル 2](ssh://monitor1-ssh#2)の`monitor1`上で、`cdc:v7.5.1 cli`コマンドを実行してレプリケーションタスクを作成します。`cdc:v7.5.1`のバージョンに注意してください。バージョンタグを省略すると、最新のバージョンは我々のTiDBクラスタと互換性がないかもしれません。プライマリキーやnot-nullユニークキーがないためにレプリケートに不適格なテーブルがあるという警告メッセージが表示されるかもしれません。それらは前の演習から残されたテーブルです。簡単に選択し`Y`を選択してそのテーブルを無視してください。

+ コマンドの詳細な説明です。
  + `--pd=http://${HOST_PD1_PRIVATE_IP}:2379`: PDノードの1つのIPアドレス。
  + `--sink-uri="mysql://cdc_user:q1w2e3R4_@${HOST_PD1_PRIVATE_IP}:3306/"`: レプリケーションタスクの下流のアドレス: ${HOST_PD1_PRIVATE_IP}, ポート: 3306
  + `--changefeed-id="replication-task-1" --sort-engine="unified"`: レプリケーションタスクのID。
  
  ```bash
  tiup cdc:v7.5.1 cli changefeed create --pd=http://${HOST_PD1_PRIVATE_IP}:2379 \
     --sink-uri="mysql://cdc_user:q1w2e3R4_@${HOST_PD1_PRIVATE_IP}:3306/" \
     --changefeed-id="replication-task-1" --sort-engine="unified"
  ```
  ```output
  tiup cdc:v7.5.1 cli changefeed create --pd=http://${HOST_PD1_PRIVATE_IP}:2379 \

  > --sink-uri="mysql://cdc_user:q1w2e3R4_@${HOST_PD1_PRIVATE_IP}:3306/" \
  > --changefeed-id="replication-task-1" --sort-engine="unified"
  Starting component `cdc`: /home/ec2-user/.tiup/components/cdc/v7.5.1/cdc cli changefeed create --pd=http://10.80.0.224:2379 --sink-uri=mysql://cdc_user:q1w2e3R4_@10.80.0.224:3306/ --changefeed-id=replication-task-1 --sort-engine=unified
  Create changefeed successfully!
  ID: replication-task-1
  Info: {"upstream-id":0,"sink-uri":"mysql://cdc_user:q1w2e3R4_@10.80.0.224:3306/","opts":{},"create-time":"2023-02-13T12:54:53.673149259Z","start-ts":439430124303286275,"target-ts":0,"admin-job-type":0,"sort-engine":"unified","sort-dir":"","config":{"case-sensitive":true,"enable-old-value":true,"force-replicate":false,"check-gc-safe-point":true,"filter":{"rules":["*.*"],"ignore-txn-start-ts":null},"mounter":{"worker-num":16},"sink":{"dispatchers":null,"protocol":"","column-selectors":null,"schema-registry":""},"cyclic-replication":{"enable":false,"replica-id":0,"filter-replica-ids":null,"id-buckets":0,"sync-ddl":false},"consistent":{"level":"none","max-log-size":64,"flush-interval":1000,"storage":""}},"state":"normal","error":null,"sync-point-enabled":false,"sync-point-interval":600000000000,"creator-version":"v6.1.0"}
  ```

### 手順 9. ターミナル2でレプリケーションタスクリストをクエリー

  ```bash
  tiup cdc:v7.5.1 cli changefeed list --pd=http://${HOST_PD1_PRIVATE_IP}:2379
  ```
  ```output
  Starting component `cdc`: /home/ec2-user/.tiup/components/cdc/v7.5.1/cdc cli changefeed list --pd=http://10.80.0.224:2379
  [
  {
     "id": "replication-task-1",
     "summary": {
     "state": "normal",
     "tso": 439430205069852673,
     "checkpoint": "2023-02-13 13:00:01.713",
     "error": null
     }
  }
  ]
  ```

### 手順 10. ターミナル2で特定のレプリケーションタスクをクエリー

  ```bash
  tiup cdc:v7.5.1 cli changefeed query --pd=http://${HOST_PD3_PRIVATE_IP}:2379 --changefeed-id=replication-task-1 
  ```
  ```output
  Starting component `cdc`: /home/ec2-user/.tiup/components/cdc/v7.5.1/cdc cli changefeed query --pd=http://10.80.0.12:2379 --changefeed-id=replication-task-1
  {
     "upstream_id": 7231813390813770262,
     "namespace": "default",
     "id": "replication-task-1",
     "sink_uri": "mysql://cdc_user:xxxxx@10.90.3.188:3306/",
     "config": {
     "memory_quota": 1073741824,
     "case_sensitive": true,
     "enable_old_value": true,
     "force_replicate": false,
     "ignore_ineligible_table": false,
     "check_gc_safe_point": true,
     "enable_sync_point": false,
     "bdr_mode": false,
     "sync_point_interval": 600000000000,
     "sync_point_retention": 86400000000000,
     "filter": {
        "rules": [
           "*.*"
        ],
        "event_filters": null
     },
     "mounter": {
        "worker_num": 16
     },
     "sink": {
        "protocol": "",
        "schema_registry": "",
        "csv": {
           "delimiter": ",",
           "quote": "\"",
           "null": "\\N",
           "include_commit_ts": false
        },
        "column_selectors": null,
        "transaction_atomicity": "",
        "encoder_concurrency": 16,
        "terminator": "\r\n",
        "date_separator": "none",
        "enable_partition_separator": false
     },
     "consistent": {
        "level": "none",
        "max_log_size": 64,
        "flush_interval": 2000,
        "storage": ""
     }
     },
     "create_time": "2023-05-11 07:09:04.259",
     "start_ts": 441395168967655437,
     "resolved_ts": 441395195247853571,
     "target_ts": 0,
     "checkpoint_tso": 441395195247853571,
     "checkpoint_time": "2023-05-11 07:10:44.372",
     "sort_engine": "unified",
     "state": "normal",
     "error": null,
     "error_history": null,
     "creator_version": "",
     "task_status": [
     {
        "capture_id": "4399c858-e811-4d9e-9b08-fb5690c097ec",
        "table_ids": [],
        "table_operations": null
     },
     {
        "capture_id": "5982fa7d-c755-409a-88d5-03527c8a0fcd",
        "table_ids": [],
        "table_operations": null
     },
     {
        "capture_id": "1c15e075-1435-464c-af66-92ba0286a7fe",
        "table_ids": [
           80
        ],
        "table_operations": null
     }
     ]
  }
  ```

### 手順 11. ターミナル2で、上流の TIDB にデータを挿入

  ```bash
  mysql -h${HOST_DB1_PRIVATE_IP} -P4000 -uroot
  ```
  ```sql
  SELECT * FROM test.T1;
  ```
  ```output
  mysql> SELECT * FROM test.T1;
  Empty set (0.01 sec)
  ```

  ```sql
  INSERT INTO test.T1 VALUES(1, 'Tom');
  ```
  ```output
  mysql> INSERT INTO test.T1 VALUES(1, 'Tom');
  Query OK, 1 row affected (0.00 sec)
  ```

  ```sql
  SELECT * FROM test.T1;
  ```
  ```output
  mysql> SELECT * FROM test.T1;
  +----+------+
  | id | name |
  +----+------+
  |  1 | Tom  |
  +----+------+
  1 row in set (0.00 sec)
  ```

  ```sql
  EXIT;
  ```

### 手順 12. ターミナル1で、下流の MySQL で結果を確認

  ```bash
  mysql -u cdc_user -h ${HOST_PD1_PRIVATE_IP} -P 3306 -pq1w2e3R4_
  ```

  ```sql
  SELECT * FROM test.T1;
  ```
  ```output
  mysql> SELECT * FROM test.T1;
  +----+------+
  | id | name |
  +----+------+
  |  1 | Tom  |
  +----+------+
  1 row in set (0.00 sec)
  ```

  ```sql
  EXIT;
  ```
  ```output
  mysql> EXIT;
  ```

## モジュール 3: TiCDC クラスタの削除

### 手順 1. ターミナル2でレプリケーションタスクを一時停止

  ```bash
  tiup cdc:v7.5.1 cli changefeed pause --pd=http://${HOST_PD1_PRIVATE_IP}:2379  --changefeed-id replication-task-1
  ```

### 手順 2. ターミナル2でレプリケーションタスクを削除

  ```bash
  tiup cdc:v7.5.1 cli changefeed remove --pd=http://${HOST_PD1_PRIVATE_IP}:2379 --changefeed-id replication-task-1 
  ```

### 手順 3. ターミナル2でレプリケーションタスクをクエリー

  ```bash
  tiup cdc:v7.5.1 cli changefeed list --pd=http://${HOST_PD3_PRIVATE_IP}:2379
  ```
  ```output
  Starting component `cdc`: /home/ec2-user/.tiup/components/cdc/v7.5.1/cdc cli changefeed list --pd=http://10.80.0.12:2379
  []
  ```

### 手順 4. TiCDC クラスタを削除

  ```bash
  tiup cluster scale-in tidb-test --node ${HOST_PD1_PRIVATE_IP}:8300 --node ${HOST_PD2_PRIVATE_IP}:8300 --node ${HOST_PD3_PRIVATE_IP}:8300 --yes
  ```
  ```output
  ...
  Scaled cluster `tidb-test` in successfully
  ```

### 手順 5. TiDB クラスタのステータスを確認

  ```bash
  tiup cluster display tidb-test
  ```
  ```output
  tiup is checking updates for component cluster ...
  Starting component `cluster`: /home/ec2-user/.tiup/components/cluster/v1.12.1/tiup-cluster display tidb-test
  Cluster type:       tidb
  Cluster name:       tidb-test
  Cluster version:    v7.5.1
  Deploy user:        tidb
  SSH type:           builtin
  Dashboard URL:      http://10.90.1.34:2379/dashboard
  Grafana URL:        http://10.90.4.231:3000
  ID                 Role          Host         Ports                            OS/Arch       Status   Data Dir                      Deploy Dir
  --                 ----          ----         -----                            -------       ------   --------                      ----------
  10.90.4.231:9093   alertmanager  10.90.4.231  9093/9094                        linux/x86_64  Up       /tidb-data/alertmanager-9093  /tidb-deploy/alertmanager-9093
  10.90.4.231:3000   grafana       10.90.4.231  3000                             linux/x86_64  Up       -                             /tidb-deploy/grafana-3000
  10.90.1.34:2379    pd            10.90.1.34   2379/2380                        linux/x86_64  Up|L|UI  /tidb-data/pd-2379            /tidb-deploy/pd-2379
  10.90.2.38:2379    pd            10.90.2.38   2379/2380                        linux/x86_64  Up       /tidb-data/pd-2379            /tidb-deploy/pd-2379
  10.90.3.188:2379   pd            10.90.3.188  2379/2380                        linux/x86_64  Up       /tidb-data/pd-2379            /tidb-deploy/pd-2379
  10.90.4.231:9090   prometheus    10.90.4.231  9090/12020                       linux/x86_64  Up       /tidb-data/prometheus-9090    /tidb-deploy/prometheus-9090
  10.90.1.69:4000    tidb          10.90.1.69   4000/10080                       linux/x86_64  Up       -                             /tidb-deploy/tidb-4000
  10.90.2.35:4000    tidb          10.90.2.35   4000/10080                       linux/x86_64  Up       -                             /tidb-deploy/tidb-4000
  10.90.4.53:9000    tiflash       10.90.4.53   9000/8123/3930/20170/20292/8234  linux/x86_64  Up       /tidb-data/tiflash-9000       /tidb-deploy/tiflash-9000
  10.90.1.162:20160  tikv          10.90.1.162  20160/20180                      linux/x86_64  Up       /tidb-data/tikv-20160         /tidb-deploy/tikv-20160
  10.90.2.108:20160  tikv          10.90.2.108  20160/20180                      linux/x86_64  Up       /tidb-data/tikv-20160         /tidb-deploy/tikv-20160
  10.90.3.12:20160   tikv          10.90.3.12   20160/20180                      linux/x86_64  Up       /tidb-data/tikv-20160         /tidb-deploy/tikv-20160
  Total nodes: 12
  ```

## 演習終了