我正在尝试设置具有两个节点/主机的Pivotal Gemfire集群。恰好是两个不同的Unix服务器。背后的想法是在每个主机中创建1个定位器和1个缓存服务器,定位器应在缓存服务器之间进行负载平衡。将在两个缓存服务器中创建一个复制的区域。当客户端使用gfsh或Java API在缓存服务器中创建/更新区域时,应将其复制到其他区域
使用gfsh,我能够在host_A和host_B中启动定位器(定位器1)和缓存服务器(服务器1)。我在两个服务器上都创建了一个区域(RegionA)。
这就是我要做的吗?关键的教程讨论在同一台计算机上有一个定位器和多个缓存服务器。我找不到任何有关多服务器/主机配置的适当资源。
在两个主机中启动服务器之后。我正在像这样在每个主机中启动服务器。
启动服务器--name = server1 --locators = host_A [10334],host_B [10334] --group = group1 --server-port = 40406
启动服务器--name = server2 --locators = host_A [10334],host_B [10334] --group = group1 --server-port = 40406
当我在gfsh中“列出成员”时,主机B显示(定位器2,服务器1 [来自主机A],服务器2),但是主机A仅显示定位器1。理想情况下,我期望两台机器中的2个locator和2个服务器作为成员。那不对吗?
最佳答案
这些步骤看起来很好,使用启动的集群时是否遇到任何问题或无法正常工作?您可以通过Pivotal GemFire in 15 Minutes or Less来了解如何启动定位器和服务器,以及如何与它们进行交互。我能想到的唯一的额外项目(由于所有成员都是在同一gfsh
会话中本地启动的,因此在上一个链接中未提及)是在启动成员时需要正确配置--locators
参数,有关如何启动的更多信息可以在How Member Discovery Works和Configuring Peer-to-Peer Discovery中找到该作品。
仅供参考,每个主机可以有任意数量的成员,除了主机本身的实际物理资源(内存,磁盘,端口,网络吞吐量等)之外,没有其他隐式限制。但是请记住,始终最好让每个主机只有一个成员,以实现数据和定位器服务的最高可靠性和可用性。
希望这会有所帮助,欢呼。