ZooKeeper 노드 추가

이 문서에서는 기존 비공개 Edge에 새로운 주키퍼 노드 3개를 추가하는 방법을 설명합니다. Cloud 설치

기존 Edge 설치에 하나 또는 두 개의 주키퍼 노드를 추가할 수 있지만 아래에 설명된 대로 ZooKeeper 투표자 노드 수가 항상 홀수인지 확인하세요.

기존 Edge 구성

프로덕션 시스템에 지원되는 모든 Edge 토폴로지는 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 주키퍼 노드의 IP 주소 또는 DNS 이름을 지정합니다. IP 주소 또는 DNS 이름 모든 ZaKeeper 노드에서 동일한 순서로 나열되어야 합니다. 멀티 데이터 센터 환경에서 두 데이터 센터의 모든 동물원 Keeper 노드를 나열합니다.
  • ZK_CLIENT_HOSTS는 다음을 지정합니다. 이 데이터 센터에서 사용하는 주키퍼(ZooKeeper) 노드의 IP 주소 또는 DNS 이름입니다. IP 주소 또는 DNS 이름이 모든 동물원Keeper 노드에서 동일한 순서로 나열되어야 합니다.

    단일 데이터 센터 설치에서 이들은 ZK_HOSTS 다중 데이터 센터 환경에서 이 리소스에 동물원키퍼 노드만 나열합니다. 데이터 센터

추가할 구성 파일 수정 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'(투표자)라고 합니다. '투표자' 수가 홀수여야 합니다. 변경할 수 있습니다 따라서 이 주키퍼 투표자는 5명, 관찰자는 1명입니다.

노드를 ZK_HOSTS 및 둘 다에 추가해야 합니다. 같은 순서로 ZK_CLIENT_HOSTS. 그러나 :observer 수정자는 생략합니다. ZK_CLIENT_HOSTS 설정 시

Edge 구성

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

새 노드에 주키퍼 설치

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

기존 주키퍼 재구성 노드

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

  1. 새 구성 파일로 setup 명령어를 다시 실행합니다.
    /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. setup 명령어를 실행합니다.
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server setup -f updatedConfigFile
  2. 관리 서버를 다시 시작합니다.
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

모든 라우터 재구성

모든 라우터 노드에서 다음을 실행합니다.

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

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

모든 메시지 프로세서 노드에서 다음을 실행합니다.

  1. setup 명령어를 실행합니다.
    /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. setup 명령어를 실행합니다.
    /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. setup 명령어를 실행합니다.
    /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

설치 유효성 검사

명령어를 포트 2181로 전송하여 새 주키퍼 노드 설치를 검증할 수 있습니다. netcat (nc) 또는 telnet을 사용합니다. 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. 각 주키퍼 노드에서 1단계와 2단계를 반복합니다. 다음 출력의 Mode 줄에서 노드 1개, 리더 1개, 나머지 노드 1개를 팔로어입니다.