TiDB 基礎(chǔ)使用

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ù)量

注意:該功能僅在部署了 Prometheus 監(jiān)控組件的集群上可用,未部署監(jiān)控組件的情況下會(huì)顯示為失敗。
延遲
該區(qū)域顯示最近一小時(shí)整個(gè)集群中 99.9%、99% 和 90% 查詢的延遲:

注意:該功能僅在部署了 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ǔ)句,在同一行中顯示

注意:該功能僅在開(kāi)啟了 SQL 語(yǔ)句分析功能的集群上可用。
最近的慢查詢
該區(qū)域默認(rèn)顯示最近 30 分鐘內(nèi)整個(gè)集群中最新的 10 條慢查詢

默認(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í)例的概況信息。

表格列解釋
表格包含以下列:
- 地址:實(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)行情況。

表格列解釋
表格包含以下列:
- 地址:主機(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 (...)。

執(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)

慢查詢
該頁(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 條慢查詢。

查看執(zhí)行詳情
在列表中點(diǎn)擊任意一行可以顯示該慢查詢的詳細(xì)執(zhí)行信息,包含:
- SQL:慢查詢 SQL 文本(
- 執(zhí)行計(jì)劃:慢查詢的執(zhí)行計(jì)劃
- 其他分類好的 SQL 執(zhí)行信息

點(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)告:
- 設(shè)置區(qū)間的開(kāi)始時(shí)間
- 設(shè)置區(qū)間長(zhǎng)度,例如 10 min 。
- 點(diǎn)擊開(kāi)始。
建議生成報(bào)告的時(shí)間范圍在 1 min ~ 60 min 內(nèi),目前不建議生成超過(guò) 1 小時(shí)范圍的報(bào)告。

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

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 了。

配置TiUP環(huán)境
重新聲明全局環(huán)境變量
COPYsource .bash_profile
檢查T(mén)iUP 工具是否安裝
COPYwhich tiup

安裝 cluster 組件
COPYtiup cluster

升級(jí)cluster組件
如果機(jī)器已經(jīng)安裝 TiUP cluster,需要更新軟件版本
COPYtiup update --self && tiup update cluster
預(yù)期輸出
“Update successfully!”字樣。

編輯部署文件
請(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)行安裝界面

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

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

啟動(dòng)集群
COPYtiup cluster start tidb-cluster

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

測(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

第三方客戶端訪問(wèn)Mysql
使用SQLyog訪問(wèn)TiDB
創(chuàng)建TiDB連接

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

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

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

查看集群列表
COPYtiup cluster list

查看集群拓?fù)?/h4>
COPYtiup cluster display tidb-cluster
image-20210308111048597
TiDB擴(kuò)縮容
當(dāng)前集群部署拓?fù)?/h4>
COPYtiup cluster display tidb-cluster

| 實(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ī)器密碼

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

驗(yàn)證擴(kuò)容信息
查看節(jié)點(diǎn)信息
COPYtiup cluster display tidb-cluster
我們看到Tikv已經(jīng)增加了一個(gè)節(jié)點(diǎn)

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

縮容TiKV節(jié)點(diǎn)
查看節(jié)點(diǎn)信息
COPYtiup cluster display tidb-cluster
當(dāng)前TiKV是4個(gè)節(jié)點(diǎn)

執(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í)行縮容操作了

驗(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ō)明下線成功

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

博客內(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日
本文由
傳智教育博學(xué)谷狂野架構(gòu)師教研團(tuán)隊(duì)發(fā)布。如果本文對(duì)您有幫助,歡迎
關(guān)注和點(diǎn)贊;如果您有任何建議也可留言評(píng)論或私信,您的支持是我堅(jiān)持創(chuàng)作的動(dòng)力。轉(zhuǎn)載請(qǐng)注明出處!