Cassandra 노드 추가

Private Cloud용 Edge v. 4.17.01

이 문서에서는 Private Cloud 설치용 기존 Edge에 새 Cassandra 노드 3개를 추가하는 방법을 설명합니다.

기존 Edge 설치에 Cassandra 노드를 1~2개 추가할 수 있지만 Apigee에서는 노드를 한 번에 3개 추가하는 것이 좋습니다.

Cassandra 노드의 시스템 요구사항 목록은 설치 요구사항을 참고하세요.

기존 Edge 구성

프로덕션 시스템에 지원되는 모든 Edge 토폴로지는 Cassandra 노드 3개를 사용하도록 지정합니다. 3개의 노드는 아래와 같이 구성 파일의 CASS_HOSTS 속성에 지정됩니다.

IP1=10.10.0.1
IP2=10.10.0.2
IP3=10.10.0.3
HOSTIP=$(hostname -i)
ADMIN_EMAIL=opdk@google.com 
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt 
MSIP=$IP1 
USE_LDAP_REMOTE_HOST=n 
LDAP_TYPE=1
APIGEE_LDAPPW=secret 
BIND_ON_ALL_INTERFACES=y
MP_POD=gateway
REGION=dc-1 
ZK_HOSTS="$IP1 $IP2 $IP3" 
ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3" 
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1" 
SKIP_SMTP=n
SMTPHOST=smtp.example.com 
SMTPUSER=smtp@example.com  
SMTPPASSWORD=smtppwd       

REGION 속성은 리전 이름을 'dc-1'로 지정합니다. 새 Cassandra 노드를 추가할 때 이 정보가 필요합니다.

새 Cassandra 노드 3개를 추가하도록 구성 파일 수정

이 예시에서 새로운 Cassandra 노드 3개는 다음 IP 주소에 있습니다.

  • 10.10.0.14
  • 10.10.0.15
  • 10.10.0.16

먼저 Edge 구성 파일을 업데이트하여 새 노드를 추가해야 합니다.

IP1=10.10.0.1
IP2=10.10.0.2
IP3=10.10.0.3
# Add the new node IP addresses.
IP14=10.10.0.14
IP15=10.10.0.15
IP16=10.10.0.16
HOSTIP=$(hostname -i)
ADMIN_EMAIL=opdk@google.com 
...
# Update CASS_HOSTS to add each new node after an existing nodes. 
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1 $IP14:1,1 $IP2:1,1 $IP15:1,1 $IP3:1,1 $IP16:1,1" 

중요: 새 Cassandra 노드를 각각 기존 노드 뒤 CASS_HOSTS에 추가합니다.

이렇게 하면 기존 노드가 초기 토큰 설정을 유지하고 새 노드의 초기 토큰이 기존 노드의 토큰 값 사이에 있게 됩니다.

Edge 구성

구성 파일을 수정한 후에는 다음을 수행해야 합니다.

  • 기존 Cassandra 노드 재구성
  • 새 노드에 Cassandra 설치
  • 관리 서버 재구성

기존 Cassandra 노드 재구성

기존 Cassandra 노드에서 다음을 실행합니다.

  1. '-p c' 프로필과 새 구성 파일을 사용하여 setup.sh를 다시 실행합니다.
    > /opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile

새 노드에 Cassandra 설치

새 Cassandra 노드마다 다음을 실행합니다.

  1. 3개의 노드에 Cassandra를 설치합니다.
    1. Edge apigee-setup 유틸리티 설치에 설명된 대로 첫 번째 노드에 apigee-setup을 설치합니다.
    2. 업데이트된 구성 파일을 사용하여 첫 번째 노드에 Cassandra를 설치합니다.
      > /opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile
    3. 나머지 새 Cassandra 노드에 이 두 단계를 반복합니다.
  2. REGION 속성으로 구성 파일에 설정된 리전 이름을 지정하여 새 Cassandra 노드 3개를 다시 빌드합니다. 이 예에서는 'dc-1'입니다.
    1. 첫 번째 노드에서 다음을 실행합니다.
      > /opt/apigee/apigee-cassandra/bin/nodetool -h nodeIP rebuild dc-1
      여기서 nodeIP는 Cassandra 노드의 IP 주소입니다.
    2. 나머지 새 Cassandra 노드에서 이 단계를 반복합니다.

관리 서버 재구성

관리-서버 노드에서

  1. setup.sh를 다시 실행하여 새로 추가된 Cassandra 노드의 관리 서버를 업데이트합니다.
    > /opt/apigee/apigee-setup/bin/setup.sh -p ms -f updatedConfigFile

모든 라우터 및 메시지 프로세서 다시 시작

  1. 모든 라우터:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-router restart
  2. 모든 메시지 프로세서에서:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-message-processor restart

기존 Cassandra 노드의 사용 가능한 메모리

기존 Cassandra 노드에서 nodetool cleanup 명령어를 실행하여 메모리를 확보합니다.

> /opt/apigee/apigee-cassandra/bin/nodetool -h cassandraIP 정리