溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Greenplum--FTS故障檢測(cè)原理

發(fā)布時(shí)間:2020-09-21 20:10:42 來源:網(wǎng)絡(luò) 閱讀:964 作者:朱飛東 欄目:數(shù)據(jù)庫

前言

FTS(Fault Tolerance Serve)是GreenPlum中的故障檢測(cè)服務(wù),是保證GP高可用的核心功能。GreenPlum的Segment的健康檢測(cè)及HA是由GP Master實(shí)現(xiàn)的,GP Master上面有個(gè)專門的進(jìn)程–FTS進(jìn)程,它可以快速檢測(cè)到Primary或者M(jìn)irror是否掛掉,并及時(shí)作出Primary/Mirror 故障切換。

一、FTS架構(gòu)

GreenPlum的Segment的健康檢測(cè)及HA是由GP Master實(shí)現(xiàn)的,GP Master上面有個(gè)專門的進(jìn)程–FTS進(jìn)程,它可以快速檢測(cè)到Primary或者M(jìn)irror是否掛掉,并及時(shí)作出Primary/Mirror 故障切換。如果FTS掛掉了,Master將會(huì)重新fork出來一個(gè)FTS進(jìn)程。
Greenplum--FTS故障檢測(cè)原理

二、FTS實(shí)現(xiàn)原理

GP Master上面的FTS進(jìn)程每隔60s(時(shí)間可以配置)向Primary或者M(jìn)irror發(fā)送心跳包,Primary和Mirror收到心跳包后返回它們的當(dāng)前狀態(tài),F(xiàn)TS進(jìn)程心跳包的發(fā)送狀態(tài)和Segment返回狀態(tài)更新元信息和作出故障切換。因?yàn)镾egment可能很多,為了加快檢測(cè)速度,F(xiàn)TS是多線程的,默認(rèn)16個(gè)線程。
Greenplum--FTS故障檢測(cè)原理

三、Segment檢測(cè)及故障切換

GP Master首先會(huì)檢測(cè)Primary狀態(tài),如果Primary不可連通,那么將會(huì)檢測(cè)Mirror狀態(tài),Primary/Mirror狀態(tài)總共有4種:
Primary活著,Mirror活著。GP Master探測(cè)Primary成功之后直接返回,進(jìn)行下一個(gè)Segment檢測(cè);
Primary活著,Mirror掛了。GP Master探測(cè)Primary成功之后,通過Primary返回的狀態(tài)得知Mirror掛掉了(Mirror掛掉之后,Primary將會(huì)探測(cè)到,將自己變成ChangeTracking模式),這時(shí)候更新Master元信息,進(jìn)行下一個(gè)Segment檢測(cè);
Primary掛了,Mirror活著。GP Master探測(cè)Primary失敗之后探測(cè)Mirror,發(fā)現(xiàn)Mirror是活著,這時(shí)候更新Master上面的元信息,同時(shí)使Mirror接管Primary(故障切換),進(jìn)行下一個(gè)Segment檢測(cè);
Primary掛了,Mirror掛了。GP Master探測(cè)Primary失敗之后探測(cè)Mirror,Mirror也是掛了,直到重試最大值,結(jié)束這個(gè)Segment的探測(cè),也不更新Master元信息了,進(jìn)行下一個(gè)Segment檢測(cè)。
Greenplum--FTS故障檢測(cè)原理

四、參數(shù)配置

4.1、gp_fts_probe_threadcount

用來故障檢測(cè)的線程數(shù)量,默認(rèn)為16。

4.2、gp_fts_probe_interval

兩次檢測(cè)的時(shí)間間隔,默認(rèn)為60s。如果一次檢測(cè)時(shí)間使用10s,那么剩余50s將會(huì)sleep;如果超過60s,將會(huì)直接進(jìn)入下一次檢測(cè)。

4.3、gp_fts_probe_timeout

檢測(cè)Segment超時(shí)時(shí)間,默認(rèn)值: 20。

4.4、gp_fts_probe_retries

檢測(cè)Segment失敗重試次數(shù),如果超過這個(gè)次數(shù),將會(huì)認(rèn)為當(dāng)前節(jié)點(diǎn)掛掉,默認(rèn)值: 5。

4.5、gp_segment_connect_timeout

Prmary和Mirror文件同步允許連接Mirror最大超時(shí)時(shí)間,如果達(dá)到這個(gè)超時(shí)時(shí)間,Primary將會(huì)認(rèn)為Mirror掛掉了,默認(rèn)值: 180s。

五、總結(jié)

通過GreenPlum FTS機(jī)制學(xué)習(xí),可以了解部分MPP架構(gòu)高可用原理。同時(shí)根據(jù)自身的業(yè)務(wù),合理地配置FTS參數(shù),保障GP高可用。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI