Cassandra 랙 지원 추가

이 섹션에서는 Cassandra를 사용하여 Cassandra의 확장 작업에 대한 일반적인 지침을 제공합니다. 프라이빗 클라우드 랙 인식용 Apigee Edge 랙을 인식합니다.

Cassandra 링 랙 인식이 중요한 이유에 대한 자세한 내용은 다음을 참조하세요. 리소스:

랙이란 무엇인가요?

Cassandra 랙은 링 내에 있는 Cassandra 노드를 논리적으로 그룹화한 것입니다. 카산드라 복제본이 여러 논리적 그룹에 분산되도록 랙을 사용합니다. 결과적으로 작업이 단일 노드뿐만 아니라 각각 별도의 랙에 있는 여러 노드로 전송되고, 내결함성과 가용성을 제공합니다

이 섹션의 예에서는 3개의 Cassandra 랙을 사용합니다. 즉, Cassandra 랙 수를 프로덕션 토폴로지에서 Apigee 지원

프라이빗 클라우드용 Apigee Edge에 Cassandra를 기본적으로 설치할 때는 단일 논리 랙이 설치되어 있다고 가정하고 모든 그 안에 있는 데이터 센터의 노드에 관리됩니다 이 구성은 설치와 관리가 간단하지만 이러한 노드 중 하나에서 작업이 실패하면 실패하기 쉽습니다.

다음 이미지는 Cassandra 링의 기본 구성을 보여줍니다.

<ph type="x-smartling-placeholder">
</ph> 랙 1개(노드 3개)
(그림 1) 기본 구성: 단일 네트워크의 모든 노드 랙

보다 강력한 구성에서는 각 노드가 별도의 랙 및 운영에 할당될 것입니다. 각 랙의 복제본에서도 실행됩니다

다음 이미지는 3노드 링을 보여줍니다. 이 이미지는 작업이 실행되는 순서를 보여줍니다. 링을 통해 복제된 네트워크 (시계 방향으로)를 확인할 수 있으며, 동일한 네트워크에 있는 두 개의 노드가 없다는 랙:

<ph type="x-smartling-placeholder">
</ph> 랙 3개, 각 랙에 노드 1개
(그림 2) 랙 인식 구성: 노드 3개(각각 하나씩) 랙

이 구성에서 작업은 노드로 전송되지만 해당 노드의 복제본으로도 전송됩니다. 다른 랙에 장착합니다 (시계 방향 순서).

랙 인식 추가 (노드 3개 사용)

Private Cloud용 Apigee Edge의 모든 프로덕션 설치 토폴로지에는 3개 이상의 Cassandra 노드가 있습니다. 이 섹션에서는 'IP1', 'IP2' 및 'IP3'입니다. 기본적으로 이러한 각 노드는 동일한 랙에 있으므로 'ra-1').

이 섹션에서는 모든 작업이 동일한 작업을 수행하도록 Cassandra 노드를 별도의 랙에 할당하는 방법을 설명합니다. 링 내에서 별도의 논리적 그룹으로 복제본 노드로 전송됩니다

설치 중에 Cassandra 노드를 여러 랙에 할당하려면 다음 안내를 따르세요.

  1. 설치 프로그램을 실행하기 전에 Cassandra 노드에 로그인하고 다음 자동 구성 파일을 사용하여 수정합니다.
    /opt/silent.conf

    파일이 없으면 파일을 만들고 'apigee'를 사용자를 소유자로 지정합니다.

  2. 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"
  3. 노드 2가 랙 2에 할당되고 노드 3이 랙 2에 할당되도록 랙 할당을 변경합니다. 랙 3에 연결합니다.
    CASS_HOSTS="IP1:1,1 IP2:1,2 IP3:1,3"

    랙 할당을 변경하여 Cassandra에 두 개의 추가 논리 이벤트를 생성하도록 지시합니다. 그룹화 (랙)를 통해 배포되며, 이 서브넷은 단일 IP에서 수신한 모든 작업을 첫 번째 노드입니다

    CASS_HOSTS 구성 속성 사용에 관한 자세한 내용은 다음을 참고하세요. 에지 구성 파일 참조

  4. 구성 파일에 변경사항을 저장하고 다음 명령어를 실행하여 설치합니다. 업데이트된 구성으로 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
  5. 링에 있는 각 Cassandra 노드에 대해 노드 순서 순으로 이 절차를 반복합니다. CASS_HOSTS 속성에서 할당됩니다. 이 경우 자체 프로젝트에 Cassandra를 다음과 같습니다. <ph type="x-smartling-placeholder">
      </ph>
    1. 노드 1 (IP1)
    2. 노드 2 (IP2)
    3. 노드 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">
</ph> 랙 3개, 각 랙에 노드 2개
(그림 3) 6노드 Cassandra 링: 랙 3개

이 구성에서 각 노드에는 다른 두 랙에 하나씩 총 두 개의 복제본이 있습니다. 대상 랙 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. 노드 1 (IP1)
  2. 노드 4 (IP4)*
  3. 노드 2 (IP2)
  4. 노드 5 (IP5)
  5. 노드 3 (IP3)
  6. 노드 6 (IP6)

* 설정 유틸리티를 실행하기 전에 자동 구성 파일에서 변경사항을 적용합니다. 네 번째 노드 (Cassandra 설치 순서의 두 번째 머신)에서 실행되어야 합니다.

노드 12개로 확장

내결함성과 가용성을 더욱 높이기 위해 Cassandra 수를 늘릴 수 있습니다. 6개에서 12개까지 링에 있는 노드입니다 이 구성에는 추가 노드 6개 (IP7~ IP12).

다음 이미지는 링에서 작업이 복제되는 순서를 보여줍니다. 복제 중에 같은 노드에 있는 2개의 인접한 노드가 없다는 사실을 랙:

<ph type="x-smartling-placeholder">
</ph> 랙 3개, 각 랙에 노드 4개
(그림 4) 12노드 Cassandra 링: 3개의 노드 각각에 4개의 노드 랙

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. 노드 1 (IP1)
  2. 노드 7 (IP7)*
  3. 노드 4 (IP4)
  4. Node 8 (IP8)
  5. 노드 2 (IP2)
  6. 노드 9 (IP9)
  7. 노드 5 (IP5)
  8. 노드 10 (IP10)
  9. 노드 3 (IP3)
  10. 노드 11 (IP11)
  11. 노드 6 (IP6)
  12. 노드 12 (IP12)

* 7번째 노드( Cassandra 설치 순서).