FTS(Fault Tolerance Serve)是GreenPlum中的故障檢測(cè)服務(wù),是保證GP高可用的核心功能。GreenPlum的Segment的健康檢測(cè)及HA是由GP Master實(shí)現(xiàn)的,GP Master上面有個(gè)專(zhuān)門(mén)的進(jìn)程–FTS進(jìn)程,它可以快速檢測(cè)到Primary或者M(jìn)irror是否掛掉,并及時(shí)作出Primary/Mirror 故障切換。
讓客戶(hù)滿(mǎn)意是我們工作的目標(biāo),不斷超越客戶(hù)的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶(hù),將通過(guò)不懈努力成為客戶(hù)在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊(cè)、網(wǎng)站空間、營(yíng)銷(xiāo)軟件、網(wǎng)站建設(shè)、瓜州網(wǎng)站維護(hù)、網(wǎng)站推廣。
GreenPlum的Segment的健康檢測(cè)及HA是由GP Master實(shí)現(xiàn)的,GP Master上面有個(gè)專(zhuān)門(mén)的進(jìn)程–FTS進(jìn)程,它可以快速檢測(cè)到Primary或者M(jìn)irror是否掛掉,并及時(shí)作出Primary/Mirror 故障切換。如果FTS掛掉了,Master將會(huì)重新fork出來(lái)一個(gè)FTS進(jì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是多線(xiàn)程的,默認(rèn)16個(gè)線(xiàn)程。
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成功之后,通過(guò)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è)。
用來(lái)故障檢測(cè)的線(xiàn)程數(shù)量,默認(rèn)為16。
兩次檢測(cè)的時(shí)間間隔,默認(rèn)為60s。如果一次檢測(cè)時(shí)間使用10s,那么剩余50s將會(huì)sleep;如果超過(guò)60s,將會(huì)直接進(jìn)入下一次檢測(cè)。
檢測(cè)Segment超時(shí)時(shí)間,默認(rèn)值: 20。
檢測(cè)Segment失敗重試次數(shù),如果超過(guò)這個(gè)次數(shù),將會(huì)認(rèn)為當(dāng)前節(jié)點(diǎn)掛掉,默認(rèn)值: 5。
Prmary和Mirror文件同步允許連接Mirror最大超時(shí)時(shí)間,如果達(dá)到這個(gè)超時(shí)時(shí)間,Primary將會(huì)認(rèn)為Mirror掛掉了,默認(rèn)值: 180s。
通過(guò)GreenPlum FTS機(jī)制學(xué)習(xí),可以了解部分MPP架構(gòu)高可用原理。同時(shí)根據(jù)自身的業(yè)務(wù),合理地配置FTS參數(shù),保障GP高可用。