프라이빗 클라우드용 Edge v4.19.01
이 문서에서는 기존 프라이빗 클라우드용 Edge 설치에 새 ZooKeeper 노드 3개를 추가하는 방법을 설명합니다.
기존 Edge 설치에 ZooKeeper 노드를 1개 또는 2개 추가할 수 있지만 아래 설명된 대로 항상 홀수 개의 ZooKeeper 투표자 노드가 있어야 합니다.
기존 Edge 구성
프로덕션 시스템에 지원되는 모든 Edge 토폴로지는 ZooKeeper 노드 3개를 사용하도록 지정합니다. 3개의 노드는 아래와 같이 구성 파일의 ZK_HOSTS 및 ZK_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"
:observer 수정자를 사용하여 ZK_HOSTS의 마지막 노드를 표시합니다. :observer 수정자가 없는 노드를 '투표자'라고 합니다. 구성에는 홀수 개의 '투표자'가 있어야 합니다. 따라서 이 구성에는 ZooKeeper 투표자 5명과 옵저버 1명이 있습니다.
ZK_HOSTS 및 ZK_CLIENT_HOSTS 모두에 동일한 순서로 노드를 추가해야 합니다. 하지만 ZK_CLIENT_HOSTS를 설정할 때는 :observer 수정자를 생략합니다.
에지 구성
구성 파일을 수정한 후에는 다음 작업을 모두 수행해야 합니다.
새 노드에 ZooKeeper 설치
- Edge apigee-setup 유틸리티 설치에 설명된 대로 첫 번째 노드에
apigee-setup를 설치합니다. - 다음 명령어를 사용하여 첫 번째 노드에 ZooKeeper를 설치합니다.
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper install
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper setup -f updatedConfigFile - 나머지 새 ZooKeeper 노드에 대해 1단계와 2단계를 반복합니다.
기존 ZooKeeper 노드 재구성
기존 ZooKeeper 노드에서 다음을 실행합니다.
- 새 구성 파일로 설정 명령어를 다시 실행합니다.
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper setup -f updatedConfigFile
모든 Zookeeper 노드 다시 시작
모든 ZooKeeper 노드에서 다음을 실행합니다.
- 노드를 다시 시작합니다.
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
모든 ZooKeeper 노드를 다시 시작해야 하지만 다시 시작 순서는 중요하지 않습니다.
관리 서버 노드 재구성
관리 서버 노드에서 다음을 수행합니다.
- 설정 명령어를 실행합니다.
/opt/apigee/apigee-service/bin/apigee-service edge-management-server setup -f updatedConfigFile
- Management Server를 다시 시작합니다.
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
모든 라우터 재구성
모든 라우터 노드에서 다음을 실행합니다.
- 설정 명령어를 실행합니다.
/opt/apigee/apigee-service/bin/apigee-service edge-router setup -f updatedConfigFile
- 라우터를 다시 시작합니다.
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
모든 메시지 프로세서 재구성
모든 메시지 프로세서 노드에서 다음을 실행합니다.
- 설정 명령어를 실행합니다.
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor setup -f updatedConfigFile
- 메시지 프로세서를 다시 시작합니다.
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
모든 Qpid 노드 재구성
모든 Qpid 노드에서 다음을 실행합니다.
- 설정 명령어를 실행합니다.
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server setup -f updatedConfigFile
- Qpid를 다시 시작합니다.
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
모든 Postgres 노드 재구성
모든 Postgres 노드에서 다음을 실행합니다.
- 설정 명령어를 실행합니다.
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server setup -f updatedConfigFile
- Postgres를 다시 시작합니다.
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
설치 검증
netcat (nc) 또는 텔넷을 사용하여 포트 2181에 명령어를 전송하여 새 ZooKeeper 노드의 설치를 검증할 수 있습니다. ZooKeeper 명령어에 대한 자세한 내용은 http://zookeeper.apache.org/doc/r3.1.2/zookeeperAdmin.html#sc_zkCommands를 참조하세요.
유효성 검사 방법은 다음과 같습니다.
- ZooKeeper 노드에 설치되지 않은 경우 nc를 설치합니다.
sudo yum install nc
- 다음 nc 명령어를 실행합니다.
echo stat | nc localhost 2181
- 각 ZooKeeper 노드에서 1단계와 2단계를 반복합니다. 노드 출력의
Mode줄에서 한 노드는 옵저버로, 한 노드는 리더로, 나머지는 팔로어로 지정되어야 합니다.