在大多数情况下,Geode为每个数据结构分配一个分区区域。例如,每个排序集都分配了自己的分区区域,其中键是用户数据,值是用户提供的分数,条目按分数进行索引。这种设计的两个例外是数据类型String和HyperLogLog。所有字符串都分配给单个分区区域。
对于WAN复制,我们创建一个网关-发送方,然后将此发件人分配到特定区域进行复制。使用redis适配器,在默认情况下,我们只有两个区域,如上面所写。因为只有当我们为"set“数据结构添加一个键时,才会创建它的区域。我们如何用redis适配器复制这些区域?https://cwiki.apache.org/confluence/display/GEODE/GemFire+Multi-site+%28WAN%29+Architecture
由我完成的广域网复制步骤:
start locator --name=dc1 --properties-file=gemfire.properties
start server --name=redis --redis-port=11211 --J=-Dgemfireredis.regiontype=REPLICATE
create gateway-sender --id=dc1 --remote-distributed-system-id=3
create gateway-receiver
现在,我列出了目前可用的区域。
Cluster-1 gfsh>list regions
List of regions
---------------
ReDiS_HlL
ReDiS_StRiNgS
将两个区域分配给网关-发件人。
alter region --name=ReDiS_StRiNgS --gateway-sender-id=dc1
它能够复制字符串,但不能复制其他数据结构。
gemfire.properties
mcast-port=0
locators=1dc1[10334]
distributed-system-id=1
remote-locators=dc2[10334]
我在dc2上运行了相同的命令。
发布于 2017-10-11 17:41:45
在为其他数据结构创建区域之前,Redis适配器实现看起来像cache.xml,以查看是否定义了该区域。因此,在您的示例中,您可以在启动服务器时在cache.xml中定义一个具有网关发送方的区域。请参阅本参考来创建cache.xml文件这个等级信息也将是有用的。一旦有了,就可以运行以下命令:
gfsh>start server --cache-xml-file=/path/to/cache.xml
https://stackoverflow.com/questions/46691221
复制相似问题