1.greenplum的两种节点分布模式
(6台主机,每台4个segment,两两primary、mirror)
①grouped mirror模式:
(grouped模式,主机的mirror节点全部放在下一个主机上)
②spread mirror模式:
(spread模式,主机的第一个mirror在下个主机,第二个mirror在次下个主机,第三mirror在次次下个主机....)
2.初始化的mirror模式:
1)初始化为grouped模式
在部署配置gp的过程中
执行初始化命令:gpinitsystem ,默认的节点分布方式为grouped
[gpadmin@master ~]$gpinitsystem -c gpinitsystem_config -h seg_hosts -s standby
2)在初始化时改为spread模式
在部署配置gp的过程中
执行初始化命令:gpinitsystem加上
–S
,节点分布方式为spread
[gpadmin@master ~]$gpinitsystem -c gpinitsystem_config -h seg_hosts -s standby
–S
3)主机数量少的情况(无法改设spread)
假设segment主机为两台,节点数为2;执行初始化命令gpinitsystem加上
–S
是无法形成spread模式,并且会在执行初始化命令之后报错,原因由于主机个数没有比primary节点数大1。
3.对于两种模式,添加segment主机节点的情况:
(排除自行修改
gpexpand_inputfile_xxxxx_xxxx文件的情况,可以自行添加主机或节点
)
1)grouped模式
新增的主机数必须大于等于2,确保新增primary和mirror在不同的机器上。
2)spread模式
新增主机数至少比每台主机上的primary数大1,确保mirror平均分配在其他主机上(参照图例理解)。
4.两种模式的优缺:
①grouped mirror:
如果其中一台挂掉,那么拥有该主机mirror的机器负载加重一倍;在segment主机数非常多的情况下,至少允许两台主机挂掉
②spread mirror:
如果其中一台挂掉,那么拥有该主机mirror的机器负载均衡,没有grouped的压力大;在segment主机数非常多的情况下,只可以挂掉一台主机
(一般情况,greenplum同时死机两台概率很低,死机一台概率较高,建议spread)