如何解决对于具有use-cluster-configuration的apache geode 3服务器集群,复制的区域仅出现在1台服务器上,而不是全部3台
使用gfsh
启动一个定位器:start locator --name=LocatorUAT --properties-file=..\config\gemfire.properties
然后,我使用属性文件和cache.xml启动服务器
start server --name=ServerUAT --properties-file=..\config\gemfire.properties
其中的属性具有use-cluster-configuration=true
,并且cache.xml具有许多这样的区域:
<region name="deal" refid="REPLICATE_PERSISTENT"><region-attributes disk-store-name="deal" disk-synchronous="false"></region-attributes></region>
然后我再启动2台这样的服务器:
start server --name=ServerUAT2 --server-port=40405
start server --name=ServerUAT3 --server-port=40406
这些都很好,我可以列出连接到集群的成员和客户端。然后,我进行脉动并查看拓扑,在其中可以看到3台服务器,还看到有47个区域:
尽管当我逐步进入server2或server3时,脉冲显示的区域为0,并且我希望看到server2和server3中的复制区域。为什么呢?
这是具有47个区域的server1
这是具有0个区域的server2
这是具有0个区域的server3
解决方法
第一件事:不完全支持将群集配置服务与单独的cache.xml
文件混合使用,并且可能会出现一些问题,我建议在配置群集时使用一种方法(最好将群集配置服务配置为单个cache.xml
文件将来可能会被弃用。
也就是说,第二台和第三台服务器似乎没有使用cache.xml
文件启动,并且只要在cache.xml
文件中定义了区域,就只会在每台服务器上本地创建区域(或者每当定位器通过集群配置服务将它们推送到它们时);这可能就是这里发生的事情。
如何解决此问题(假设上述假设正确):不要对任何成员使用单独的cache.xml
文件,而是使用gfsh
命令创建所有区域,以使它们持久化在群集配置服务中,并在服务器出现时“推送”到服务器。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。