ZooKeeper 노드 추가

Private Cloud용 Edge v4.18.01

이 문서에서는 기존 프라이빗 클라우드용 Edge 설치에 새 ZooKeeper 노드 3개를 추가하는 방법을 설명합니다.

기존 Edge 설치에 주키퍼 노드를 한 개 또는 두 개 추가할 수 있지만, 아래에 설명된 대로 항상 동물원키퍼 투표자 노드 수가 홀수인지 확인해야 합니다.

기존 Edge 구성

프로덕션 시스템에 지원되는 모든 Edge 토폴로지는 ZooKeeper 노드 3개를 사용하도록 지정합니다. 세 노드는 아래와 같이 구성 파일의 ZK_HOSTSZK_CLIENT_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 
MP_POD=gateway
REGION=dc-1 
ZK_HOSTS="$IP1 $IP2 $IP3" 
ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3" 
CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1" 
SKIP_SMTP=n
SMTPHOST=smtp.example.com 
SMTPUSER=smtp@example.com  
SMTPPASSWORD=smtppwd       

각 항목의 의미는 다음과 같습니다.

  • ZK_HOSTS는 ZooKeeper 노드의 IP 주소 또는 DNS 이름을 지정합니다. IP 주소 또는 DNS 이름은 모든 ZooKeeper 노드에 동일한 순서로 나열되어야 합니다. 다중 데이터 센터 환경에서 두 데이터 센터의 모든 ZooKeeper 노드를 나열합니다.
  • ZK_CLIENT_HOSTS는 이 데이터 센터에서 사용하는 ZooKeeper 노드의 IP 주소 또는 DNS 이름을 지정합니다. IP 주소 또는 DNS 이름은 모든 ZooKeeper 노드에 동일한 순서로 나열되어야 합니다.

    단일 데이터 센터 설치에서 이는 ZK_HOSTS에 지정된 것과 동일한 노드입니다. 다중 데이터 센터 환경에서 이 데이터 센터의 ZooKeeper 노드만 나열합니다.

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

이 예시에서 새 ZooKeeper 노드 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 ZK_HOSTS to add each new node after an existing nodes. 
ZK_HOSTS="$IP1 $IP2 $IP3 $IP14 $IP15 $IP16:observer" 
# Update ZK_Client_HOSTS to add each new node after an existing nodes. 
ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3 $IP14 $IP15 $IP16" 

ZK_HOSTS의 마지막 노드를 ':observer' 수정자로 표시합니다. ':observer' 한정자가 없는 노드를 'voters'라고 합니다. 구성에 '투표자'가 홀수여야 합니다. 따라서 이 구성에는 ZooKeeper 투표자 5명과 관찰자 1명이 있습니다.

노드를 ZK_HOSTSZK_CLIENT_HOSTS에 동일한 순서로 추가해야 합니다. 단, ZK_CLIENT_HOSTS를 설정할 때는 ':observer' 수정자를 생략합니다.

Edge 구성

구성 파일을 수정한 후에는 다음 작업을 모두 실행해야 합니다.

새 노드에 ZooKeeper 설치

  1. Edge apigee-setup 유틸리티 설치에 설명된 대로 첫 번째 노드에 apigee-setup을 설치합니다.
  2. 다음 명령어를 사용하여 첫 번째 노드에 ZooKeeper를 설치합니다.
    > /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper install
    > /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper setup -f updatedConfigFile
  3. 나머지 새 ZooKeeper 노드에 1단계와 2단계를 반복합니다.

기존 주키퍼 노드 재구성

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

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

모든 주키퍼 노드 다시 시작

모든 ZooKeeper 노드에서 다음을 실행합니다.

  1. 노드를 다시 시작합니다.
    > /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart

    모든 ZooKeeper 노드를 다시 시작해야 하지만 재시작 순서는 중요하지 않습니다.

관리 서버 노드 재구성

관리 서버 노드에서 다음을 실행합니다.

  1. 설정 명령어를 실행합니다.
    > /opt/apigee/apigee-service/bin/apigee-service edge-management-server setup -f updatedConfigFile
  2. 관리 서버를 다시 시작합니다.
    > /opt/apigee/apigee-service/bin/apigee-service Edge-management-server 재시작

모든 라우터 재구성

모든 라우터 노드:

  1. 설정 명령어를 실행합니다.
    > /opt/apigee/apigee-service/bin/apigee-service edge-router setup -f updatedConfigFile
  2. 라우터를 다시 시작합니다.
    > /opt/apigee/apigee-service/bin/apigee-service edge-router restart

모든 메시지 프로세서 재구성

모든 메시지 프로세서 노드:

  1. 설정 명령어를 실행합니다.
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor setup -f updatedConfigFile
  2. 메시지 프로세서를 다시 시작합니다.
    > /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

모든 Qpid 노드 재구성

모든 Qpid 노드:

  1. 설정 명령어를 실행합니다.
    > /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server setup -f updatedConfigFile
  2. Qpid를 다시 시작합니다.
    > /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart

모든 Postgres 노드 재구성

모든 Postgres 노드에서 다음을 실행합니다.

  1. 설정 명령어를 실행합니다.
    > /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server setup -f updatedConfigFile
  2. Postgres를 다시 시작합니다.
    > /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart

설치 유효성 검사

netcat (nc) 또는 telnet을 사용하여 포트 2181에 명령어를 전송하여 새 ZooKeeper 노드의 설치를 확인할 수 있습니다. ZooKeeper 명령어에 관한 자세한 내용은 http://zookeeper.apache.org/doc/r3.1.2/zookeeperAdmin.html#sc_zkCommands를 참고하세요.

유효성 검사 방법은 다음과 같습니다.

  1. ZooKeeper 노드에 설치되어 있지 않으면 nc를 설치합니다.
    > sudo yum install nc
  2. 다음 nc 명령어를 실행합니다.
    > echo stat | nc localhost 2181
  3. 각 ZooKeeper 노드에서 1단계와 2단계를 반복합니다.
    노드 출력의 모드 줄에서 한 노드는 관찰자로, 한 노드는 리더로, 나머지는 팔로워로 지정되어야 합니다.