1、spread與grouped mirrornode
GreenPlum在處理primary與mirror segment的關聯匹配時,提供spread與grouped兩種方式,通過反覆測試能夠看出這兩種在一個物理服務器上同時存在多個mirror實例時會產生區別:服務器
① grouped模式:將一個物理服務器上的這個N個mirror instance先捆綁爲一個組,而後將這個組再與primary instance進行關聯,以下圖:app
② spread模式:按照測試結果,我理解的是,它將這N個mirror instance 「隨機」 的匹配指向primary instance,以下圖:測試
2、mirrorspa
因爲我是經過源碼編譯安裝,而後按照以下順序,手動建立配置文件進行操做server
>> 最小化安裝(1個master + 1個primary)ci
>> 添加 master standbyinput
>> 添加mirror 匹配primary源碼
>> 添加 primary && mirror 組it
而後,在進行第四步繼續擴展實例時,經過gpexpand命令建立配置文件,會給出以下提示:
The current system appears to be non-standard. The number of primary segments is not consistent across all nodes: seg_1 != mir_1.gpexpand may not be able to symmetrically distribute the new segments appropriately. It is recommended that you specify your own input file with appropriate values. |
後來,通過驗證發現,因爲我是手動配置的mirror segment,且沒有配置「across」交叉式的 primary -- mirror ,纔出現這個問題,而且在後續輸入server host以後,會提示相似於可用節點數不足的錯誤。
關於剛剛說的「across」交叉mirror,實際是這種情形:規劃的primary服務器(如node1)與mirror服務器(node2),在完整的集羣環境中兩者均作primary與mirror節點,且兩者交叉關聯。
3、節點配置文件
在手動建立配置文件時,必定要注意:
>> dbid的連續性
>> content的連續性與一致性
>> 數據文件目錄編號的連續性(這個編號能夠按照content的值來定義)