天天看點

TiDB安裝配置--PD擴容

1、如果是在已經部署過TiDB的伺服器上部署PD節點,則先需要将原來的deploy目錄删掉。

2、編輯hosts.ini(中控機)

将新節點IP加入[servers]中

3、中控機編輯

inventory.ini

檔案,添加節點資訊置于

[pd_servers]

主機組最後一行: 

[pd_servers]
原有PD伺服器IP清單
新增PD伺服器IP


[monitored_servers]
原有叢集伺服器IP清單
自增PD伺服器IP
           

4、如果是之前未在叢集中的新伺服器,則需配置ssh互信(新節點)

4.1 添加tidb使用者(新節點)

useradd  tidb

4.2 設定登入密碼(新節點)

passwd

4.3 配置sudo免密碼,編輯visudo,将以下添加至檔案末尾(新節點)

visudo
tidb ALL=(ALL) NOPASSWD: ALL
           

4.4 将公鑰發送到目标機器(中控機執行)

ssh-copy-id -i ~/.ssh/id_rsa.pub 新節點IP
           

4.5 測試是否配置互信成功

ssh 新節點IP

如果無需密碼成功登入新節點伺服器,則表示ssh互信配置成功

5、首先要檢查伺服器的ntpd服務是否正常(每次在中控機執行相關初始化、部署、滾動更新過程中,如果看到make sure ntp服務是否正常,都檢查對應伺服器ntpd服務)

#ntpstat

異常:unsynchronised

   polling server every 64 s

正常:synchronised to NTP server (94.130.49.186) at stratum 4

   time correct to within 1167 ms

   polling server every 64 s

如遇異常,則可執行一下指令,重新部署ntp服務(中控機執行):

ansible-playbook -i hosts.ini deploy_ntp.yml -u tidb -b

6、初始化新增節點(中控機執行)

ansible-playbook bootstrap.yml -l 新增節點IP
           

7、部署新增節點

ansible-playbook deploy.yml -l 新增節點IP
           

8、新增節點修改腳本{deploy_dir}/scripts/run_pd.sh

8.1 移除--initial-cluster="" \ (不能使用注釋符号#,要删除)

8.2 添加--join="http://原有PD節點中的一個IP:2379" \

8.3 啟動PD服務:

{deploy_dir}/scripts/start_pd.sh

9、中控機檢視節點是否注冊成功(中控機執行,此處隻是注冊pd節點)

/home/tidb/tidb-ansible/resources/bin/pd-ctl -u "http://原有PD節點中的一個IP:2379" -d member
           

10、在中控機滾動更新整個叢集(中控機執行)

ansible-playbook rolling_update.yml
           

11、更新Prometheus 配置并重新開機(中控機執行)

ansible-playbook rolling_update_monitor.yml --tags=prometheus