【必須收藏】別再亂找TiDB 集群部署教程了,這篇保姆級(jí)教程來(lái)幫你!!| 博學(xué)谷狂野架構(gòu)師

TiDB 基礎(chǔ)使用

Database of Databases - TiDB

TiDB dashboard使用

TiDB Dashboard 是 TiDB 自 4.0 版本起提供的圖形化界面,可用于監(jiān)控及診斷 TiDB 集群。TiDB Dashboard 內(nèi)置于 TiDB 的 PD 組件中,無(wú)需獨(dú)立部署。

集群概況

查看集群整體 QPS 數(shù)值、執(zhí)行耗時(shí)、消耗資源最多的幾類 SQL 語(yǔ)句等概況信息。

該頁(yè)面顯示了整個(gè)集群的概況,包含以下信息:

  • 整個(gè)集群的 QPS
  • 整個(gè)集群的查詢延遲
  • 最近一段時(shí)間內(nèi)累計(jì)耗時(shí)最多的若干 SQL 語(yǔ)句
  • 最近一段時(shí)間內(nèi)運(yùn)行時(shí)間超過(guò)一定閾值的慢查詢
  • 各個(gè)實(shí)例的節(jié)點(diǎn)數(shù)和狀態(tài)
  • 監(jiān)控及告警信息
QPS

該區(qū)域顯示最近一小時(shí)整個(gè)集群的每秒成功和失敗查詢數(shù)量

image-20210310134900484

注意:該功能僅在部署了 Prometheus 監(jiān)控組件的集群上可用,未部署監(jiān)控組件的情況下會(huì)顯示為失敗。

延遲

該區(qū)域顯示最近一小時(shí)整個(gè)集群中 99.9%、99% 和 90% 查詢的延遲:

image-20210310134921004

注意:該功能僅在部署了 Prometheus 監(jiān)控組件的集群上可用,未部署監(jiān)控組件的情況下會(huì)顯示為失敗。

Top SQL 語(yǔ)句

該區(qū)域顯示最近一段時(shí)間內(nèi)整個(gè)群集中累計(jì)耗時(shí)最長(zhǎng)的 10 類 SQL 語(yǔ)句。查詢參數(shù)不一樣但結(jié)構(gòu)一樣的 SQL 會(huì)歸為同一類 SQL 語(yǔ)句,在同一行中顯示

image-20210310135140342

注意:該功能僅在開(kāi)啟了 SQL 語(yǔ)句分析功能的集群上可用。

最近的慢查詢

該區(qū)域默認(rèn)顯示最近 30 分鐘內(nèi)整個(gè)集群中最新的 10 條慢查詢

image-20210310135240284

默認(rèn)情況下運(yùn)行時(shí)間超過(guò) 300ms 的SQL 查詢即會(huì)被計(jì)為慢查詢并顯示在該表格中。

集群信息

該頁(yè)面上允許用戶查看整個(gè)集群中 TiDB、TiKV、PD、TiFlash 組件的運(yùn)行狀態(tài)及其所在主機(jī)的運(yùn)行狀態(tài)。

實(shí)例列表

實(shí)例列表列出了該集群中 TiDB、TiKV、PD 和 TiFlash 組件所有實(shí)例的概況信息。

image-20210310135617023
表格列解釋

表格包含以下列:

  • 地址:實(shí)例地址
  • 狀態(tài):實(shí)例的運(yùn)行狀態(tài)
  • 啟動(dòng)時(shí)間:實(shí)例的啟動(dòng)時(shí)間
  • 版本:實(shí)例版本號(hào)
  • 部署路徑:實(shí)例二進(jìn)制文件所在目錄路徑
  • Git 哈希值:實(shí)例二進(jìn)制對(duì)應(yīng)的 Git 哈希值
實(shí)例狀態(tài)解釋

實(shí)例的運(yùn)行狀態(tài)有:

  • 在線 (Up):實(shí)例正常運(yùn)行。
  • 離線 (Down) 或無(wú)法訪問(wèn) (Unreachable):實(shí)例未啟動(dòng)或?qū)?yīng)主機(jī)存在網(wǎng)絡(luò)問(wèn)題。
  • 已縮容下線 (Tombstone):實(shí)例上的數(shù)據(jù)已被完整遷出并縮容完畢。僅 TiKV 或 TiFlash 實(shí)例存在該狀態(tài)。
  • 下線中 (Offline):實(shí)例上的數(shù)據(jù)正在被遷出并縮容。僅 TiKV 或 TiFlash 實(shí)例存在該狀態(tài)。
  • 未知 (Unknown):未知的實(shí)例運(yùn)行狀態(tài)。
主機(jī)列表

主機(jī)列表列出了該集群中 TiDB、TiKV、PD 和 TiFlash 組件所有實(shí)例對(duì)應(yīng)主機(jī)的運(yùn)行情況。

image-20210310135820510
表格列解釋

表格包含以下列:

  • 地址:主機(jī) IP 地址
  • CPU:主機(jī) CPU 邏輯核心數(shù)
  • CPU 使用率:主機(jī)當(dāng)前 1 秒的用戶態(tài)和內(nèi)核態(tài) CPU 使用率
  • 物理內(nèi)存:主機(jī)總計(jì)的物理內(nèi)存大小
  • 內(nèi)存使用率:主機(jī)當(dāng)前內(nèi)存使用率
  • 部署磁盤(pán):主機(jī)上運(yùn)行實(shí)例所在磁盤(pán)的文件系統(tǒng)和磁盤(pán)掛載路徑
  • 磁盤(pán)使用率:主機(jī)上運(yùn)行實(shí)例所在磁盤(pán)的空間使用率
SQL語(yǔ)句分析

該頁(yè)面可以查看所有 SQL 語(yǔ)句在集群上執(zhí)行情況,常用于分析總耗時(shí)或單次耗時(shí)執(zhí)行耗時(shí)較長(zhǎng)的 SQL 語(yǔ)句。

執(zhí)行列表頁(yè)

在該頁(yè)面中,結(jié)構(gòu)一致的 SQL 查詢(即使查詢參數(shù)不一致)都會(huì)被歸為同一個(gè) SQL 語(yǔ)句,例如 SELECT * FROM employee WHERE id IN (1, 2, 3)select * from EMPLOYEE where ID in (4, 5) 都屬于同一 SQL 語(yǔ)句 select * from employee where id in (...)。

image-20210310140600074
執(zhí)行詳情頁(yè)面

在列表中點(diǎn)擊任意一行可以進(jìn)入該 SQL 語(yǔ)句的詳情頁(yè)查看更詳細(xì)的信息,這此信息包括三大部分:

  • SQL 語(yǔ)句概況:包括 SQL 模板,SQL 模板 ID,當(dāng)前查看的時(shí)間范圍,執(zhí)行計(jì)劃個(gè)數(shù)以及執(zhí)行所在的數(shù)據(jù)庫(kù)(下圖區(qū)域 1)
  • 執(zhí)行計(jì)劃列表:如果該 SQL 語(yǔ)句有多個(gè)執(zhí)行計(jì)劃,則顯示該列表,可以選擇不同的執(zhí)行計(jì)劃,在列表下方會(huì)顯示選中的執(zhí)行計(jì)劃詳情;如果只有一個(gè)執(zhí)行計(jì)劃,則該列表不顯示(下圖區(qū)域 2)
  • 執(zhí)行計(jì)劃詳情:顯示選中的執(zhí)行計(jì)劃的詳細(xì)信息,具體見(jiàn)下一小節(jié)(下圖區(qū)域 3)
image-20210310140919328
慢查詢

該頁(yè)面上能檢索和查看集群中所有慢查詢。

默認(rèn)情況下,執(zhí)行時(shí)間超過(guò) 300ms 的 SQL 查詢就會(huì)被視為慢查詢,被記錄到慢查詢?nèi)罩?/a>中,并可通過(guò)本功能對(duì)記錄到的慢查詢進(jìn)行查詢??烧{(diào)整 tidb_slow_log_threshold SESSION 變量或 TiDB slow-threshold 參數(shù)調(diào)整慢查詢閾值。

若關(guān)閉了慢查詢?nèi)罩?,則本功能不可用。慢查詢?nèi)罩灸J(rèn)開(kāi)啟,可通過(guò)修改 TiDB 配置 enable-slow-log 開(kāi)啟或禁用。

慢查詢列表頁(yè)

可按時(shí)間范圍、慢查詢語(yǔ)句關(guān)聯(lián)的數(shù)據(jù)庫(kù)、SQL 關(guān)鍵字、SQL 類型、顯示的慢查詢語(yǔ)句數(shù)量等條件過(guò)濾,篩選慢查詢句。如下所示,默認(rèn)顯示 30 分鐘內(nèi)最近 100 條慢查詢。

image-20210310141242904
查看執(zhí)行詳情

在列表中點(diǎn)擊任意一行可以顯示該慢查詢的詳細(xì)執(zhí)行信息,包含:

  • SQL:慢查詢 SQL 文本(
  • 執(zhí)行計(jì)劃:慢查詢的執(zhí)行計(jì)劃
  • 其他分類好的 SQL 執(zhí)行信息
image-20210310141345490

點(diǎn)擊展開(kāi) (Expand) 鏈接可以展開(kāi)相應(yīng)項(xiàng)的完整內(nèi)容,點(diǎn)擊復(fù)制 (Copy) 鏈接可以復(fù)制完整內(nèi)容到剪貼板。

集群診斷頁(yè)面

集群診斷是在指定的時(shí)間范圍內(nèi),對(duì)集群可能存在的問(wèn)題進(jìn)行診斷,并將診斷結(jié)果和一些集群相關(guān)的負(fù)載監(jiān)控信息匯總成一個(gè)診斷報(bào)告。診斷報(bào)告是網(wǎng)頁(yè)形式,通過(guò)瀏覽器保存后可離線瀏覽和傳閱。

生成診斷報(bào)告

如果想對(duì)一個(gè)時(shí)間范圍內(nèi)的集群進(jìn)行診斷,查看集群的負(fù)載等情況,可以使用以下步驟來(lái)生成一段時(shí)間范圍的診斷報(bào)告:

  1. 設(shè)置區(qū)間的開(kāi)始時(shí)間
  2. 設(shè)置區(qū)間長(zhǎng)度,例如 10 min 。
  3. 點(diǎn)擊開(kāi)始。

建議生成報(bào)告的時(shí)間范圍在 1 min ~ 60 min 內(nèi),目前不建議生成超過(guò) 1 小時(shí)范圍的報(bào)告。

image-20210310141645985

點(diǎn)擊開(kāi)始 (start) 后,會(huì)看到以下界面,生成進(jìn)度 (progress) 是生成報(bào)告的進(jìn)度條,生成報(bào)告完成后,點(diǎn)擊查看報(bào)告 (View Full Report) 即可。

image-20210310141816552

TIDB集群部署

環(huán)境要求

操作系統(tǒng)建議配置

TiDB 作為一款開(kāi)源分布式 NewSQL 數(shù)據(jù)庫(kù),可以很好的部署和運(yùn)行在 Intel 架構(gòu)服務(wù)器環(huán)境、ARM 架構(gòu)的服務(wù)器環(huán)境及主流虛擬化環(huán)境,并支持絕大多數(shù)的主流硬件網(wǎng)絡(luò)。作為一款高性能數(shù)據(jù)庫(kù)系統(tǒng),TiDB 支持主流的 Linux 操作系統(tǒng)環(huán)境。

Linux 操作系統(tǒng)平臺(tái) 版本
Red Hat Enterprise Linux 7.3 及以上
CentOS 7.3 及以上
Oracle Enterprise Linux 7.3 及以上
Ubuntu LTS 16.04 及以上

服務(wù)器建議配置

TiDB 支持部署和運(yùn)行在 Intel x86-64 架構(gòu)的 64 位通用硬件服務(wù)器平臺(tái)或者 ARM 架構(gòu)的硬件服務(wù)器平臺(tái)。對(duì)于開(kāi)發(fā),測(cè)試,及生產(chǎn)環(huán)境的服務(wù)器硬件配置(不包含操作系統(tǒng) OS 本身的占用)有以下要求和建議:

開(kāi)發(fā)及測(cè)試環(huán)境
組件 CPU 內(nèi)存 本地存儲(chǔ) 網(wǎng)絡(luò) 實(shí)例數(shù)量(最低要求)
TiDB 8 核+ 16 GB+ 無(wú)特殊要求 千兆網(wǎng)卡 1(可與 PD 同機(jī)器)
PD 4 核+ 8 GB+ SAS, 200 GB+ 千兆網(wǎng)卡 1(可與 TiDB 同機(jī)器)
TiKV 8 核+ 32 GB+ SSD, 200 GB+ 千兆網(wǎng)卡 3
TiFlash 32 核+ 64 GB+ SSD, 200 GB+ 千兆網(wǎng)卡 1
TiCDC 8 核+ 16 GB+ SAS, 200 GB+ 千兆網(wǎng)卡 1
生產(chǎn)環(huán)境
組件 CPU 內(nèi)存 硬盤(pán)類型 網(wǎng)絡(luò) 實(shí)例數(shù)量(最低要求)
TiDB 16 核+ 32 GB+ SAS 萬(wàn)兆網(wǎng)卡(2 塊最佳) 2
PD 4核+ 8 GB+ SSD 萬(wàn)兆網(wǎng)卡(2 塊最佳) 3
TiKV 16 核+ 32 GB+ SSD 萬(wàn)兆網(wǎng)卡(2 塊最佳) 3
TiFlash 48 核+ 128 GB+ 1 or more SSDs 萬(wàn)兆網(wǎng)卡(2 塊最佳) 2
TiCDC 16 核+ 64 GB+ SSD 萬(wàn)兆網(wǎng)卡(2 塊最佳) 2
監(jiān)控 8 核+ 16 GB+ SAS 千兆網(wǎng)卡 1

環(huán)境準(zhǔn)備

準(zhǔn)備一臺(tái)部署主機(jī),確保其軟件滿足需求:

  • 推薦安裝 CentOS 7.3 及以上版本
  • Linux 操作系統(tǒng)開(kāi)放外網(wǎng)訪問(wèn),用于下載 TiDB 及相關(guān)軟件安裝包

最小規(guī)模的 TiDB 集群拓?fù)?/p>

實(shí)例 個(gè)數(shù) IP 配置
TiKV 3 192.168.64.146 避免端口和目錄沖突
TiDB 1 192.168.64.146 默認(rèn)端口 全局目錄配置
PD 1 192.168.64.146 默認(rèn)端口 全局目錄配置
TiFlash 1 192.168.64.146 默認(rèn)端口 全局目錄配置
Monitoring & Grafana 1 192.168.64.146 默認(rèn)端口 全局目錄配置

安裝TiUP

什么是TiUP

從 TiDB 4.0 版本開(kāi)始,TiUP 作為新的工具,承擔(dān)著包管理器的角色,管理著 TiDB 生態(tài)下眾多的組件,如 TiDB、PD、TiKV 等。用戶想要運(yùn)行 TiDB 生態(tài)中任何組件時(shí),只需要執(zhí)行 TiUP 一行命令即可,相比以前,極大地降低了管理難度。

安裝TiUP組件

使用普通用戶登錄中控機(jī),以 tidb 用戶為例,后續(xù)安裝 TiUP 及集群管理操作均通過(guò)該用戶完成

TiUP 安裝過(guò)程十分簡(jiǎn)潔,無(wú)論是 Darwin 還是 Linux 操作系統(tǒng),執(zhí)行一行命令即可安裝成功:

COPYcurl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh

該命令將 TiUP 安裝在 $HOME/.tiup 文件夾下,之后安裝的組件以及組件運(yùn)行產(chǎn)生的數(shù)據(jù)也會(huì)放在該文件夾下。同時(shí),它還會(huì)自動(dòng)將 $HOME/.tiup/bin 加入到 Shell Profile 文件的 PATH 環(huán)境變量中,這樣你就可以直接使用 TiUP 了。

image-20210308095820951
配置TiUP環(huán)境

重新聲明全局環(huán)境變量

COPYsource .bash_profile
檢查T(mén)iUP 工具是否安裝
COPYwhich tiup
image-20210308100108540
安裝 cluster 組件
COPYtiup cluster
image-20210308100218193
升級(jí)cluster組件

如果機(jī)器已經(jīng)安裝 TiUP cluster,需要更新軟件版本

COPYtiup update --self && tiup update cluster

預(yù)期輸出 “Update successfully!” 字樣。

image-20210308100305454

編輯部署文件

請(qǐng)根據(jù)不同的集群拓?fù)洌庉?TiUP 所需的集群初始化配置文件。

常見(jiàn)的部署場(chǎng)景
最小拓?fù)浼軜?gòu)

最基本的集群拓?fù)?,包?tidb-server、tikv-server、pd-server,適合 OLTP 業(yè)務(wù)。

增加 TiFlash 拓?fù)浼軜?gòu)

包含最小拓?fù)涞幕A(chǔ)上,同時(shí)部署 TiFlash。TiFlash 是列式的存儲(chǔ)引擎,已經(jīng)逐步成為集群拓?fù)涞臉?biāo)配。適合 Real-Time HTAP 業(yè)務(wù)。

增加 TiCDC 拓?fù)浼軜?gòu)

包含最小拓?fù)涞幕A(chǔ)上,同時(shí)部署 TiCDC。TiCDC 是 4.0 版本開(kāi)始支持的 TiDB 增量數(shù)據(jù)同步工具,支持多種下游 (TiDB/MySQL/MQ)。相比于 TiDB Binlog,TiCDC 有延遲更低、天然高可用等優(yōu)點(diǎn)。在部署完成后,需要啟動(dòng) TiCDC,通過(guò) cdc cli 創(chuàng)建同步任務(wù)。

增加 TiDB Binlog 拓?fù)浼軜?gòu)

包含最小拓?fù)涞幕A(chǔ)上,同時(shí)部署 TiDB Binlog。TiDB Binlog 是目前廣泛使用的增量同步組件,可提供準(zhǔn)實(shí)時(shí)備份和同步功能。

增加 TiSpark 拓?fù)浼軜?gòu)

包含最小拓?fù)涞幕A(chǔ)上,同時(shí)部署 TiSpark 組件。TiSpark 是 PingCAP 為解決用戶復(fù)雜 OLAP 需求而推出的產(chǎn)品。TiUP cluster 組件對(duì) TiSpark 的支持目前為實(shí)驗(yàn)性特性。

混合部署拓?fù)浼軜?gòu)

適用于單臺(tái)機(jī)器,混合部署多個(gè)實(shí)例的情況,也包括單機(jī)多實(shí)例,需要額外增加目錄、端口、資源配比、label 等配置。

單機(jī)極簡(jiǎn)部署

部署主機(jī)軟件和環(huán)境要求:

  • 部署需要使用部署主機(jī)的 root 用戶及密碼
  • 部署主機(jī)關(guān)閉防火墻或者開(kāi)放 TiDB 集群的節(jié)點(diǎn)間所需端口
單機(jī)極簡(jiǎn)拓?fù)?/h6>
實(shí)例 IP 開(kāi)放端口
grafana 192.168.64.152 3000
pd 192.168.64.152 2379/2380
prometheus 192.168.64.152 9090
tidb 192.168.64.152 4000/10080
tiflash 192.168.64.152 9000/8123/3930/20170/20292/8234
tikv 192.168.64.152 20160/20180
tikv 192.168.64.152 20161/20181
tikv 192.168.64.152 20162/20182
編輯配置文件

按下面的配置模板,編輯配置文件,命名為 topo.yaml

  • user: "tidb":表示通過(guò) tidb 系統(tǒng)用戶(部署會(huì)自動(dòng)創(chuàng)建)來(lái)做集群的內(nèi)部管理,默認(rèn)使用 22 端口通過(guò) ssh 登錄目標(biāo)機(jī)器
  • replication.enable-placement-rules:設(shè)置這個(gè) PD 參數(shù)來(lái)確保 TiFlash 正常運(yùn)行
  • host:設(shè)置為本部署主機(jī)的 IP
COPY# # 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: 192.168.64.146

tidb_servers:
 - host: 192.168.64.146

tikv_servers:
 - host: 192.168.64.146
   port: 20160
   status_port: 20180
   config:
     server.labels: { host: "logic-host-1" }

 - host: 192.168.64.146
   port: 20161
   status_port: 20181
   config:
     server.labels: { host: "logic-host-2" }

 - host: 192.168.64.146
   port: 20162
   status_port: 20182
   config:
     server.labels: { host: "logic-host-3" }

tiflash_servers:
 - host: 192.168.64.146

monitoring_servers:
 - host: 192.168.64.146

grafana_servers:
 - host: 192.168.64.146

執(zhí)行集群部署命令

命令格式

COPYtiup cluster deploy <cluster-name> <tidb-version> ./topo.yaml --user root -p
參數(shù)解釋
  • 參數(shù) <cluster-name> 表示設(shè)置集群名稱
  • 參數(shù) <tidb-version> 表示設(shè)置集群版本,可以通過(guò) tiup list tidb 命令來(lái)查看當(dāng)前支持部署的 TiDB 版本
  • 參數(shù):--user root通過(guò) root 用戶登錄到目標(biāo)主機(jī)完成集群部署,該用戶需要有 ssh 到目標(biāo)機(jī)器的權(quán)限,并且在目標(biāo)機(jī)器有 sudo 權(quán)限。也可以用其他有 ssh 和 sudo 權(quán)限的用戶完成部署。

檢查T(mén)iDB最新版本

可以通過(guò)執(zhí)行 tiup list tidb 來(lái)查看 TiUP 支持的版本

COPYtiup list tidb

經(jīng)過(guò)執(zhí)行發(fā)現(xiàn) 最新可用的TiDB版本是 v4.0.11

執(zhí)行部署命令

COPYtiup cluster deploy tidb-cluster 4.0.11 ./topo.yaml --user root -p

下面輸入y繼續(xù)后輸入密碼進(jìn)行安裝界面

image-20210308140623236

進(jìn)入安裝界面,等待安裝即可

image-20210308102532412

如果出現(xiàn)deployed successfully表示部署成功,集群名稱是tidb-cluster

image-20210308103047705

啟動(dòng)集群

COPYtiup cluster start tidb-cluster
image-20210308103329722

查看節(jié)點(diǎn)狀態(tài)

COPYtiup cluster display tidb-cluster

所有節(jié)點(diǎn)都是Up狀態(tài)說(shuō)明都已經(jīng)啟動(dòng)就緒了

image-20210309113426102

測(cè)試TiDB集群

Mysql連接集群

TiDB的連接端口默認(rèn)是4000, 密碼是空,可用使用Mysql客戶端以及第三方工具進(jìn)行連接

安裝MySql客戶端
COPYyum -y install mysql
MySql客戶端連接

訪問(wèn) TiDB 數(shù)據(jù)庫(kù),密碼為空

COPYmysql -h 192.168.64.146 -P 4000 -u root
image-20210308104058321
第三方客戶端訪問(wèn)Mysql

使用SQLyog訪問(wèn)TiDB

創(chuàng)建TiDB連接
image-20210308104229510

連接后就可以操作數(shù)據(jù)庫(kù)了

image-20210308104434635

訪問(wèn)Grafana監(jiān)控

通過(guò) http://{grafana-ip}:3000 訪問(wèn)集群 Grafana 監(jiān)控頁(yè)面,默認(rèn)用戶名和密碼均為 admin。

image-20210308104706041

訪問(wèn)Dashboard

通過(guò) http://{pd-ip}:2379/dashboard 訪問(wèn)集群 TiDB Dashboard監(jiān)控頁(yè)面,默認(rèn)用戶名為 root,密碼為空。

image-20210308104829297

查看集群列表

COPYtiup cluster list
image-20210308110936945

查看集群拓?fù)?/h4>
COPYtiup cluster display tidb-cluster
image-20210308111048597

TiDB擴(kuò)縮容

當(dāng)前集群部署拓?fù)?/h4>
實(shí)例 IP 端口 存儲(chǔ)路徑 部署路徑
grafana 192.168.64.152 3000 /tidb-deploy/grafana-3000
pd 192.168.64.152 2379/2380 /tidb-data/pd-2379 /tidb-deploy/pd-2379
prometheus 192.168.64.152 9090 /tidb-data/prometheus-9090 /tidb-deploy/prometheus-9090
tidb 192.168.64.152 4000/10080 /tidb-deploy/tidb-4000
tiflash 192.168.64.152 9000/8123/3930/20170/20292/8234 /tidb-data/tiflash-9000 /tidb-deploy/tiflash-9000
tikv 192.168.64.152 20160/20180 /tidb-data/tikv-20160 /tidb-deploy/tikv-20160
tikv 192.168.64.152 20161/20181 /tidb-data/tikv-20161 /tidb-deploy/tikv-20161
tikv 192.168.64.152 20162/20182 /tidb-data/tikv-20162 /tidb-deploy/tikv-20162

擴(kuò)容TiKV節(jié)點(diǎn)

需要擴(kuò)容一個(gè)TiKV節(jié)點(diǎn)

實(shí)例 IP 端口 存儲(chǔ)路徑 部署路徑
tikv 192.168.64.152 20163/20183 /tidb-data/tikv-20163 /tidb-deploy/tikv-20163
編寫(xiě)擴(kuò)容腳本

在 scale-out.yaml 文件添加擴(kuò)容拓?fù)渑渲?/p>

COPYvi scale-out.yaml
COPYtikv_servers:
  - host: 192.168.64.152
    ssh_port: 22
    port: 20163
    status_port: 20183
    deploy_dir: /tidb-deploy/tikv-20163
    data_dir: /tidb-data/tikv-20163
    config:
        server.labels:
            host: logic-host-4
執(zhí)行擴(kuò)容命令
命令格式
COPYtiup cluster scale-out <cluster-name> scale-out.yaml -p
  • cluster-name:TiDB集群名稱
  • p:使用密碼方式登錄當(dāng)前機(jī)器
執(zhí)行命令
COPYtiup cluster scale-out tidb-cluster scale-out.yaml -p

輸入命令后,確認(rèn)輸入機(jī)器密碼

image-20210308152355455

出現(xiàn)successfully表示節(jié)點(diǎn)擴(kuò)容成功

image-20210308152524912
驗(yàn)證擴(kuò)容信息
查看節(jié)點(diǎn)信息
COPYtiup cluster display tidb-cluster

我們看到Tikv已經(jīng)增加了一個(gè)節(jié)點(diǎn)

image-20210308152647801
通過(guò)dashboard查看

也可以看到擴(kuò)容的節(jié)點(diǎn)信息

image-20210308152905774

縮容TiKV節(jié)點(diǎn)

查看節(jié)點(diǎn)信息
COPYtiup cluster display tidb-cluster

當(dāng)前TiKV是4個(gè)節(jié)點(diǎn)

image-20210308152647801
執(zhí)行縮容操作
縮容命令
COPYtiup cluster scale-in <cluster-name> --node 192.168.64.152:20163

參數(shù)解釋

  • cluster-name:集群名稱
  • node:需要?jiǎng)h除的節(jié)點(diǎn)地址
執(zhí)行命令
COPYtiup cluster scale-in tidb-cluster --node 192.168.64.152:20163

出現(xiàn)確認(rèn)操作后,輸入y確認(rèn)執(zhí)行就可以執(zhí)行縮容操作了

image-20210308153500262
驗(yàn)證縮容信息
查看節(jié)點(diǎn)信息
COPYtiup cluster display tidb-cluster

我們看到需要縮容的節(jié)點(diǎn)狀態(tài)是Tombstone說(shuō)明已經(jīng)下線,下線需要一定時(shí)間,下線節(jié)點(diǎn)的狀態(tài)變?yōu)?Tombstone 就說(shuō)明下線成功

image-20210308153639934
通過(guò)dashboard查看

也可以看到縮容的節(jié)點(diǎn)已經(jīng)不存在了,說(shuō)明縮容成功

image-20210308153901260

博客內(nèi)容遵循 署名-非商業(yè)性使用-相同方式共享 4.0 國(guó)際 (CC BY-NC-SA 4.0) 協(xié)議

本文永久鏈接是:http://www.baiyp.ren/TIDB%E9%9B%86%E7%BE%A4%E9%83%A8%E7%BD%B2.html

更新于:2021年5月27日

集群部署

TIDB

本文由傳智教育博學(xué)谷狂野架構(gòu)師教研團(tuán)隊(duì)發(fā)布。

如果本文對(duì)您有幫助,歡迎關(guān)注點(diǎn)贊;如果您有任何建議也可留言評(píng)論私信,您的支持是我堅(jiān)持創(chuàng)作的動(dòng)力。

轉(zhuǎn)載請(qǐng)注明出處!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容