2017-10-11 2 views
1

대부분의 경우 Geode는 각 데이터 구조에 대해 하나의 분할 영역을 할당합니다. 예를 들어 각 정렬 된 집합에는 키가 사용자 데이터이고 값이 인 사용자가 지정한 점수 인 점수 필드로 인덱싱 된 분할 영역이 할당됩니다. 이 디자인에 대한 두 개의 예외는 데이터 유형 String 및 HyperLogLog입니다. 모두 문자열은 단일 파티션 된 영역에 할당됩니다.redis 어댑터를 사용하여 geode에서 문자열이 아닌 데이터를 복제하는 방법

WAN 복제의 경우 게이트웨이 보낸 사람을 만든 다음이 보낸 사람을 복제 할 특정 영역에 할당합니다. Redis 어댑터를 사용하면 위와 같이 기본적으로 두 개의 영역 만 있습니다. "set"데이터 구조를위한 영역은 키를 추가 할 때만 생성됩니다. 어떻게 우리는 redis 어댑터를 사용하여 그 지역을 복제 할 수 있습니까? 나에 의해 수행 WAN 복제에 대한 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 

문자열을 복제 할 수 있지만, 다른 데이터 구조 영역 모두 할당한다. 내가 DC2에서 동일한 명령을 실행 한

mcast-port=0 
locators=1dc1[10334] 
distributed-system-id=1 
remote-locators=dc2[10334] 

gemfire.properties.

답변

0

다른 데이터 구조의 영역을 만들기 전에 Redis 어댑터 구현은 해당 영역이 정의되어 있는지 확인하기 위해 cache.xml로 나타납니다. 따라서, 서버를 시작하는 동안 cache.xml에 게이트웨이 송신자가있는 영역을 정의 할 수 있습니다. cache.xml 파일을 만들려면 this reference을 참조하십시오. this hierarchy 정보도 유용합니다. 일단 당신이 다음과 같은 명령을 실행할 수 있습니다 :

gfsh>start server --cache-xml-file=/path/to/cache.xml 
+0

당신이 그 지역을 어떻게 정의 할 수 있습니까? –

+0

원격 클러스터에서이 이름의 영역이 없으면 데이터가 버려집니다. 따라서 생성 할 수있는 영역의 이름을 제한 한 다음 두 클러스터에서 모두 만들면됩니다. – Swapnil

관련 문제