天天看點

TiDB在更新版本的時候初始化Prometheus的配置檔案失敗

一、背景是更換版本了之後,按照正常擴容節點也會報錯。

    我們安裝的TiDB版本是v4.0.0,因為環境還在試用階段,是以會經常增删節點。原因是我們違背官方說明,強行用機械盤上了,跑不過單機的mysql,是以加了很多tikv節點,一共8個。每次都很順利,而且在grafana也會調整展示增删的節點。這次因為性能和PD面闆功能的原因,我更新到了v4.0.7版本,

更新的時候也沒有報錯。但是我在擴容PD的時候就報錯了,

因為處理問題的時候比較緊急,這博文是事後寫的,是以無法截圖保留。擴容的配置檔案。

我以為有報錯是不成功的,又執行了一下擴容指令,報的是端口沖突的錯誤,然後我覺得可能擴容成功的了。就檢視了一下叢集狀态。

發現節點有了,隻是在grafana那裡沒有展示。後來我又擴充了tikv,也是報同樣類似的錯誤:init config failed,下圖是我Google的曆史記錄,不過完全沒有參考。

二、重制錯誤。

    盡管該叢集是使用,我也不能耽擱其他同僚的使用,我就又搭了一個環境來複現這種錯誤。

仍然是v4.0.0版本,然後更新到v4.0.7版本。然後改名,

終于也報 init config failed 了,同時也有結論了,果然是版本引起無法初始化Prometheus的配置檔案。然後我可以在測試的TiDB叢集上調試,尋找最合理的及決方案。

三、問題的解決。

    首先避免不了一通百度、Google,完全沒有相關描述,倒是有人遇到同樣的問題,但是沒人回答,後來我回答了。首先在Prometheus節點上的日志,也隻是說 init config failed ,并沒有說明原因。就到看節點的配置檔案。什麼重新開機節點,重新開機叢集,修改中控機的配置檔案……全部都試過了,還是沒用。也想到了回退版本,幸好沒有用到。最後在看官方文檔,無意中發現tiup用戶端需要更新。然後我就更新了tiup用戶端。

然後執行重載配置,

終于成功了。