데이터 센터 사용 중지

경우에 따라 데이터 센터를 폐기해야 할 수도 있습니다. 예를 들어 운영체제를 업그레이드하는 경우 새 데이터 센터에 새 운영체제를 설치한 다음 이전 데이터 센터를 사용 중지해야 합니다. 다음 섹션에서는 12노드 클러스터 설치에서 dc-1과 dc-2라는 두 개의 데이터 센터가 있는 데이터 센터를 사용 중지하는 예를 보여줍니다.

  • dc-1은 사용 중단할 데이터 센터입니다.
  • dc-2는 사용 중단 절차에 사용되는 두 번째 데이터 센터입니다.

운영체제를 업그레이드하는 경우 dc-2는 새 버전의 운영체제 (OS)를 설치한 데이터 센터일 수 있습니다. 그러나 데이터 센터를 사용 중지하기 위해 새 OS를 설치할 필요는 없습니다.

데이터 센터를 사용 중지하기 전에 고려해야 할 사항

데이터 센터를 사용 중단할 때는 다음 사항을 고려해야 합니다.

  • 데이터 센터로 전송되는 모든 런타임 및 관리 트래픽을 차단하고 다른 데이터 센터로 리디렉션합니다.
  • 데이터 센터를 사용 중단하면 Apigee 클러스터의 용량이 줄어듭니다. 이를 만회하려면 나머지 데이터 센터의 용량을 늘리거나 사용 중단 후 데이터 센터를 추가하는 것이 좋습니다.
  • 사용 중단 프로세스 중에 사용 중단되는 데이터 센터에 설치된 분석 구성요소에 따라 분석 데이터가 손실될 수 있습니다. 자세한 내용은 Qpid 노드 추가 또는 삭제를 참조하세요.
  • 데이터 센터를 사용 중지하기 전에 모든 데이터 센터, 특히 OpenLDAP, 동물원, Cassandra, Postgres 서버에서 모든 구성요소가 어떻게 구성되어 있는지 이해해야 합니다. 또한 모든 구성 요소와 구성 요소를 백업해야 합니다.

시작하기 전에

  • 관리 서버: 모든 사용 중단 단계는 관리 서버에 따라 크게 달라집니다. 사용 가능한 관리 서버가 하나뿐인 경우 dc-1에서 관리 서버를 사용 중단하기 전에 dc-1 이외의 데이터 센터에 새 관리 서버 구성요소를 설치하고 관리 서버 중 하나를 항상 사용할 수 있는지 확인하는 것이 좋습니다.
  • 라우터: 라우터를 사용 중지하기 전에 포트 15999를 차단하여 라우터의 연결 가능성을 사용 중지하세요. 사용 중지되는 라우터로 전달되는 런타임 트래픽이 없는지 확인합니다.
  • Cassandra 및 ZaKeeper: 아래 섹션에서는 2개의 데이터 센터 설정에서 dc-1을 사용 중지하는 방법을 설명합니다. 데이터 센터가 3개 이상인 경우 나머지 모든 데이터 센터의 모든 자동 구성 파일에서 해제되는 노드(이 경우 dc-1)에 대한 모든 참조를 삭제해야 합니다. 사용 중단할 Cassandra 노드의 경우 CASS_HOSTS에서 해당 호스트를 삭제합니다. 나머지 Cassandra 노드는 원래 CASS_HOSTS 순서를 유지해야 합니다.

  • Postgres: Postgres 마스터를 사용 중지하는 경우 사용 가능한 대기 노드 중 하나를 새 postgres 마스터로 승격해야 합니다. QPID 서버가 큐에 버퍼를 유지하는 동안 Postgres 마스터를 더 오랫동안 사용할 수 없으면 분석 데이터가 손실될 수 있습니다.

기본 요건

  • 구성요소를 사용 중단하기 전에 모든 노드의 전체 백업을 수행하는 것이 좋습니다. Edge의 현재 버전에 맞는 절차에 따라 백업을 수행하세요. 백업에 관한 자세한 내용은 백업 및 복원을 참고하세요.

    참고: Cassandra 또는 ZaKeeper 노드가 여러 개 있는 경우 백업 프로세스로 인해 동물원이 일시적으로 종료되므로 한 번에 하나씩 백업합니다.

  • 사용 중지하기 전에 다음 명령어를 사용하여 Edge가 작동 중인지 확인합니다.
    /opt/apigee/apigee-service/bin/apigee-all status
  • 사용 중지하는 데이터 센터에 현재 수신 중인 런타임 트래픽이 없는지 확인합니다.

구성요소 사용 중단 순서

여러 노드에 Private Cloud용 Edge를 설치하는 경우 다음 순서로 해당 노드에서 Edge 구성요소를 사용 중지해야 합니다.

  1. Edge UI (edge-ui)
  2. Management Server (edge-management-server)
  3. OpenLDAP (apigee-openldap)
  4. 라우터 (에지 라우터)
  5. 메시지 프로세서 (edge-message-processor)
  6. Qpid Server 및 Qpidd (edge-qpid-server 및 apigee-qpidd)
  7. Postgres 및 PostgreSQL 데이터베이스 (edge-postgres-server 및 apigee-postgresql)
  8. ZooKeeper (apigee-zookeeper)
  9. Cassandra (apigee-cassandra)

다음 섹션에서는 각 구성요소를 사용 중지하는 방법을 설명합니다.

Edge UI

dc-1의 Edge UI 구성요소를 중지하고 제거하려면 다음 명령어를 입력합니다.

/opt/apigee/apigee-service/bin/apigee-service edge-ui stop
/opt/apigee/apigee-service/bin/apigee-service edge-ui uninstall

관리 서버

dc-1에서 관리 서버를 사용 중지하려면 다음 단계를 따르세요.

  1. dc-1에서 관리 서버를 중지합니다.
    apigee-service edge-management-server stop
  2. dc-1에 등록된 관리 서버의 UUID를 찾습니다.
    curl -u <AdminEmailID>:'<AdminPassword>' \
    -X GET “http://{MS_IP}:8080/v1/servers?pod=central&region=dc-1&type=management-server”
  3. 서버 유형 등록 취소:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
    -d "type=management-server&region=dc-1&pod=central&uuid=UUID&action=remove"
  4. 서버를 삭제합니다. 참고: 이 서버에 다른 구성요소도 설치되어 있는 경우 UUID를 삭제하기 전에 먼저 모든 구성요소를 등록 취소하세요.
    curl -u <AdminEmailID>:'<AdminPassword> -X DELETE http://{MS_IP}:8080/v1/servers/{UUID}
  5. dc-1에서 관리 서버 구성요소를 제거합니다.
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server uninstall

Open LDAP

이 섹션에서는 dc-1에서 OpenLDAP를 사용 중지하는 방법을 설명합니다.

참고: 데이터 센터가 3개 이상인 경우 아래의 데이터 센터가 3개 이상인 설정을 참조하세요.

dc-1에서 OpenLDAP를 사용 중지하려면 다음 단계를 따르세요.

  1. 백업 방법의 단계에 따라 dc-1 OpenLDAP 노드를 백업합니다.
  2. 두 데이터 센터에서 다음 단계를 실행하여 두 데이터 센터(dc-1과 dc-2) 간의 데이터 복제를 중단합니다.

    1. 현재 상태를 확인합니다.
      ldapsearch -H ldap://{HOST}:{PORT} -LLL -x -b "cn=config" -D "cn=admin,cn=config" -w {credentials} -o ldif-wrap=no 'olcSyncRepl' | grep olcSyncrepl

      출력은 다음과 비슷하게 표시됩니다.

      olcSyncrepl: {0}rid=001 provider=ldap://{HOST}:{PORT}/ binddn="cn=manager,dc=apigee,dc=com" bindmethod=simple credentials={credentials} searchbase="dc=apigee,dc=com" attrs="*,+" type=refreshAndPersist retry="60 1 300 12 7200 +" timeout=1

    2. 다음 명령어가 포함된 break_repl.ldif 파일을 만듭니다.
      dn: olcDatabase={2}bdb,cn=config
      changetype: modify
      delete: olcSyncRepl
      
      dn: olcDatabase={2}bdb,cn=config
      changetype: modify
      delete: olcMirrorMode
    3. ldapmodify 명령어를 실행합니다.
      ldapmodify -x -w {credentials} -D "cn=admin,cn=config" -H "ldap://{HOST}:{PORT}/" -f path/to/file/break_repl.ldif

      출력은 다음과 비슷하게 표시됩니다.

      modifying entry "olcDatabase={2}bdb,cn=config"
      modifying entry "olcDatabase={2}bdb,cn=config"

  3. dc-2 LDAP에 항목을 만들고 dc-1의 LDAP에 표시되지 않는지 확인하여 dc-2가 더 이상 dc-1로 복제되지 않는지 확인할 수 있습니다.

    필요한 경우 아래 단계에 따라 dc-2 OpenLDAP 노드에 읽기 전용 사용자를 만든 후 사용자가 복제되었는지 확인할 수 있습니다. 이후에 사용자는 삭제됩니다.

    1. dc-2에 다음 내용으로 readonly-user.ldif 파일을 만듭니다.
      dn: uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com
      objectClass: organizationalPerson
      objectClass: person
      objectClass: inetOrgPerson
      objectClass: top
      cn: readonly-user
      sn: readonly-user
      userPassword: {testPassword}
    2. dc-2에 `ldapadd` 명령어를 사용하여 사용자를 추가합니다.
      ldapadd -H ldap://{HOST}:{PORT} -w {credentials} -D "cn=manager,dc=apigee,dc=com" -f path/to/file/readonly-user.ldif

      출력은 다음과 유사합니다.

      adding new entry "uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com"

    3. dc-1에서 사용자를 검색하여 사용자가 복제되지 않았는지 확인합니다. 사용자가 dc-1에 없으면 두 LDAP가 더 이상 복제되지 않습니다.
      ldapsearch -H ldap://{HOST}:{PORT} -x -w {credentials} -D "cn=manager,dc=apigee,dc=com" -b uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com -LLL

      출력은 다음과 유사해야 합니다.

      No such object (32)
      Matched DN: ou=users,ou=global,dc=apigee,dc=com
    4. 이전에 추가한 읽기 전용 사용자(
      ldapdelete -v -H ldap://{HOST}:{PORT} -w {credentials} -D "cn=manager,dc=apigee,dc=com" "uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com"
      )를 삭제합니다.
  4. dc-1에서 OpenLDAP를 중지합니다.
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
  5. dc-1에서 OpenLDAP 구성요소를 제거합니다.
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap uninstall

라우터

이 섹션에서는 라우터를 사용 중지하는 방법을 설명합니다. 라우터 삭제에 관한 자세한 내용은 서버 삭제를 참고하세요.

다음 단계에 따라 dc-1에서 라우터를 사용 중지합니다. dc-1에 구성된 라우터 노드가 여러 개 있는 경우 모든 라우터 노드에서 단계를 한 번에 하나씩 수행합니다.

참고: 여기서는 라우터의 상태 점검 포트 15999가 부하 분산기에 구성되어 있고 포트 15999를 차단하면 라우터에 연결할 수 없다고 가정합니다. 포트를 차단하려면 루트 액세스 권한이 필요할 수 있습니다.

라우터를 사용 중지하려면 다음 단계를 따르세요.

  1. 상태 점검 포트인 포트 15999를 차단하여 라우터의 연결 가능성을 사용 중지합니다. 이 데이터 센터에서 런타임 트래픽이 차단되었는지 확인합니다.

    iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
  2. 라우터에 연결할 수 있는지 확인합니다.

    curl -vvv -X GET http://{ROUTER_IP}:15999/v1/servers/self/reachable

    출력은 다음과 비슷하게 표시됩니다.

    About to connect() to 10.126.0.160 port 15999 (#0)
    Trying 10.126.0.160...
    Connection refused
    Failed connect to 10.126.0.160:15999; Connection refused
    Closing connection 0
    curl: (7) Failed connect to 10.126.0.160:15999; Connection refused

  3. UUID 가져오기에 설명된 대로 라우터의 UUID를 가져옵니다.
  4. 라우터를 중지합니다.
    /opt/apigee/apigee-service/bin/apigee-service edge-router stop
  5. curl -u  <AdminEmailID>:<AdminPassword> -X GET "http://{MS_IP}:8080/v1/organizations/{ORG}/pods"
    명령어를 사용하여 조직에서 사용 가능한 게이트웨이 포드를 나열합니다.

    포드 정보를 참조하세요.

  6. 서버 유형 등록 취소:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
    -d "type=router&amp;region=dc-1&amp;pod=gateway-1&amp;uuid=UUID&amp;action=remove"
  7. 서버를 삭제합니다.
    curl -u <AdminEmailID>:'<AdminPassword>’ -X DELETE http://{MS_IP}:8080/v1/servers/UUID
  8. edge-router를 제거합니다.
    /opt/apigee/apigee-service/bin/apigee-service edge-router uninstall
    서버 삭제를 참조하세요.
  9. 차단된 포트 15999를 사용 설정하도록 iptables 규칙을 플러시합니다.
    iptables -F

메시지 프로세서

이 섹션에서는 dc-1에서 메시지 프로세서를 사용 중지하는 방법을 설명합니다. 메시지 프로세서 제거에 대한 자세한 내용은 서버 삭제를 참조하세요.

dc-1에 12노드 클러스터 설치가 있다고 가정하므로 dc-1에는 2개의 메시지 프로세서 노드가 구성됩니다. 두 노드에서 다음 명령어를 실행합니다.

  1. UUID 가져오기에 설명된 대로 메시지 프로세서의 UUID를 가져옵니다.
  2. 메시지 프로세서를 중지합니다.
    apigee-service edge-message-processor stop
  3. 서버 유형 등록 취소:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers  \
    -d "type=message-processor&amp;region=dc-1&amp;pod=gateway-1&amp;uuid=UUID&amp;action=remove"/pre>
  4. Disassociate an environment from the Message Processor.

    Note: You need to remove the bindings on each org/env that associates the Message Processor UUID.

    curl -H "Content-Type:application/x-www-form-urlencoded" -u <AdminEmailID>:''  \
    -X POST http://{MS_IP}:8080/v1/organizations/{ORG}/environments/{ENV}/servers \
    -d "action=remove&uuid=UUID"
  5. 서버 유형 등록 취소:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MS_IP:8080/v1/servers -d "type=message-processor&region=dc-1&pod=gateway-1&uuid=UUID&action=remove"
  6. 메시지 프로세서를 제거합니다.
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor uninstall
  7. 서버 등록 취소:
    curl -u <AdminEmailID>:'<AdminPassword> -X DELETE http://{MS_IP}:8080/v1/servers/UUID

Qpid 서버 및 Qpidd

이 섹션에서는 Qpid 서버 (edge-qpid-server) 및 Qpidd(apigee-qpidd)를 사용 중지하는 방법을 설명합니다. dc-1에는 2개의 Qpid 노드가 구성되어 있으므로 두 노드 모두에 대해 다음 단계를 수행해야 합니다.

  1. UUID 가져오기에 설명된 대로 Qpidd하기의 UUID를 가져옵니다.
  2. edge-qpid-serverapigee-qpidd 중지:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
    /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
  3. 애널리틱스 및 소비자 그룹 목록을 확인합니다.
    curl -u <AdminEmailID>:'<AdminPassword>' -X GET http://{MS_IP}:8080/v1/analytics/groups/ax
  4. 소비자 그룹에서 Qpid를 삭제합니다.
    curl -u <AdminEmailID>:'<AdminPassword>' -H "Content-Type: application/json"  -X DELETE \ "http://{MS_IP}:8080/v1/analytics/groups/ax/{ax_group}/consumer-groups/{consumer_group}/consumers/{QPID_UUID}"
  5. 분석 그룹에서 Qpid를 삭제합니다.
    curl -v -u <AdminEmailID>:'<AdminPassword>' \
    -X DELETE "http://{MS_IP}:8080/v1/analytics/groups/ax/{ax_group}/servers?uuid={QPID_UUID}&type=qpid-server"
  6. Edge 설치에서 Qpid 서버를 등록 해제합니다.
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
    -d "type=qpid-server&region=dc-1&pod=central&uuid={QPID_UUID}&action=remove"
  7. 에지 설치에서 Qpid 서버를 삭제합니다.
    curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
  8. 모든 노드에서 모든 Edge-qpid-server 구성요소를 다시 시작하여 변경사항이 해당 구성요소에서 선택되도록 합니다.
    $ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
    $ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server wait_for_ready
  9. Edge-qpid-server 및 apigee-qpidd를 제거합니다.
    $ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall
    $ /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall

Postgres 및 Postgresql

사용 중지하는 데이터 센터에는 Postgres 마스터 또는 Postgres 대기가 있을 수 있습니다. 다음 섹션에서는 사용 중단 방법을 설명합니다.

Postgres 마스터 사용 중단 중

참고: Postgres 마스터를 사용 중지하는 경우 사용 가능한 대기 노드 중 하나를 새 postgres 마스터로 승격해야 합니다. QPID가 버퍼 데이터를 큐에 추가하는 동안 Postgres 마스터를 오랫동안 사용할 수 없으면 분석 데이터가 손실될 수 있습니다.

Postgres 마스터를 사용 중지하려면 다음 안내를 따르세요.

  1. 다음 링크의 안내에 따라 dc-1 Postgres 마스터 노드를 백업합니다.
  2. UUID 가져오기에 설명된 대로 Postgres 서버의 UUID를 가져옵니다.
  3. dc-1에서 현재 마스터의 edge-postgres-serverapigee-postgresql를 중지합니다.
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  4. dc-2의 대기 노드에서 다음 명령어를 입력하여 마스터 노드로 만듭니다.
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql promote-standby-to-master <IP of OLD Progress master>

    참고: 대기 Postgres 노드가 두 개 이상인 경우 새 마스터에 호스트 항목을 추가하고 사용 가능한 모든 postgres 대기 노드의 복제 설정을 업데이트해야 합니다.

    새 Postgres 마스터에 호스트 항목을 추가하려면 아래 해당 섹션의 단계를 따르세요.

    대기 노드가 하나만 남아 있는 경우

    예를 들어 사용 중지하기 전에 세 개의 Postgres 노드가 구성되어 있다고 가정하겠습니다. 기존 마스터를 사용 중단하고 나머지 postgres 대기 노드 중 하나를 마스터로 승격했습니다. 다음 단계에 따라 나머지 대기 노드를 구성합니다.

    1. 새 마스터에서 구성 파일을 수정하여 다음을 설정합니다.
      PG_MASTER=IP_or_DNS_of_new_PG_MASTER
      PG_STANDBY=IP_or_DNS_of_PG_STANDBY
    2. 새 마스터에서 복제 사용 설정:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle

    대기 노드가 둘 이상 남아 있는 경우

    1. /opt/apigee/customer/application/postgresql.properties에 다음 구성을 추가합니다.
      conf_pg_hba_replication.connection=host replication apigee standby_1_ip/32 trust \n host replication apigee standby_2_ip/32 trust
    2. /opt/apigee/customer/application/postgresql.properties 파일이 Apigee 사용자(
            chown apigee:apigee /opt/apigee/customer/application/postgresql.properties
      )의 소유인지 확인하세요.
    3. apigee-postgresql를 다시 시작합니다.
      apigee-service apigee-postgresql restart
    4. 대기 노드에서 복제 설정을 업데이트하려면 다음 안내를 따르세요.

      1. 구성 파일 /opt/silent.conf을 수정하고 PG_MASTER 필드를 새 Postgres 마스터의 IP 주소로 업데이트합니다.
      2. 다음 명령어를 사용하여 이전 Postgres 데이터를 삭제합니다.
        rm -rf /opt/apigee/data/apigee-postgresql/
      3. 대기 노드에서 복제 설정:
        /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    5. dc-2에
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
      명령어를 입력하여 Postgres 마스터가 올바르게 설정되었는지 확인합니다.
    6. 분석 그룹과 소비자 그룹에서 Postgresql 서버를 삭제하고 추가합니다.
      1. 분석 그룹에서 Postgres 서버 삭제의 안내에 따라 분석 그룹에서 이전 Postgres 서버를 삭제합니다.
      2. 분석 그룹에 기존 Postgres 서버 추가의 안내에 따라 분석 그룹에 새 postgres 서버를 추가합니다.
    7. dc-1에서 이전 postgres 서버를 등록 해제합니다.
      curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
      -d "type=postgres-server&region=dc-1&pod=analytics&uuid=UUID&action=remove"<
    8. dc-1에서 이전 postgres 서버를 삭제합니다.
      curl -u >AdminEmailID>:'>AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
    9. 이제 이전 Postgres 마스터를 사용 중단할 수 있습니다. edge-postgres-serverapigee-postgresql를 제거합니다.
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server uninstall
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql uninstall

    Postgres 대기 사용 중단 중

    참고: 12노드 클러스터 설치 문서에서는 dc-1 postgresql 노드가 마스터로 표시되지만, 이 섹션에서는 편의상 dc-1 postgresql 노드가 대기이고 dc-2 postgresql 노드가 마스터라고 가정합니다.

    Postgres 대기를 사용 중지하려면 다음 단계를 따르세요.

    1. UUID 가져오기의 안내에 따라 Postgres 서버의 UUID를 가져옵니다.
    2. dc-1의 현재 대기 노드에서 apigee-postgresql를 중지합니다.
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
    3. 분석 그룹과 소비자 그룹에서 Postgresql 서버를 삭제하고 추가합니다.
      1. 분석 그룹에서 Postgres 서버 삭제의 안내에 따라 분석 그룹에서 이전 Postgres 서버를 삭제합니다.
      2. 분석 그룹에 기존 Postgres 서버 추가의 안내에 따라 분석 그룹에 새 postgres 서버를 추가합니다.
    4. dc-1에서 이전 postgres 서버를 등록 해제합니다.
      curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
      -d "type=postgres-server&region=dc-1&pod=analytics&uuid=UUID&action=remove"<
    5. dc-1에서 이전 postgres 서버를 삭제합니다.
      curl -u >AdminEmailID>:'>AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
    6. 이제 이전 Postgres 마스터를 사용 중단할 수 있습니다. edge-postgres-serverapigee-postgresql를 제거합니다.
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server uninstall
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql uninstall

    주키퍼 및 Cassandra

    이 섹션에서는 두 개의 데이터 센터 설정에서 주키퍼 및 Cassandra 서버를 사용 중지하는 방법을 설명합니다.

    데이터 센터가 3개 이상인 경우 나머지 모든 데이터 센터의 모든 자동 구성 파일에서 해제되는 노드(이 경우 dc-1)에 대한 모든 참조를 삭제해야 합니다. 사용 중단할 Cassandra 노드의 경우 CASS_HOSTS에서 해당 호스트를 삭제합니다. 나머지 Cassandra 노드는 원래 CASS_HOSTS 순서를 유지해야 합니다.

    ZooKeeper에 대한 참고 사항: 주키퍼 앙상블이 계속 작동하도록 하려면 구성 파일의 ZK_HOST 속성을 수정하는 동안 유권자 노드 쿼럼을 유지해야 합니다. 구성에 홀수의 투표자 노드가 있어야 합니다. 자세한 내용은 Apache 주Keeper 유지보수 작업을 참조하세요.

    ZooKeeper 및 Cassandra 서버를 사용 중지하려면 다음 안내를 따르세요.

    1. 다음 링크의 안내에 따라 dc-1 Cassandra 및 주키퍼 노드를 백업합니다.
    2. Cassandra 노드가 사용 중지될 예정인 데이터 센터에 있는 주키퍼 및 Cassandra 서버의 UUID를 나열합니다.

      apigee-adminapi.sh servers list -r dc-1 -p central -t application-datastore --admin <AdminEmailID> --pwd '<AdminPassword>' --host localhost
    3. 서버 유형 등록 취소:
      curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MS_IP:8080/v1/servers -d "type=cache-datastore&type=user-settings-datastore&type=scheduler-datastore&type=audit-datastore&type=apimodel-datastore&type=application-datastore&type=edgenotification-datastore&type=identityzone-datastore&type=user-settings-datastore&type=auth-datastore&region=dc-1&pod=central&uuid=UUID&action=remove"
    4. 서버 등록 취소:
      curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
    5. ZK_HOSTSCASS_HOSTS에서 삭제된 사용 중단된 노드의 IP로 구성 파일을 업데이트합니다.

      예: dc-1에 $IP1 $IP2 $IP3 IP, dc-2에 $IP4 $IP5 $IP6가 있으며 dc-1을 사용 중지한다고 가정합니다. 그런 다음 구성 파일에서 IP $IP1 $IP2 $IP3를 삭제해야 합니다.

      • 기존 구성 파일 항목:
        ZK_HOSTS="$IP1 $IP2 $IP3 $IP4 $IP5 $IP6"
        CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1, $IP4:2,1 $IP5:2,1 $IP6:2,1”
      • 새 구성 파일 항목:
        ZK_HOSTS="$IP4 $IP5 $IP6"
        CASS_HOSTS="$IP4:2,1 $IP5:2,1 $IP6:2,1"
    6. 자동 구성 파일 (e단계에서 수정됨)을 삭제된 사용 중단 노드의 IP로 업데이트하고 관리 서버를 호스팅하는 모든 노드에서 관리 서버 프로필을 실행합니다.
      /opt/apigee/apigee-setup/bin/setup.sh -p ms -f updated_config_file
    7. 삭제된 사용 중단 노드의 IP로 구성 파일을 업데이트하고 모든 라우터 및 메시지 프로세서 노드에서 MP/RMP 프로필을 실행합니다.
      • 에지 라우터와 메시지 프로세서가 동일한 노드에 구성된 경우 다음을 입력합니다.
        /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f updated_config_file
      • 에지 라우터와 메시지 프로세서가 서로 다른 노드에 구성된 경우 다음을 입력합니다.

        라우터의 경우:

        /opt/apigee/apigee-setup/bin/setup.sh -p r -f updated_config_file

        메시지 프로세서:

        /opt/apigee/apigee-setup/bin/setup.sh -p mp -f updated_config_file
    8. 응답 파일에서 사용 중단된 노드의 IP를 삭제한 상태로 모든 Qpid 노드를 재구성합니다.
      /opt/apigee/apigee-setup/bin/setup.sh -p qs -f updated_config_file
    9. 응답 파일에서 사용 중단된 노드의 IP를 삭제한 상태로 모든 Postgres 노드를 재구성합니다.
      /opt/apigee/apigee-setup/bin/setup.sh -p ps -f updated_config_file
    10. system_auth 키스페이스 변경 기존 Cassandra 노드에서 Cassandra 인증이 사용 설정된 경우 다음 명령어를 실행하여 system_auth 키스페이스의 복제 계수를 업데이트합니다.
      ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-2': '3'};

      이 명령어는 복제 계수를 '3'로 설정하여 클러스터에 3개의 Cassandra 노드를 나타냅니다. 필요에 따라 이 값을 수정합니다.

      이 단계를 완료한 후에는 Cassandra 토폴로지의 키스페이스에 dc-1가 없어야 합니다.

    11. dc-1에서 Cassandra 노드를 하나씩 사용 중지합니다.

      Cassandra 노드를 사용 중지하려면 다음 명령어를 입력합니다.

      /opt/apigee/apigee-cassandra/bin/nodetool -h cassIP -u cassandra -pw '<AdminPassword>' decommission

    12. 다음 명령어 중 하나를 사용하여 dc-1에서 Cassandra 노드의 연결을 확인합니다.
      /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p '<AdminPassword>'

      또는 사용 중단된 노드에서 실행할 보조 확인 명령어:

      /opt/apigee/apigee-cassandra/bin/nodetool netstats

      위 명령어는 다음을 반환해야 합니다.

      Mode: DECOMMISSIONED

    13. dc-2에서 모든 Cassandra 및 주키퍼 노드에 대해 DS 프로필을 실행합니다.
      /opt/apigee/apigee-setup/bin/setup.sh -p ds -f updated_config_file
    14. dc-1의 apigee-cassandraapigee-zookeeper 중지:
      apigee-service apigee-cassandra stop
      apigee-service apigee-zookeeper stop
    15. dc-1에서 apigee-cassandraapigee-zookeeper를 제거합니다.
      apigee-service apigee-cassandra uninstall
      apigee-service apigee-zookeeper uninstall

    dc-1에서 바인딩 삭제

    dc-1에서 바인딩을 삭제하려면 다음 단계를 따르세요.

    1. dc-1에서 바인딩을 삭제합니다.
      1. curl -v -u  <AdminEmailID>:<AdminPassword> -X GET "http://MS_IP:8080/v1/o/ORG/pods"
        조직에서 사용 가능한 모든 포드를 나열합니다.
      2. 모든 바인딩이 삭제되었는지 확인하려면 Pod와 연결된 서버의 UUID를 가져옵니다.
        curl -v -u  <AdminEmailID>:<AdminPassword> \
        -X GET "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1/servers"

        이 명령어가 UUID를 반환하지 않으면 이전 단계에서 모든 결합이 삭제된 것이므로 다음 단계를 건너뛸 수 있습니다. 그렇지 않으면 다음 단계를 수행합니다.

      3. 이전 단계에서 얻은 UUID의 모든 서버 결합을 삭제합니다.
        curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
      4. 포드에서 조직을 연결 해제합니다.
        curl -v -u  <AdminEmailID>:<AdminPassword>  "http://MS_IP:8080/v1/o/ORG/pods" -d "action=remove&region=dc-1&pod=gateway-1" -H "Content-Type: application/x-www-form-urlencoded" -X POST
    2. 포드를 삭제합니다.
      curl -v -u <AdminEmailID>:<AdminPassword> "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1" -X DELETE
    3. 리전을 삭제합니다.
      curl -v -u <AdminEmailID>:<AdminPassword>  "http://MS_IP:8080/v1/regions/dc-1" -X DELETE

    참고: 서버 삭제 단계 중 하나를 놓치면 위 단계에서 포드에 특정 서버가 여전히 존재한다는 오류 메시지가 반환됩니다. 따라서 아래 문제 해결 단계에 따라 curl 명령어의 유형을 맞춤설정하여 삭제합니다.

    이제 dc-1의 해제가 완료되었습니다.

    부록

    문제 해결

    이전 단계를 수행한 후에도 일부 포드에 서버가 여전히 있는 경우 다음 단계에 따라 서버를 등록 취소하고 삭제합니다. 참고: 필요에 따라 유형 및 포드를 변경합니다.

    1. 다음 명령어를 사용하여 UUID를 가져옵니다.
      apigee-adminapi.sh servers list -r dc-1 -p POD -t  --admin <AdminEmailID> --pwd  '<AdminPassword>’ --host localhost
    2. 서버 유형 등록 취소:
      curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MP_IP:8080/v1/servers -d "type=TYPE=REGION=dc-1&pod=POD&uuid=UUID&action=remove"
    3. 서버를 하나씩 삭제합니다.
      curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MP_IP:8080/v1/servers/UUID

    검증

    다음 명령어를 사용하여 사용 중단을 확인할 수 있습니다.

    관리 서버

    모든 리전의 관리 서버에서 다음 명령어를 실행합니다.

    curl -v  -u  <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=central&region=dc-1
    curl -v  -u  <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=gateway&region=dc-1
    curl -v -u  <AdminEmailID>:'<AdminPassword>'  http://MS_IP:8080/v1/servers?pod=analytics&region=dc-1

    모든 구성요소에서 다음 명령어를 실행하여 모든 관리 포트의 포트 요구사항을 확인합니다.

    curl -v http://MS_IP:8080/v1/servers/self

    분석 그룹을 확인합니다.

    curl  -v  -u  <AdminEmailID>:'<AdminPassword>' "http://MS_IP:8080}/v1/o/ORG/e/ENV/provisioning/axstatus"
    curl -v  -u  <AdminEmailID>:'<AdminPassword>'  http://MS_IP:8080/v1/analytics/groups/ax

    Cassandra/ZooKeeper 노드

    모든 Cassandra 노드에서 다음을 입력합니다.

    /opt/apigee/apigee-cassandra/bin/nodetool -h <host> statusthrift

    이렇게 하면 특정 노드의 running 또는 not running 상태가 반환됩니다.

    한 노드에 다음을 입력합니다.

    /opt/apigee/apigee-cassandra/bin/nodetool -h <host> ring
    /opt/apigee/apigee-cassandra/bin/nodetool -h <host> status

    위의 명령어는 활성 데이터 센터 정보를 반환합니다.

    ZooKeeper 노드에서 먼저 다음을 입력합니다.

    echo ruok | nc <host> 2181

    이 명령어는 imok를 반환합니다.

    그런 다음 아래 내용을 입력합니다.

    echo stat | nc <host> 2181 | grep Mode

    위 명령어에서 반환되는 Mode 값은 observer, leader, follower 중 하나입니다.

    주키퍼 노드 한 개에서 다음을 수행합니다.

    /opt/apigee/apigee-zookeeper/contrib/zk-tree.sh >> /tmp/zk-tree.out.txt

    Postgres 마스터 노드에서 다음을 실행합니다.

    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

    응답에 노드가 마스터라고 표시되는지 확인합니다.

    대기 노드에서:

    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

    응답에 노드가 대기 상태라고 표시되는지 검증합니다.

    다음 명령어를 사용하여 PostgreSQL 데이터베이스에 로그인

    psql -h localhost -d apigee -U postgres

    메시지가 표시되면 'postgres' 사용자 비밀번호를 'postgres'로 입력합니다. 분석에서 max(client_received_start_timestamp)을(를) 선택합니다.

    ”$org.$env.fact” limit 1;

    로그

    구성요소의 로그에서 오류가 없는지 확인합니다.