前一篇提到可以利用指令tiup cluster template > topology.yaml
產生一個範本的設定檔。接下來就來看看裡面的架構以及可以做那些異動。
大致上有幾種分類
Global:如其名,全局設定。細部設定例如
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等等也都可以透過這個文件設定部署。