在大多數情況下,Geode會爲每個數據結構分配一個分區。例如,每個分類組被分配了其自己的分區,其中關鍵字是用戶數據,並且值是用戶提供的分數,並且條目是通過分數索引的。這個設計的兩個例外是數據類型String和HyperLogLog。全部 字符串被分配到單個分區。如何使用redis適配器複製geode中的非字符串數據
對於WAN複製,我們創建一個網關發件人,然後將此發件人分配給特定區域進行復制。使用redis適配器,我們在默認情況下只有兩個區域,如上所述。由於只有在爲其添加密鑰時纔會創建「設置」數據結構的區域。我們如何使用redis適配器複製這些區域? https://cwiki.apache.org/confluence/display/GEODE/GemFire+Multi-site+%28WAN%29+Architecture
步驟由我做WAN複製:
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相同的命令。
當你事先不知道地區的名字時,你怎麼定義該地區? –
在遠程集羣上,如果具有該名稱的區域不存在,則數據將被丟棄。因此,您真的需要限制可以創建的區域的名稱,然後在兩個羣集上創建它們。 – Swapnil