데이터 센터를 지원 중단해야 하는 경우가 있습니다. 예를 들어 운영체제를 업그레이드하는 경우 새 데이터 센터에 새 운영체제를 설치한 후 이전 데이터 센터를 지원 중단해야 합니다. 다음 섹션에서는 12노드 클러스터 설치에 dc-1 및 dc-2라는 두 개의 데이터 센터가 있는 데이터 센터를 지원 중단하는 예를 보여줍니다.
- dc-1은 지원 중단될 데이터 센터입니다.
- dc-2는 두 번째 데이터 센터로, 지원 중단 절차에 사용됩니다.
운영체제를 업그레이드하는 경우 dc-2는 새 버전의 운영체제 (OS)를 설치한 데이터 센터일 수 있습니다. 하지만 데이터 센터를 지원 중단할 때 새 OS를 설치할 필요는 없습니다.
데이터 센터를 지원 중단하기 전 고려사항
데이터 센터를 지원 중단할 때는 다음 사항을 고려하세요.
- 지원 중단되는 데이터 센터로 향하는 모든 런타임 및 관리 트래픽을 차단하고 다른 데이터 센터로 리디렉션합니다.
- 데이터 센터를 지원 중단하면 Apigee 클러스터의 용량이 줄어듭니다. 이를 보완하려면 나머지 데이터 센터의 용량을 늘리거나 지원 중단 후 데이터 센터를 추가하는 것이 좋습니다.
- 지원 중단 프로세스 중에 지원 중단되는 데이터 센터에 설치된 분석 구성요소에 따라 분석 데이터가 손실될 수 있습니다. 자세한 내용은 Qpid 노드 추가 또는 삭제를 참고하세요.
- 데이터 센터를 지원 중단하기 전에 모든 데이터 센터에서 모든 구성요소(특히 OpenLDAP, ZooKeeper, Cassandra, Postgres 서버)가 구성되는 방식을 이해해야 합니다. 또한 모든 구성요소와 구성요소의 구성을 백업해야 합니다.
시작하기 전에
- 관리 서버: 모든 지원 중단 단계는 관리 서버에 크게 종속됩니다. 사용 가능한 관리 서버가 하나뿐인 경우 dc-1에서 관리 서버를 지원 중단하기 전에 dc-1이 아닌 데이터 센터에 새 관리 서버 구성요소를 설치하고 관리 서버 중 하나를 항상 사용할 수 있도록 하는 것이 좋습니다.
- 라우터: 라우터를 지원 중단하기 전에 포트 15999를 차단하여 라우터의 도달 가능성을 사용 중지합니다. 지원 중단되는 라우터로 런타임 트래픽이 전달되지 않는지 확인합니다.
- Cassandra 및 ZooKeeper: 아래 섹션에서는 두 데이터 센터 설정에서 dc-1을 지원 중단하는 방법을 설명합니다.
데이터 센터가 2개 이상인 경우, 나머지 모든 데이터 센터의 모든 무음 구성 파일에서 지원 중단되는 노드(이 경우 dc-1)에 대한 모든 참조를 삭제해야 합니다. 사용 중단할 Cassandra 노드의 경우 해당 호스트를
CASS_HOSTS
에서 삭제합니다. 나머지 Cassandra 노드는 원래 순서인CASS_HOSTS
로 유지되어야 합니다. - Postgres: Postgres 마스터의 지원 중단 시 사용 가능한 대기 노드 중 하나를 새 Postgres 마스터로 승격해야 합니다. QPID 서버가 버퍼를 대기열에 유지하지만 Postgres 마스터가 장시간 사용 불가하면 분석 데이터가 손실될 수 있습니다.
기본 요건
구성요소를 지원 중단하기 전에 모든 노드를 완전히 백업하는 것이 좋습니다. 현재 버전의 Edge에 해당하는 절차에 따라 백업을 실행합니다. 백업에 관한 자세한 내용은 백업 및 복원을 참고하세요.
- 다음 명령어를 사용하여 Edge가 작동 중인지 확인한 후 지원 중단합니다.
/opt/apigee/apigee-service/bin/apigee-all status
- 현재 지원 중단 중인 데이터 센터에 런타임 트래픽이 수신되지 않는지 확인합니다.
구성요소의 지원 중단 순서
여러 노드에 프라이빗 클라우드용 Edge를 설치하는 경우 다음 순서에 따라 해당 노드에서 Edge 구성요소를 지원 중단해야 합니다.
- Edge UI (edge-ui)
- 관리 서버 (edge-management-server)
- OpenLDAP (apigee-openldap)
- 라우터 (에지 라우터)
- 메시지 프로세서 (edge-message-processor)
- Qpid 서버 및 Qpidd (edge-qpid-server 및 apigee-qpidd)
- Postgres 및 PostgreSQL 데이터베이스 (edge-postgres-server 및 apigee-postgresql)
- ZooKeeper (apigee-zookeeper)
- 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에서 관리 서버를 지원 중단하려면 다음 단계를 따르세요.
- dc-1에서 관리 서버를 중지합니다.
apigee-service edge-management-server stop
- dc-1에 등록된 관리 서버의 UUID를 찾습니다.
curl -u <AdminEmailID>:'<AdminPassword>' -X GET “http://{MS_IP}:8080/v1/servers?pod=central®ion=dc-1&type=management-server”
- 서버 유형을 등록 해제합니다.
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers -d "type=management-server®ion=dc-1&pod=central&uuid=UUID&action=remove"
- 서버를 삭제합니다. 참고: 이 서버에 다른 구성요소도 설치되어 있는 경우 UUID를 삭제하기 전에 먼저 모든 구성요소를 등록 해제하세요.
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/{UUID}
- dc-1에서 관리 서버 구성요소를 제거합니다.
/opt/apigee/apigee-service/bin/apigee-service edge-management-server uninstall
Open LDAP
이 섹션에서는 dc-1에서 OpenLDAP를 지원 중단하는 방법을 설명합니다.
참고: 데이터 센터가 2개 이상인 경우 아래의 데이터 센터가 2개 이상인 설정을 참고하세요.
dc-1에서 OpenLDAP를 지원 중단하려면 다음 단계를 따르세요.
- 백업 방법의 단계에 따라 dc-1 OpenLDAP 노드를 백업합니다.
두 데이터 센터(dc-1 및 dc-2)에서 다음 단계를 실행하여 두 데이터 센터 간의 데이터 복제를 중단합니다.
- 현재 상태를 확인합니다.
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
- 다음 명령어가 포함된
break_repl.ldif
파일을 만듭니다.dn: olcDatabase={2}bdb,cn=config changetype: modify delete: olcSyncRepl dn: olcDatabase={2}bdb,cn=config changetype: modify delete: olcMirrorMode
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"
- 현재 상태를 확인합니다.
dc-2 LDAP에 항목을 만들고 dc-1의 LDAP에 항목이 표시되지 않는지 확인하여 dc-2가 더 이상 dc-1에 복제되지 않는지 확인할 수 있습니다.
원하는 경우 아래 단계에 따라 dc-2 OpenLDAP 노드에 읽기 전용 사용자를 만든 다음 사용자가 복제되었는지 확인할 수 있습니다. 이후 사용자는 삭제됩니다.
- 다음 콘텐츠로 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}
- 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"
- 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
- 이전에 추가한 읽기 전용 사용자를 삭제합니다.
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"
- 다음 콘텐츠로 dc-2에
- dc-1에서 OpenLDAP를 중지합니다.
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
- dc-1에서 OpenLDAP 구성요소를 제거합니다.
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap uninstall
라우터
이 섹션에서는 라우터를 사용 중지하는 방법을 설명합니다. 라우터 삭제에 관한 자세한 내용은 서버 삭제를 참고하세요.
다음 단계에서는 dc-1에서 라우터를 지원 중단합니다. dc-1에 구성된 라우터 노드가 여러 개인 경우 모든 라우터 노드에서 단계를 하나씩 실행합니다.
참고: 여기서는 라우터의 상태 확인 포트 15999가 부하 분산기에 구성되어 있고 15999 포트를 차단하면 라우터에 연결할 수 없다고 가정합니다. 포트를 차단하려면 루트 액세스 권한이 필요할 수 있습니다.
라우터를 지원 중단하려면 다음 단계를 따르세요.
상태 점검 포트인 포트 15999를 차단하여 라우터의 도달 가능성을 사용 중지합니다. 이 데이터 센터에서 런타임 트래픽이 차단되었는지 확인합니다.
iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
라우터에 연결할 수 있는지 확인합니다.
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
- UUID 가져오기에 설명된 대로 라우터의 UUID를 가져옵니다.
- 라우터를 중지합니다.
/opt/apigee/apigee-service/bin/apigee-service edge-router stop
- 다음 명령어를 사용하여 조직에서 사용 가능한 게이트웨이 포드를 나열합니다.
curl -u <AdminEmailID>:'<AdminPassword>' -X GET "http://{MS_IP}:8080/v1/organizations/{ORG}/pods"
포드 정보를 참고하세요.
- 서버 유형을 등록 취소합니다.
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers -d "type=router®ion=dc-1&pod=gateway-1&uuid=UUID&action=remove"
- 서버 등록 취소:
curl -u <AdminEmailID>:'<AdminPassword>’ -X DELETE http://{MS_IP}:8080/v1/servers/UUID
edge-router
제거: 서버 삭제를 참고하세요./opt/apigee/apigee-service/bin/apigee-service edge-router uninstall
- 차단된 포트 15999를 사용 설정하도록
iptables
규칙을 플러시합니다.iptables -F
메시지 프로세서
이 섹션에서는 dc-1에서 메시지 프로세서를 지원 중단하는 방법을 설명합니다. 메시지 프로세서 삭제에 관한 자세한 내용은 서버 삭제를 참고하세요.
dc-1에 12노드 클러스터 설치가 있다고 가정하면 dc-1에는 메시지 프로세서 노드가 2개 구성되어 있습니다. 두 노드 모두에서 다음 명령어를 실행합니다.
- UUID 가져오기에 설명된 대로 메시지 프로세서의 UUID를 가져옵니다.
- 메시지 프로세서를 중지합니다.
apigee-service edge-message-processor stop
- 서버 유형을 등록 취소합니다.
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers -d "type=message-processor®ion=dc-1&pod=gateway-1&uuid=UUID&action=remove"
- 메시지 프로세서에서 환경 연결 해제
curl -H "Content-Type:application/x-www-form-urlencoded" <AdminEmailID>:'<AdminPassword>’ \ -X POST http://{MS_IP}:8080/v1/organizations/{ORG}/environments/{ENV}/servers \ -d "action=remove&uuid=UUID"
- 서버 유형을 등록 취소합니다.
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers -d "type=message-processor®ion=dc-1&pod=gateway-1&uuid=UUID&action=remove"
- 메시지 프로세서를 제거합니다.
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor uninstall
- 서버 등록 취소:
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에는 두 개의 Qpid 노드가 구성되어 있으므로 두 노드 모두에 다음 단계를 실행해야 합니다.
- UUID 가져오기에 설명된 대로 Qpidd의 UUID를 가져옵니다.
edge-qpid-server
및apigee-qpidd
를 중지합니다./opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
/opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
- 애널리틱스 및 소비자 그룹 목록을 가져옵니다.
curl -u <AdminEmailID>:'<AdminPassword>' -X GET http://{MS_IP}:8080/v1/analytics/groups/ax
- 소비자 그룹에서 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}"
- 애널리틱스 그룹에서 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"
- Edge 설치에서 Qpid 서버를 등록 해제합니다.
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \ -d "type=qpid-server®ion=dc-1&pod=central&uuid={QPID_UUID}&action=remove"
- Edge 설치에서 Qpid 서버를 삭제합니다.
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
- 모든 노드에서 모든 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
- 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 마스터를 지원 중단하려면 다음 단계를 따르세요.
- 다음 링크의 안내에 따라 dc-1 Postgres 마스터 노드를 백업합니다.
- UUID 가져오기에 설명된 대로 Postgres 서버의 UUID를 가져옵니다.
- dc-1에서 현재 마스터에서
edge-postgres-server
및apigee-postgresql
를 중지합니다./opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
- dc-2의 대기 노드에서 다음 명령어를 입력하여 마스터 노드로 만듭니다.
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql promote-standby-to-master <IP of OLD Progress master>
참고: 대기 Postgres 노드가 두 개 이상인 경우 새 마스터에 호스트 항목을 추가하고 사용 가능한 모든 Postgres 대기 노드의 복제 설정을 업데이트해야 합니다.
새 Postgres 마스터에 호스트 항목을 추가하려면 아래의 해당 섹션에 나온 단계를 따르세요.
대기 노드가 하나만 남은 경우
예를 들어 지원 중단 전에 구성된 Postgres 노드가 3개 있다고 가정해 보겠습니다. 기존 마스터를 지원 중단하고 남은 postgres 대기 모드 노드 중 하나를 마스터로 승격했습니다. 다음 단계에 따라 나머지 대기 모드 노드를 구성합니다.
- 새 마스터에서 구성 파일을 수정하여 다음을 설정합니다.
PG_MASTER=IP_or_DNS_of_new_PG_MASTER PG_STANDBY=IP_or_DNS_of_PG_STANDBY
- 새 마스터에서 복제를 사용 설정합니다.
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
대기 노드가 2개 이상 남은 경우
/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
- /opt/apigee/customer/application/postgresql.properties 파일이 Apigee 사용자가 소유하고 있는지 확인합니다.
chown apigee:apigee /opt/apigee/customer/application/postgresql.properties
apigee-postgresql
를 다시 시작합니다.apigee-service apigee-postgresql restart
- 구성 파일
/opt/silent.conf
를 수정하고PG_MASTER
필드를 새 Postgres 마스터의 IP 주소로 업데이트합니다. - 다음 명령어를 사용하여 이전 Postgres 데이터를 삭제합니다.
rm -rf /opt/apigee/data/apigee-postgresql/
- 대기 노드에서 복제를 설정합니다.
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
- dc-2에서 다음 명령어를 입력하여 Postgres 마스터가 올바르게 설정되어 있는지 확인합니다.
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
- 애널리틱스 그룹과 소비자 그룹에서 Postgresql 서버를 삭제하고 추가합니다.
- 애널리틱스 그룹에서 Postgres 서버 삭제의 안내에 따라 애널리틱스 그룹에서 이전 Postgres 서버를 삭제합니다.
- 애널리틱스 그룹에 기존 Postgres 서버 추가의 안내에 따라 애널리틱스 그룹에 새 Postgres 서버를 추가합니다.
- dc-1에서 이전 postgres 서버를 등록 해제합니다.
curl -u <AdminEmailID>:<AdminPassword> -X POST http://{MS_IP}:8080/v1/servers \ -d "type=postgres-server®ion=dc-1&pod=analytics&uuid=UUID&action=remove"
- dc-1에서 이전 postgres 서버를 삭제합니다.
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
- 이제 이전 Postgres 마스터는 지원 중단해도 됩니다.
edge-postgres-server
및apigee-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 대기 전원을 사용 중지하려면 다음 단계를 따르세요.
- UUID 가져오기의 안내에 따라 Postgres 서버의 UUID를 가져옵니다.
- 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
- 애널리틱스 그룹과 소비자 그룹에서 Postgresql 서버를 삭제하고 추가합니다.
- 애널리틱스 그룹에서 Postgres 서버 삭제의 안내에 따라 애널리틱스 그룹에서 이전 Postgres 서버를 삭제합니다.
- 애널리틱스 그룹에 기존 Postgres 서버 추가의 안내에 따라 애널리틱스 그룹에 새 Postgres 서버를 추가합니다.
- dc-1에서 이전 postgres 서버를 등록 해제합니다.
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \ -d "type=postgres-server®ion=dc-1&pod=analytics&uuid=UUID&action=remove"
- dc-1에서 이전 postgres 서버를 삭제합니다.
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
- 이제 이전 Postgres 마스터는 지원 중단해도 됩니다.
edge-postgres-server
및apigee-postgresql
를 제거합니다./opt/apigee/apigee-service/bin/apigee-service edge-postgres-server uninstall
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql uninstall
ZooKeeper 및 Cassandra
이 섹션에서는 두 데이터 센터 설정에서 ZooKeeper 및 Cassandra 서버를 지원 중단하는 방법을 설명합니다.
데이터 센터가 2개 이상인 경우, 나머지 모든 데이터 센터의 모든 무음 구성 파일에서 지원 중단되는 노드(이 경우 dc-1)에 대한 모든 참조를 삭제해야 합니다. 사용 중단할 Cassandra 노드의 경우 해당 호스트를
CASS_HOSTS
에서 삭제합니다. 나머지 Cassandra 노드는 원래 순서인CASS_HOSTS
로 유지되어야 합니다.ZooKeeper 관련 참고사항: ZooKeeper 앙상블이 계속 작동하도록 하려면 구성 파일에서
ZK_HOST
속성을 수정하는 동안 투표 노드의 과반수를 유지해야 합니다. 구성에 투표 노드의 수가 홀수여야 합니다. 자세한 내용은 Apache ZooKeeper 유지보수 작업을 참고하세요.ZooKeeper 및 Cassandra 서버를 사용 중지하려면 다음 단계를 따르세요.
- 다음 링크의 안내에 따라 dc-1 Cassandra 및 ZooKeeper 노드를 백업합니다.
Cassandra 노드가 지원 중단될 예정인 데이터 센터의 ZooKeeper 및 Cassandra 서버의 UUID를 나열합니다.
apigee-adminapi.sh servers list -r dc-1 -p central -t application-datastore --admin <AdminEmailID> --pwd '<AdminPassword>' --host localhost
- 서버 유형을 등록 취소합니다.
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®ion=dc-1&pod=central&uuid=UUID&action=remove"
- 서버 등록 취소:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
ZK_HOSTS
및CASS_HOSTS
에서 지원 중단된 노드의 IP를 삭제하여 구성 파일을 업데이트합니다.예를 들어 dc-1에는
$IP1 $IP2 $IP3
IP가 있고 dc-2에는$IP4 $IP5 $IP6
IP가 있으며 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"
- 기존 구성 파일 항목:
- 삭제된 지원 중단된 노드의 IP로 무음 구성 파일 (e단계에서 수정됨)을 업데이트하고 관리 서버를 호스팅하는 모든 노드에서 관리 서버 프로필을 실행합니다.
/opt/apigee/apigee-setup/bin/setup.sh -p ms -f updated_config_file
- 구성 파일을 삭제된 지원 중단된 노드의 IP로 업데이트하고 모든 라우터 및 메시지 프로세서 노드에서 MP/RMP 프로필을 실행합니다.
- Edge 라우터와 메시지 프로세서가 동일한 노드에 구성된 경우 다음을 입력합니다.
/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
- Edge 라우터와 메시지 프로세서가 동일한 노드에 구성된 경우 다음을 입력합니다.
- 응답 파일에서 지원 중단된 노드의 IP를 삭제하여 모든 Qpid 노드를 재구성합니다.
/opt/apigee/apigee-setup/bin/setup.sh -p qs -f updated_config_file
- 응답 파일에서 지원 중단된 노드의 IP를 삭제하여 모든 Postgres 노드를 재구성합니다.
/opt/apigee/apigee-setup/bin/setup.sh -p ps -f updated_config_file
system_auth
키스페이스를 변경합니다. 기존 Cassandra 노드에서 Cassandra 인증을 사용 설정한 경우 다음 명령어를 실행하여system_auth
키스페이스의 복제 인수를 업데이트합니다.ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-2': '3'};
이 명령어는 복제 요소를
'3'
로 설정하여 클러스터에 Cassandra 노드가 3개 있음을 나타냅니다. 필요에 따라 이 값을 수정합니다.이 단계를 완료하면 Cassandra 토폴로지의 키 스페이스에
dc-1
가 없어야 합니다.- dc-1의 Cassandra 노드를 하나씩 사용 중단합니다.
Cassandra 노드를 사용 중지하려면 다음 명령어를 입력합니다.
/opt/apigee/apigee-cassandra/bin/nodetool -h cassIP -u cassandra -pw '<AdminPassword>' decommission
- 다음 명령어 중 하나를 사용하여 dc-1에서 Cassandra 노드의 연결을 확인합니다.
/opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p '<AdminPassword>'
또는 지원 중단된 노드에서 실행할 보조 확인 명령어:
/opt/apigee/apigee-cassandra/bin/nodetool netstats
위 명령어는 다음을 반환해야 합니다.
Mode: DECOMMISSIONED
- dc-2의 모든 Cassandra 및 ZooKeeper 노드에 대해 DS 프로필을 실행합니다.
/opt/apigee/apigee-setup/bin/setup.sh -p ds -f updated_config_file
- dc-1에서
apigee-cassandra
및apigee-zookeeper
를 중지합니다.apigee-service apigee-cassandra stop
apigee-service apigee-zookeeper stop
- dc-1에서
apigee-cassandra
및apigee-zookeeper
를 제거합니다.apigee-service apigee-cassandra uninstall
apigee-service apigee-zookeeper uninstall
dc-1에서 바인딩 삭제
dc-1에서 바인딩을 삭제하려면 다음 단계를 따르세요.
- dc-1에서 바인딩을 삭제합니다.
- 조직에서 사용 가능한 모든 포드를 나열합니다.
curl -v -u <AdminEmailID>:'<AdminPassword>' -X GET "http://MS_IP:8080/v1/o/ORG/pods"
- 모든 결합이 삭제되었는지 확인하려면 포드와 연결된 서버의 UUID를 가져옵니다.
curl -v -u <AdminEmailID>:'<AdminPassword>' \ -X GET "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1/servers"
이 명령어에서 UUID가 반환되지 않으면 이전 단계에서 모든 바인딩이 삭제된 것이므로 다음 단계를 건너뛰어도 됩니다. 그렇지 않은 경우 다음 단계를 수행합니다.
- 이전 단계에서 가져온 UUID의 서버 바인딩을 모두 삭제합니다.
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
- 포드에서 조직 연결 해제:
curl -v -u <AdminEmailID>:'<AdminPassword>' "http://MS_IP:8080/v1/o/ORG/pods" -d "action=remove®ion=dc-1&pod=gateway-1" -H "Content-Type: application/x-www-form-urlencoded" -X POST
- 조직에서 사용 가능한 모든 포드를 나열합니다.
- 포드를 삭제합니다.
curl -v -u <AdminEmailID>:'<AdminPassword>' "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1" -X DELETE
- 리전을 삭제합니다.
curl -v -u <AdminEmailID>:'<AdminPassword>' "http://MS_IP:8080/v1/regions/dc-1" -X DELETE
이제 dc-1의 지원 중단이 완료되었습니다.
부록
문제 해결
이전 단계를 수행한 후에도 일부 포드에 서버가 남아 있는 경우 다음 단계에 따라 서버를 등록 해제하고 삭제합니다. 참고: 필요에 따라 유형과 팟을 변경합니다.
- 다음 명령어를 사용하여 UUID를 가져옵니다.
apigee-adminapi.sh servers list -r dc-1 -p POD -t --admin <AdminEmailID> --pwd '<AdminPassword>’ --host localhost
- 서버 유형을 등록 해제합니다.
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MP_IP:8080/v1/servers -d "type=TYPE=REGION=dc-1&pod=POD&uuid=UUID&action=remove"
- 서버를 하나씩 삭제합니다.
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®ion=dc-1
curl -v -u <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=gateway®ion=dc-1
curl -v -u <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=analytics®ion=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 노드에서 다음을 입력합니다.
/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
중 하나입니다. -
ZooKeeper 노드에서 다음을 실행합니다.
/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
)를 입력합니다.그런 다음 다음 쿼리를 실행하여 최대
client_received_start_timestamp
을 확인합니다.SELECT max(client_received_start_timestamp) FROM "analytics"."$org.$env.fact" LIMIT 1;
Cassandra/ZooKeeper 노드
로그
구성요소의 로그를 확인하여 오류가 없는지 확인합니다.
- 새 마스터에서 구성 파일을 수정하여 다음을 설정합니다.