【发布时间】:2018-02-27 07:08:12
【问题描述】:
我正在尝试在带有 2 个服务器节点和一个定位器的 docker 中创建一个 Apache Geode 集群。在我尝试使第二个节点(geodesrvB)与定位器连接之前,一切似乎都很好。连接失败,我一定错过了什么。我一直在将我的 bash 脚本分解为单个命令以尝试隔离问题。下面是一些命令,显示了他们给我的一些初始命令和问题。非常感谢任何帮助!
docker run -d -it -p 162.243.207.235:10335:10334 -p 162.243.207.235:1097:1099 -p 162.243.207.235:40412:40411 --name geodesrvA apachegeode/geode
geodesrvB 失败,它说端口 10334 已经分配。没有为 geodesrvB 绑定端口 10334,稍后连接到定位器时连接被拒绝
docker run -d -it -p 162.243.207.235:1098:1099 -p 162.243.207.235:10336:10334 --name geodesrvB apachegeode/geode
docker run -it apachegeode/geode
docker exec -it geodesrvA bash -c 'gfsh -e "start locator --name=locator1 --J=-Dgemfire.jmx-manager-hostname-for-clients=162.243.207.235 --hostname-for-clients=162.243.207.235" -e "start server --name=serverA"'
表示 -e 无效命令,除非以分离方式运行 (-d)...以分离方式运行不会提供任何错误
docker exec -d -it geodesrvB bash -c 'gfsh -e "--locator=localhost[10334] start server --name=serverB"'
docker exec -it geodesrvA bash -c 'gfsh -e "connect --locator=localhost[10334]" -e"list members"'
连接定位器时拒绝连接到端口 10334
docker exec -it geodesrvB bash -c 'gfsh -e "connect --locator=localhost[10334]" -e "list members"'
docker exec -it geodesrvA bash -c 'gfsh -e "connect --locator=localhost[10334]" -e"create region --name=regionA --type=REPLICATE_PERSISTENT"';
docker exec -it geodesrvA bash -c 'gfsh -e "connect --locator=localhost[10334]" -e"list regions"';
说与 10334 的连接被拒绝
docker exec -it geodesrvB bash -c 'gfsh -e "connect --locator=localhost[10334]" -e"list regions"';
【问题讨论】:
-
请编辑您的问题,使其更具可读性。
-
您是先启动定位器吗?定位器是否正在启动 gfsh 连接的 JMX 管理器?
标签: linux bash docker docker-networking geode