1. 程式人生 > 其它 >TiDB-----使用 TiUP cluster 在單機上模擬生產環境部署步驟

TiDB-----使用 TiUP cluster 在單機上模擬生產環境部署步驟

準備環境

準備一臺部署主機,確保其軟體滿足需求:

  • 推薦安裝 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 使用者為例。

  1. 下載並安裝 TiUP:

    curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh
  2. 安裝 TiUP 的 cluster 元件:

    tiup cluster
  3. 如果機器已經安裝 TiUP cluster,需要更新軟體版本:

    tiup update --self && tiup update cluster
  4. 由於模擬多機部署,需要通過root使用者調大 sshd 服務的連線數限制:

    1. 修改/etc/ssh/sshd_configMaxSessions調至 20。

    2. 重啟 sshd 服務:

      service sshd restart
  5. 建立並啟動叢集

    按下面的配置模板,編輯配置檔案,命名為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
  6. 執行叢集部署命令:

    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:
  7. 啟動叢集:

    tiup cluster start <cluster-name>
  8. 訪問叢集:

    • 安裝 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>