単一コンピュータでTiDB運用環境クラスタのデプロイをシミュレーションする
単一コンピュータで運用環境クラスタをデプロイする
シナリオ: 完全なトポロジを持つ最小TiDBクラスタを体験し、単一Linuxサーバーで運用環境クラスタのデプロイ手順をシミュレーションする。 このセクションでは、TiUPで最小トポロジYAMLファイルを使ってTiDBクラスタをデプロイする方法について説明する。
クラスタデプロイの準備
次の要件を満たす対象コンピュータを準備する。
- CentOS 7.3以上がインストールされている。
- Linux OSがインターネットにアクセスできる。これはTiDBおよび関連ソフトウェアのインストールパッケージをダウンロードするために必要である。
最小TiDBクラスタトポロジは次のとおりである。
| インスタンス | カウント | アドレス | 構成 |
|---|---|---|---|
| TiKV | 3 | 10.0.1.1 10.0.1.1 10.0.1.1 |
ポートとディレクトリの競合を防止 |
| TiDB | 1 | 10.0.1.1 | デフォルトポート グローバルディレクトリ構成 |
| PD | 1 | 10.0.1.1 | デフォルトポート グローバルディレクトリ構成 |
| TiFlash | 1 | 10.0.1.1 | デフォルトポート グローバルディレクトリ構成 |
| Monitor | 1 | 10.0.1.1 | デフォルトポート グローバルディレクトリ構成 |
対象コンピュータのその他の要件:
-
rootユーザーとパスワードが必要。
-
対象システムのファイアウォールサービスを停止するか、TiDBクラスタノードに必要なポートを開く。
-
現在、TiUP Clusterはx86_64(AMD64)およびARMアーキテクチャでのTiDBデプロイをサポートする。
- AMD64ではCentOS 7.3以上の使用を推奨する。
- ARMではCentOS 7.6 1810の使用を推奨する。
クラスタデプロイの実行
-
TiUPをダウンロードしてインストールする。
curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh -
グローバル環境変数を宣言する。
Note:インストール後、TiUPは該当するシェルプロファイルファイルの絶対パスを表示する。パスに応じて、次の`source`コマンドの`${your_shell_profile}`を変更する必要がある。source ${your_shell_profile} -
TiUPのクラスタコンポーネントをインストールする。
tiup cluster -
TiUP Clusterがすでにコンピュータにインストールされている場合、ソフトウェアバージョンを更新する。
tiup update --self && tiup update cluster -
rootユーザー権限を使用して
sshdサービスの接続制限を増やす。これはTiUPが複数コンピュータでのデプロイをシミュレートする必要があるためである。/etc/ssh/sshd_configを変更し、MaxSessionsを20に設定する。sshdサービスを再起動する。service sshd restart
-
クラスタを作成して開始する。
次のテンプレートに従って構成ファイルを編集し、
topo.yamlという名前を付ける。# # Global variables are applied to all deployments and used as the default value of # # the deployments if a specific deployment value is missing. global: user: "tidb" ssh_port: 22 deploy_dir: "/tidb-deploy" data_dir: "/tidb-data" # # Monitored variables are applied to all the machines. monitored: node_exporter_port: 9100 blackbox_exporter_port: 9115 server_configs: tidb: log.slow-threshold: 300 tikv: readpool.storage.use-unified-pool: false readpool.coprocessor.use-unified-pool: true pd: replication.enable-placement-rules: true replication.location-labels: ["host"] tiflash: logger.level: "info" pd_servers: - host: 10.0.1.1 tidb_servers: - host: 10.0.1.1 tikv_servers: - host: 10.0.1.1 port: 20160 status_port: 20180 config: server.labels: { host: "logic-host-1" } - host: 10.0.1.1 port: 20161 status_port: 20181 config: server.labels: { host: "logic-host-2" } - host: 10.0.1.1 port: 20162 status_port: 20182 config: server.labels: { host: "logic-host-3" } tiflash_servers: - host: 10.0.1.1 monitoring_servers: - host: 10.0.1.1 grafana_servers: - host: 10.0.1.1user: "tidb":tidbシステムユーザー(デプロイ時に自動作成される)を使用して、クラスタの内部管理を実行する。デフォルトではポート22を使用し、SSH経由で対象コンピュータにログインする。replication.enable-placement-rules: このPDパラメータは、TiFlashが正しく動作するように設定されている。host: 対象コンピュータのIP。
-
クラスタデプロイコマンドを実行する。
tiup cluster deploy <cluster-name> <tidb-version> ./topo.yaml --user root -p-
<cluster-name>: クラスタ名を設定する。 -
<tidb-version>: TiDBクラスタバージョンを設定する。tiup list tidbコマンドを実行すると、サポートされるTiDBのすべてのバージョンを確認できる。 -
-p: 対象コンピュータへ接続するために使用するパスワードを指定する。Note:秘密鍵を使用する場合は、`-i`で鍵のパスを指定できる。`-i`と`-p`を同時に使用してはならない。
「y」とrootユーザーのパスワードを入力し、デプロイを完了する。
Do you want to continue? [y/N]: y Input SSH password: -
-
クラスタを開始する。
tiup cluster start <cluster-name> -
クラスタにアクセスする。
-
MySQLクライアントをインストールする。すでにインストールされている場合、この手順はスキップする。
yum -y install mysql -
TiDBにアクセスする。パスワードは空である。
mysql -h 10.0.1.1 -P 4000 -u root -
http://{grafana-ip}:3000 でGrafana監視ダッシュボードにアクセスする。デフォルトユーザー名とパスワードはいずれも
adminである。 -
TiDBダッシュボード http://{pd-ip}:2379/dashboard にアクセスする。デフォルトユーザー名はrootで、パスワードは空である。
-
現在デプロイされているクラスタ一覧を見るには:
tiup cluster list -
クラスタのトポロジと状態を見るには:
tiup cluster display <cluster-name>
-