이 섹션에서는 Cassandra를 사용하여 Cassandra의 확장 작업에 대한 일반적인 지침을 제공합니다. 프라이빗 클라우드 랙 인식용 Apigee Edge 랙을 인식합니다.
Cassandra 링 랙 인식이 중요한 이유에 대한 자세한 내용은 다음을 참조하세요. 리소스:
- 복제 (Cassandra 문서)
- 카산드라 건축 및 복제 인수 전략
랙이란 무엇인가요?
Cassandra 랙은 링 내에 있는 Cassandra 노드를 논리적으로 그룹화한 것입니다. 카산드라 복제본이 여러 논리적 그룹에 분산되도록 랙을 사용합니다. 결과적으로 작업이 단일 노드뿐만 아니라 각각 별도의 랙에 있는 여러 노드로 전송되고, 내결함성과 가용성을 제공합니다
이 섹션의 예에서는 3개의 Cassandra 랙을 사용합니다. 즉, Cassandra 랙 수를 프로덕션 토폴로지에서 Apigee 지원
프라이빗 클라우드용 Apigee Edge에 Cassandra를 기본적으로 설치할 때는 단일 논리 랙이 설치되어 있다고 가정하고 모든 그 안에 있는 데이터 센터의 노드에 관리됩니다 이 구성은 설치와 관리가 간단하지만 이러한 노드 중 하나에서 작업이 실패하면 실패하기 쉽습니다.
다음 이미지는 Cassandra 링의 기본 구성을 보여줍니다.
<ph type="x-smartling-placeholder">![랙 1개(노드 3개)](https://docs.apigee.com/static/private-cloud/images/cassandra-3nodes1rack.png?authuser=2&hl=ko)
보다 강력한 구성에서는 각 노드가 별도의 랙 및 운영에 할당될 것입니다. 각 랙의 복제본에서도 실행됩니다
다음 이미지는 3노드 링을 보여줍니다. 이 이미지는 작업이 실행되는 순서를 보여줍니다. 링을 통해 복제된 네트워크 (시계 방향으로)를 확인할 수 있으며, 동일한 네트워크에 있는 두 개의 노드가 없다는 랙:
<ph type="x-smartling-placeholder">![랙 3개, 각 랙에 노드 1개](https://docs.apigee.com/static/private-cloud/images/cassandra-3nodering.png?authuser=2&hl=ko)
이 구성에서 작업은 노드로 전송되지만 해당 노드의 복제본으로도 전송됩니다. 다른 랙에 장착합니다 (시계 방향 순서).
랙 인식 추가 (노드 3개 사용)
Private Cloud용 Apigee Edge의 모든 프로덕션 설치 토폴로지에는 3개 이상의 Cassandra 노드가 있습니다. 이 섹션에서는 'IP1', 'IP2' 및 'IP3'입니다. 기본적으로 이러한 각 노드는 동일한 랙에 있으므로 'ra-1').
이 섹션에서는 모든 작업이 동일한 작업을 수행하도록 Cassandra 노드를 별도의 랙에 할당하는 방법을 설명합니다. 링 내에서 별도의 논리적 그룹으로 복제본 노드로 전송됩니다
설치 중에 Cassandra 노드를 여러 랙에 할당하려면 다음 안내를 따르세요.
- 설치 프로그램을 실행하기 전에 Cassandra 노드에 로그인하고
다음 자동 구성 파일을 사용하여 수정합니다.
/opt/silent.conf
파일이 없으면 파일을 만들고 'apigee'를 사용자를 소유자로 지정합니다.
- DNS 또는 도메인이 아닌 공백으로 구분된 IP 주소 목록인
CASS_HOSTS
속성을 수정합니다. 호스트 이름 항목).CASS_HOSTS="IP_address:data_center_number,rack_number [...]"
기본값은 3노드 Cassandra 링이며 각 노드가 랙 1과 데이터에 할당됩니다. 중앙 1번에 위치합니다.
CASS_HOSTS="IP1:1,1 IP2:1,1 IP3:1,1"
- 노드 2가 랙 2에 할당되고 노드 3이 랙 2에 할당되도록 랙 할당을 변경합니다.
랙 3에 연결합니다.
CASS_HOSTS="IP1:1,1 IP2:1,2 IP3:1,3"
랙 할당을 변경하여 Cassandra에 두 개의 추가 논리 이벤트를 생성하도록 지시합니다. 그룹화 (랙)를 통해 배포되며, 이 서브넷은 단일 IP에서 수신한 모든 작업을 첫 번째 노드입니다
CASS_HOSTS
구성 속성 사용에 관한 자세한 내용은 다음을 참고하세요. 에지 구성 파일 참조 - 구성 파일에 변경사항을 저장하고 다음 명령어를 실행하여 설치합니다.
업데이트된 구성으로 Cassandra를 실행합니다.
/opt/apigee/apigee-setup/bin/setup.sh -p c -f path/to/silent/config
예를 들면 다음과 같습니다.
/opt/apigee/apigee-setup/bin/setup.sh -p c -f /opt/silent.conf
- 링에 있는 각 Cassandra 노드에 대해 노드 순서 순으로 이 절차를 반복합니다.
CASS_HOSTS
속성에서 할당됩니다. 이 경우 자체 프로젝트에 Cassandra를 다음과 같습니다. <ph type="x-smartling-placeholder">- </ph>
- 노드 1 (IP1)
- 노드 2 (IP2)
- 노드 3 (IP3)
설치 후에는 Cassandra 구성을 확인해야 합니다.
Cassandra 구성 확인
랙 인식 Cassandra 구성을 설치한 후 노드가
다른 랙에 할당된 nodetool status
명령을 사용하여
다음 예는 다음과 같습니다.
/opt/apigee/apigee-cassandra/bin/nodetool status
(Cassandra 노드 중 하나에서 이 명령어를 실행합니다.)
결과는 다음과 유사해야 합니다. 여기에서 Rack 열은 는 각 노드에 대해 서로 다른 랙 ID를 보여줍니다.
Datacenter: dc-1 ======================== Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns Host ID Rack UN IP1 737 MB 256 ? 554d4498-e683-4a53-b0a5-e37a9731bc5c ra-1 UN IP2 744 MB 256 ? cf8b7abf-5c5c-4361-9c2f-59e988d52da3 ra-2 UN IP3 723 MB 256 ? 48e0384d-738f-4589-aa3a-08dc5bd5a736 ra-3
Cassandra에 대해 JMX 인증을 사용하도록 설정한 경우 사용자 이름과
nodetool
의 비밀번호입니다. 자세한 내용은
nodetool을 사용하여 클러스터 노드 관리
6노드 링 설치
추가 중복성을 위해 Cassandra 링을 6개 노드로 확장할 수 있습니다. 이 경우 3개의 랙 각각에 2개의 노드를 할당합니다. 이 구성에는 3개의 노드가 추가로 필요합니다. 노드 4 (IP4), 노드 5 (IP5), 노드 6 (IP6)
다음 이미지는 링에서 작업이 복제되는 순서를 보여줍니다. 복제 중에 같은 노드에 있는 2개의 인접한 노드가 없다는 사실을 랙:
<ph type="x-smartling-placeholder">![랙 3개, 각 랙에 노드 2개](https://docs.apigee.com/static/private-cloud/images/cassandra-6nodering.png?authuser=2&hl=ko)
이 구성에서 각 노드에는 다른 두 랙에 하나씩 총 두 개의 복제본이 있습니다. 대상 랙 1의 노드 1에는 랙 2와 랙 3의 복제본이 있습니다. 노드 1에 전송되는 작업도 다른 랙의 복제본에 전송됩니다.
3노드 Cassandra 링을 6노드 Cassandra 링으로 확장하려면 자동 구성 파일에서 다음과 같이 설정합니다.
CASS_HOSTS="IP1:1,1 IP4:1,3 IP2:1,2 IP5:1,1 IP3:1,3 IP6:1,2"
3노드 링과 마찬가지로 Cassandra는
CASS_HOSTS
속성에 표시됩니다.
- 노드 1 (IP1)
- 노드 4 (IP4)*
- 노드 2 (IP2)
- 노드 5 (IP5)
- 노드 3 (IP3)
- 노드 6 (IP6)
* 설정 유틸리티를 실행하기 전에 자동 구성 파일에서 변경사항을 적용합니다. 네 번째 노드 (Cassandra 설치 순서의 두 번째 머신)에서 실행되어야 합니다.
노드 12개로 확장
내결함성과 가용성을 더욱 높이기 위해 Cassandra 수를 늘릴 수 있습니다. 6개에서 12개까지 링에 있는 노드입니다 이 구성에는 추가 노드 6개 (IP7~ IP12).
다음 이미지는 링에서 작업이 복제되는 순서를 보여줍니다. 복제 중에 같은 노드에 있는 2개의 인접한 노드가 없다는 사실을 랙:
<ph type="x-smartling-placeholder">![랙 3개, 각 랙에 노드 4개](https://docs.apigee.com/static/private-cloud/images/cassandra-12nodering.png?authuser=2&hl=ko)
12노드 링을 설치하는 절차는 3~6노드 링을 설치하는 과정과 비슷합니다.
CASS_HOSTS
를 지정된 값으로 설정하고 지정된 순서로 설치 프로그램을 실행합니다.
12노드 Cassandra 링으로 확장하려면 자동 구성 파일:
CASS_HOSTS="IP1:1,1 IP7:1,2 IP4:1,3 IP8:1,1 IP2:1,2 IP9:1,3 IP5:1,1 IP10:1,2 IP3:1,3 IP11:1,1 IP6:1,2 IP12:1,3"
3노드 및 6노드 링과 마찬가지로 노드에서 다음 순서로 구성 파일에 노드가 표시됩니다.
- 노드 1 (IP1)
- 노드 7 (IP7)*
- 노드 4 (IP4)
- Node 8 (IP8)
- 노드 2 (IP2)
- 노드 9 (IP9)
- 노드 5 (IP5)
- 노드 10 (IP10)
- 노드 3 (IP3)
- 노드 11 (IP11)
- 노드 6 (IP6)
- 노드 12 (IP12)
* 7번째 노드( Cassandra 설치 순서).