데이터 센터 사용 중지

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

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

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

데이터 센터를 사용 중지하기 전 고려사항

데이터 센터를 사용 중지할 때는 다음 사항을 고려하세요.

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

시작하기 전에

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

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

기본 요건

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

    참고: Cassandra 또는 주Keeper 노드가 여러 개 있는 경우 백업 프로세스에서 일시적으로ZooKeeper를 종료하므로 노드를 한 번에 하나씩 백업하세요.

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

해제 구성요소의 순서

여러 노드에 프라이빗 클라우드용 Edge를 설치하는 경우 다음 순서에 따라 해당 노드에서 Edge 구성요소를 사용 중지해야 합니다.

  1. Edge UI (edge-ui)
  2. 관리 서버 (edge-management-server)
  3. OpenLDAP (apigee-openldap)
  4. Router (edge-router)
  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개 이상인 경우 아래의 2개 이상의 데이터 센터가 있는 설정을 참조하세요.

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. iptables 규칙을 삭제하여 차단된 포트 15999를 사용 설정합니다.
    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 Server (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. Edge 설치에서 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

    JoKeeper 및 Cassandra

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

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

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

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

    1. 다음 링크의 안내에 따라 dc-1 Cassandra 및 JoKeeper 노드를 백업합니다.
    2. Cassandra 노드가 사용 중지될 데이터 센터에 있는 JoKeeper 및 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에 IP $IP1 $IP2 $IP3가 있고 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'로 설정하여 클러스터에 Cassandra 노드 3개를 나타냅니다. 필요에 따라 이 값을 수정합니다.

      이 단계를 완료한 후에는 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 및 JoKeeper 노드에 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. 모든 결합이 삭제되었는지 확인하려면 포드와 연결된 서버의 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

    유효성 검사

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

    관리 서버

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

    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

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

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

    echo ruok | nc <host> 2181

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

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

    echo stat | nc <host> 2181 | grep Mode

    위 명령어로 반환된 Mode 값은 observer, leader, follower 중 하나입니다.

    JoKeeper 노드 1개에서 다음을 수행합니다.

    /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;

    로그

    구성요소의 로그를 확인하여 오류가 없는지 확인합니다.