greenplum 基于docker跨主机搭建 mirror只有在同宿主机的才初始化成功
现有两台宿主机 ,每台宿主机下docker 生成容器
n1
gp-master
gp-sdw1
gp-sdw2
n2
gp-sdw3
gp-sdw4
各个容器间网络 ssh免密登录都是OK的。
但是初始化完成后 ,mirror只有在同宿主机的才初始化成功, 不同宿主机的都失败了。 在这种是我为何
我的网络配置是用的route add配置的。
cat /home/gpadmin/config/gpinitsystem_config 这是我的初始化文件
ARRAY_NAME="Greenplum"
MACHINE_LIST_FILE=/home/gpadmin/config/seg_hosts
SEG_PREFIX=gpseg
PORT_BASE=33000
declare -a DATA_DIRECTORY=(/home/gpadmin/gpdata/gpdatap1 /home/gpadmin/gpdata/gpdatap2 /home/gpadmin/gpdata/gpdatap3)
MASTER_HOSTNAME=gp-mdw
MASTER_DIRECTORY=/home/gpadmin/gpdata/gpmaster
MASTER_PORT=8201
TRUSTED_SHELL=/usr/bin/ssh
MIRROR_PORT_BASE=43000
REPLICATION_PORT_BASE=34000
MIRROR_REPLICATION_PORT_BASE=44000
declare -a MIRROR_DATA_DIRECTORY=(/home/gpadmin/gpdata/gpdatam1 /home/gpadmin/gpdata/gpdatam2 /home/gpadmin/gpdata/gpdatam3)
在 Greenplum 基于 Docker 跨主机搭建 mirror 时,如果只有同宿主机的容器才能初始化成功,可能是因为网络配置问题导致的。
可以尝试以下解决方案:
检查宿主机之间的网络连通性,确保容器之间可以相互通信。
检查网络配置文件,确保容器之间的通信端口已经被正确配置,尤其是各个容器间的网络ssh免密登录都是OK的
如果使用的是route add配置的网络,请检查这些路由是否已经被正确添加到了每个容器中
也可以尝试在初始化之前先启动所有容器,确保容器之间能够通信
检查Greenplum配置文件,确保所有配置信息正确,尤其是在你的配置文件中指定了所有的mirror容器的IP地址、主机名称、端口号等信息