如何在HA模式下配置gemfire

时间:2017-01-13 06:40:41

标签: pivot gemfire geode

如何在ha模式下配置gemfire 在cache.xml中

<?xml version="1.0" encoding="UTF-8"?><cache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://geode.apache.org/schema/cache" xsi:schemaLocation="http://geode.apache.org/schema/cache http://geode.apache.org/schema/cache/cache-1.0.xsd" version="1.0" lock-lease="120" lock-timeout="60" search-timeout="300" is-server="false" copy-on-read="false"/>
<!-- Run one secondary server -->
<cache>
   <pool name="red1" subscription-enabled="true" subscription-redundancy="1">
   <locator host="node5" port="41111"/>
   <locator host="node6" port="41111"/>
   </pool>
</cache>

1 个答案:

答案 0 :(得分:2)

要获得HA,您需要运行多个GemFire / Geode定位器和服务器。

gfsh>start locator --name=loc1 --port=10334
gfsh>start locator --name=loc2 --port=10335
gfsh>start server --name=serv1 --server-port=40404
gfsh>start server --name=serv2 --server-port=40405
gfsh>start server --name=serv3 --server-port=40406

然后,您需要确保您的区域有冗余副本。对于分区区域,可以定义如下:

gfsh>create region --name=myPR --type=PARTITION_REDUNDANT

这将保证您能够容忍丢失一个Geode服务器。您可以为分区区域配置最多3个冗余副本,确保这些冗余副本位于不同的机架上等,请参阅docs了解如何完成此操作。复制区域在所有服务器上都具有相同的数据,因此它始终具有高可用性。

一旦配置了服务器端,就需要将客户端连接池指向定位器。客户端池将建立与可用服务器的连接,如果服务器出现故障,池将自动尝试在另一台服务器上重新执行该操作。要配置池,只需指向定位器,然后在区域定义中使用池。

<client-cache>
  <pool name="publisher" subscription-enabled="true">
    <locator host="lucy" port="41111"/> 
    <locator host="lucy" port="41111"/> 
  </pool>
...
<region name="clientRegion" ...
  <region-attributes pool-name="publisher" ...

有关详细信息,请参阅docs