TiDB-----使用 TiUP cluster 在單機上模擬生產環境部署步驟
阿新 • • 發佈:2021-10-20
準備環境
準備一臺部署主機,確保其軟體滿足需求:
- 推薦安裝 CentOS 7.3 及以上版本
- Linux 作業系統開放外網訪問,用於下載 TiDB 及相關軟體安裝包
最小規模的 TiDB 叢集拓撲:
注意:
下表中拓撲例項的 IP 為示例 IP。在實際部署時,請替換為實際的 IP。
例項 | 個數 | IP | 配置 |
---|---|---|---|
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 支援在 x86_64(AMD64 和 ARM)架構上部署 TiDB 叢集
- 在 AMD64 架構下,建議使用 CentOS 7.3 及以上版本 Linux 作業系統
- 在 ARM 架構下,建議使用 CentOS 7.6 1810 版本 Linux 作業系統
實施部署
注意:
你可以使用 Linux 系統的任一普通使用者或 root 使用者登入主機,以下步驟以 root 使用者為例。
-
下載並安裝 TiUP:
curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh
-
安裝 TiUP 的 cluster 元件:
tiup cluster
-
如果機器已經安裝 TiUP cluster,需要更新軟體版本:
tiup update --self && tiup update cluster
-
由於模擬多機部署,需要通過
root
使用者調大 sshd 服務的連線數限制:-
修改
/etc/ssh/sshd_config
將MaxSessions
調至 20。 -
重啟 sshd 服務:
service sshd restart
-
-
建立並啟動叢集
按下面的配置模板,編輯配置檔案,命名為
topo.yaml
,其中:user: "tidb"
:表示通過tidb
系統使用者(部署會自動建立)來做叢集的內部管理,預設使用 22 埠通過 ssh 登入目標機器replication.enable-placement-rules
:設定這個 PD 引數來確保 TiFlash 正常執行host
:設定為本部署主機的 IP
配置模板如下:
# # 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.1
-
執行叢集部署命令:
tiup cluster deploy <cluster-name> <tidb-version> ./topo.yaml --user root -p
- 引數
<cluster-name>
表示設定叢集名稱 - 引數
<tidb-version>
表示設定叢集版本,可以通過tiup list tidb
命令來檢視當前支援部署的 TiDB 版本
按照引導,輸入”y”及 root 密碼,來完成部署:
Do you want to continue? [y/N]: y Input SSH password:
- 引數
-
啟動叢集:
tiup cluster start <cluster-name>
-
訪問叢集:
-
安裝 MySQL 客戶端。如果已安裝 MySQL 客戶端則可跳過這一步驟。
yum -y install mysql
-
訪問 TiDB 資料庫,密碼為空:
mysql -h 10.0.1.1 -P 4000 -u root
-
訪問 TiDB 的 Grafana 監控:
通過http://{grafana-ip}:3000訪問叢集 Grafana 監控頁面,預設使用者名稱和密碼均為 admin。
-
訪問 TiDB 的 Dashboard:
通過http://{pd-ip}:2379/dashboard訪問叢集TiDB Dashboard監控頁面,預設使用者名稱為 root,密碼為空。
-
執行以下命令確認當前已經部署的叢集列表:
tiup cluster list
-
執行以下命令檢視叢集的拓撲結構和狀態:
tiup cluster display <cluster-name>
-