iT邦幫忙

2021 iThome 鐵人賽

DAY 12
0
Software Development

TiDB學習筆記系列 第 12

Day 12 - 安裝(二)Topology

前一篇提到可以利用指令tiup cluster template > topology.yaml產生一個範本的設定檔。接下來就來看看裡面的架構以及可以做那些異動。

大致上有幾種分類
Global:如其名,全局設定。細部設定例如

  1. user:設定啟動cluster的用戶,預設名稱是tidb。
  2. ssh_port:ssh的port,預設22
  3. depoly_dir:部署的目錄,預設是/tidb-deploy。
  4. data_dir:數據資料的目錄,預設是/tidb-data。
  5. resource_control:可設定資源的最大使用量,例如memory_limit設定最大的記憶體使用量,cpu_quota設定cpu最大使用率、io_read_bandwidth_max硬碟讀取資料的最大io頻寬、io_wirte_bandwidth_max硬碟寫資料的最大io頻寬。
  6. arch:有amd64與arm64兩種
  7. os:預設linux

monitored:監控服務設定,每台機器都會安裝prometheus的blackbox exporter和node exporter,預設的port分別為9115與9100。blackbox exporter主要用來搜集http、https、tcp、icmp、dns、post、ssl等訊息,node exporter則收集cpu、memory、disk的數據。


server_configs:針對各個server做的全域設定。官網針對各種server都有一份獨立的配置文件,可視真實使用情況做調整。


以下開始便是針對每一個server的設定,稍微描述一下設定的內容。
pd_servers:指定host(只能設定ip位置)、ssh_port(預設22)、name(pd的名稱,有多台時名稱不能重複)、depoly_dir(部署的目錄)、data_dir(資料目錄)、arch、os(與Global設定相同)、client_port(pd的client端接口預設2379)、peer_port(pd與其他pd之間聯繫的port預設2380)。以上的設定在部署完成之後是不可變動的。
此外多台pd可以只針對單一台pd做特別設定。

tidb_servers:大致上可設定的部分類似。可指定port(預設4000),透過mysql client連線時需指定此port。

tikv_servers:可設定的部分類似。

每個server設定裡頭都有一個config,如果有設定會與server_configs的設定彙整,有衝突則以此處設定為優先。
還有另一個resource_control,如果有做設定會與Global的設定彙整,有衝突也是以此設定為優先。
其他服務例如tiflash_servers、monitoring_servers、grafana_servers、alertmanager_servers等等也都可以透過這個文件設定部署。


上一篇
Day 11 - 安裝(ㄧ)Tiup工具
下一篇
Day 13 - 安裝(三)副本調度設定
系列文
TiDB學習筆記30

尚未有邦友留言

立即登入留言