提问者:小点点

对于一个使用集群配置为true的apache Geode 3服务器集群,复制的区域仅出现在1台服务器上,而不是所有3台服务器上


使用gfsh我启动了一个定位器:启动定位器--name=LocatorUAT--properties ity-file=…\config\gemfire.properties然后我用属性文件和cache. xml启动一个服务器

启动服务器-名称=ServerUAT-属性文件=…\config\gemfire.properties

其中属性有use-groust-配置=true,并且cache. xml有许多这样的区域:

然后我像这样再启动2台服务器:

启动服务器--name=ServerUAT2--server-port=40405

启动服务器--name=ServerUAT3--server-port=40406

这些都很好,我可以列出连接到集群的成员和客户端。然后我转到脉冲并查看可以看到3台服务器的拓扑,还可以看到有47个区域:

虽然当我进入server2或server3时,脉冲显示区域=0,我希望在server2和server3中看到复制的区域。为什么?

这是拥有47个区域的server1

这是0个区域的server2

这是0个区域的server3


共1个答案

匿名用户

首先:不完全支持将集群配置服务与单独的cache. xml文件混合,可能会出现几个问题,我建议在配置集群时使用单一方法(集群配置服务最好是单独的cache.xml文件,将来可能会被弃用)。

也就是说,第二个和第三个服务器似乎没有使用cache. xml文件启动,并且区域仅在您在cache.xml文件中定义它们时(或者当定位器通过集群配置服务将它们推送到它们时)在每个服务器上本地创建;这可能就是这里发生的事情。

如何解决这个问题(假设上述假设是正确的):不要为任何成员使用单独的cache. xml文件,而是使用gfsh命令创建所有区域,以便它们在集群配置服务中持久化,并在出现时“推送”到服务器。