TiDB資料庫PD混合部署

o煙雨瀟瀟o發表於2019-08-15

        pd多套叢集部署同一機器的問題

                                         --2019-04-25 春雷

1、彙總

1.1、問題

多套tidb叢集的pd  部署在同樣的機器,pd的服務相同,導致pd無法啟動

版本:2.1.2

1.2、問題及解決

修改相關檔案的埠部分解決

2、具體

2.1、具體問題

2.1.1、系統服務

/etc/systemd/system

pd.service

2.1.2、pd的啟停指令碼

【${deploy_dir}/scripts/start_pd.sh】

#!/bin/bash
set -e

# WARNING: This file was auto-generated. Do not edit!
# All your edit might be overwritten!
sudo systemctl start  pd.service

${deploy_dir} /scripts/stop_pd.sh】

#!/bin/bash
set -e

# WARNING: This file was auto-generated. Do not edit!
# All your edit might be overwritten!
sudo systemctl stop  pd.service


2.2、修復

tidb中控機:

【1、更改部署的】

/work/tidb/tidb-ansible-2.1/roles/pd/tasks/ systemd_deployment.yml

更改:

service_name: pd- {{ pd_client_port }}

【2、滾動升級的】

/work/tidb/tidb-ansible-2.1/ rolling_update.yml

更改:

- name: stop PD by systemd
systemd: name=pd -{{ pd_client_port }} .service state=stopped


- name: start PD by systemd
systemd: name=pd -{{ pd_client_port }} .service state=started


【3、更改start的】

/work/tidb/tidb-ansible-2.1/ start.yml

- name: start PD by systemd
systemd: name=pd- {{ pd_client_port }} .service state=started


2.3、修復後結果

手動刪除目標pd機器的:

${deploy_dir}/scripts/start_pd.sh

${ deploy_dir } /scripts/stop_pd.sh

${ deploy_dir } /scripts/run_pd.sh

中控機重新部署:

ansible-playbook deploy.yml  -l  pd機器IP


檢查:

start_pd.sh 

#!/bin/bash
set -e

# WARNING: This file was auto-generated. Do not edit!
# All your edit might be overwritten!
sudo systemctl start pd-10000 .service


stop_pd.sh

#!/bin/bash
set -e

# WARNING: This file was auto-generated. Do not edit!
# All your edit might be overwritten!
sudo systemctl stop pd-10000 .service


cd /etc/systemd/system

pd-10000 .service


開啟:

ansible-playbook start.yml


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28823725/viewspace-2653745/,如需轉載,請註明出處,否則將追究法律責任。

相關文章