データセンターのデコミッションが必要になる場合があります。たとえば、オペレーティング システムをアップグレードする場合は、新しいデータセンターに新しいオペレーティング システムをインストールしてから、古いデータセンターを廃止する必要があります。以下のセクションでは、12 ノードのクラスタ インストールに 2 つのデータセンター(dc-1 と dc-2)がある場合に、データセンターをデコミッションする例を示します。
- dc-1 は廃止されるデータセンターです。
- dc-2 は 2 番目のデータセンターで、デコミッション手順で使用されます。
オペレーティング システムをアップグレードする場合、dc-2 は、新しいバージョンのオペレーティング システム(OS)をインストールしたデータセンターになります。ただし、データセンターのデコミッションに新しい OS をインストールする必要はありません。
データセンターの廃止前の考慮事項
データセンターをデコミッションする際は、次の点に注意してください。
- 廃止するデータセンターへのすべてのランタイム トラフィックと管理トラフィックをブロックし、他のデータセンターにリダイレクトします。
- データセンターを廃止すると、Apigee クラスタの容量が減少します。これを補うには、残りのデータセンターの容量を増やすか、デコミッション後にデータセンターを追加することを検討してください。
- デコミッション プロセス中に、デコミッションされるデータセンターにインストールされている分析コンポーネントによっては、分析データが失われる可能性があります。詳細については、Qpid ノードの追加と削除をご覧ください。
- データセンターを廃止する前に、すべてのデータセンターで、特に SymasLDAP、ZooKeeper、Cassandra、Postgres サーバーなどのすべてのコンポーネントがどのように構成されているかを理解する必要があります。また、すべてのコンポーネントとその構成のバックアップも作成する必要があります。
始める前に
- Management Server: すべてのデコミッション手順は、Management Server に大きく依存します。使用可能な Management Server が 1 つしかない場合は、dc-1 の Management Server を廃止する前に、dc-1 以外のデータセンターに新しい Management Server コンポーネントをインストールし、いずれかの Management Server が常に使用可能であることを確認することをおすすめします。
- Router: Router を廃止する前に、ポート 15999 をブロックして Router のネットワーク到達性を無効にします。廃止されるルーターにランタイム トラフィックが転送されていないことを確認します。
- Cassandra と ZooKeeper:
次のセクションでは、2 つのデータセンター設定で dc-1 を廃止する方法について説明します。
データセンターが 3 つ以上ある場合は、残りのすべてのデータセンターのすべてのサイレント構成ファイルから、廃止するノード(この場合は dc-1)への参照をすべて削除してください。廃止する Cassandra ノードの場合は、
CASS_HOSTSからそれらのホストを削除します。残りの Cassandra ノードは、元の順序CASS_HOSTSのままにする必要があります。 - Postgres: Postgres マスターを廃止する場合は、使用可能なスタンバイ ノードのいずれかを新しい Postgres マスターとして昇格させてください。QPID サーバーはキューにバッファを保持しますが、Postgres マスターが長時間使用できない場合、分析データが失われる可能性があります。
前提条件
コンポーネントをデコミッションする前に、すべてのノードの完全バックアップを実行することをおすすめします。現在の Edge バージョンのバックアップ手順に沿ってください。バックアップの詳細については、バックアップと復元をご覧ください。
- 次のコマンドを使用して、廃止前に Edge が稼働していることを確認します。
/opt/apigee/apigee-service/bin/apigee-all status
- 現在、デコミッションするデータセンターにランタイム トラフィックが到着していないことを確認します。
コンポーネントの廃止順序
Edge for Private Cloud を複数のノードにインストールする場合は、次の順序でそれらのノードの Edge コンポーネントを廃止する必要があります。
- 新しい Edge UI(
edge-management-uiおよびedge-management-ui-static) - Management Server(edge-management-server)
- Symas LDAP(apigee-openldap)
- Router(edge-router)
- Message Processor(edge-message-processor)
- Qpid Server と Qpidd(edge-qpid-server と apigee-qpidd)
- Postgres と PostgreSQL データベース(edge-postgres-server と apigee-postgresql)
- ZooKeeper(apigee-zookeeper)
- Cassandra(apigee-cassandra)
以降のセクションでは、各コンポーネントの廃止方法について説明します。
新しい Edge UI
dc-1 の New Edge UI コンポーネントを停止してアンインストールするには、次のコマンドを入力します。
/opt/apigee/apigee-service/bin/apigee-service edge-management-ui stop/opt/apigee/apigee-service/bin/apigee-service edge-management-ui uninstall/opt/apigee/apigee-service/bin/apigee-service edge-management-ui-static uninstall
管理サーバー
dc-1 で管理サーバーを廃止するには、次の操作を行います。
- dc-1 で Management Server を停止します。
apigee-service edge-management-server stop
- dc-1 に登録されている Management Server の 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 で Management Server コンポーネントをアンインストールします。
/opt/apigee/apigee-service/bin/apigee-service edge-management-server uninstall
Symas LDAP
このセクションでは、dc-1 で SymasLDAP を廃止する方法について説明します。
注: 3 つ以上のデータセンターがある場合は、下記の 3 つ以上のデータセンターがある設定をご覧ください。
dc-1 で SymasLDAP を廃止する手順は次のとおりです。
- バックアップ方法の手順に沿って、dc-1 SymasLDAP ノードをバックアップします。
両方のデータセンターで次の手順を実行して、2 つのデータセンター(dc-1 と dc-2)間のデータ レプリケーションを中断します。
- 現在の状態を確認します。
/opt/symas/bin/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}mdb,cn=config changetype: modify delete: olcSyncRepl dn: olcDatabase={2}mdb,cn=config changetype: modify delete: olcMirrorMode ldapmodifyコマンドを実行します。/opt/symas/bin/ldapmodify -x -w {credentials} -D "cn=admin,cn=config" -H "ldap://{HOST}:{PORT}/" -f path/to/file/break_repl.ldif出力例を以下に示します。
modifying entry "olcDatabase={2}mdb,cn=config" modifying entry "olcDatabase={2}mdb,cn=config"
- 現在の状態を確認します。
dc-2 が dc-1 に複製されなくなったことを確認するには、dc-2 LDAP にエントリを作成し、dc-1 の LDAP に表示されないことを確認します。
必要に応じて、次の手順に沿って dc-2 SymasLDAP ノードに読み取り権限のみのユーザーを作成し、ユーザーがレプリケーションされているかどうかを確認します。その後、ユーザーは削除されます。
- 次の内容の
readonly-user.ldifファイルを dc-2 に作成します。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` コマンドを使用してユーザーを追加します。
/opt/symas/bin/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 が複製されていないことがわかります。
/opt/symas/bin/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
- 以前に追加した読み取り権限のみのユーザーを削除します。
/opt/symas/bin/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-1 で SymasLDAP を停止します。
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
- dc-1 で SymasLDAP コンポーネントをアンインストールします。
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap uninstall
ルーター
このセクションでは、ルーターを廃止する方法について説明します。Router の削除の詳細については、 サーバーを削除するをご覧ください。
次の手順では、dc-1 から Router をデコミッションします。dc-1 に複数の Router ノードが構成されている場合は、すべての Router ノードで手順を 1 つずつ実行します。
注: ここでは、ルーターのヘルスチェック ポート 15999 がロードバランサで構成されており、ポート 15999 をブロックするとルーターにアクセスできなくなることを前提としています。ポートをブロックするには、root アクセス権が必要になる場合があります。
ルーターを廃止するには、次の操作を行います。
ヘルスチェック ポートであるポート 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 を取得するの説明に従って、Router の UUID を取得します。
- ルーターを停止します。
/opt/apigee/apigee-service/bin/apigee-service edge-router stop
- 次のコマンドを使用して、組織で使用可能なゲートウェイ Pod を一覧表示します。
curl -u <AdminEmailID>:'<AdminPassword>' -X GET "http://{MS_IP}:8080/v1/organizations/{ORG}/pods"Pod についてをご覧ください。
- サーバーのタイプを登録解除します。
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
iptablesルールをフラッシュして、ブロックされたポート 15999 を有効にします。iptables -F
Message Processor
このセクションでは、dc-1 から Message Processor をデコミッションする方法について説明します。Message Processor の削除の詳細については、 サーバーを削除するをご覧ください。
dc-1 に 12 ノードのクラスタ化されたインストールがあると仮定しているため、dc-1 には 2 つの Message Processor ノードが構成されています。両方のノードで次のコマンドを実行します。
- UUID を取得するの説明に沿って、Message Processor の UUID を取得します。
- Message Processor を停止します。
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" - Message Processor から環境の関連付けを解除します。
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" - Message Processor をアンインストールします。
/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 には 2 つの 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 マスターにホストエントリを追加するには、以下の該当するセクションの手順に沿って操作します。
スタンバイ ノードが 1 つしか残っていない場合
たとえば、廃止前に 3 つの Postgres ノードが構成されていたとします。既存のマスターを廃止し、残りの postgres スタンバイ ノードの 1 つをマスターに昇格させました。次の手順で、残りのスタンバイ ノードを構成します。
- 新しいマスターで、構成ファイルを編集して次のように設定します。
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
スタンバイ ノードが複数残っている場合
/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
このセクションでは、2 つのデータセンターの設定で ZooKeeper サーバーと Cassandra サーバーをデコミッションする方法について説明します。
データセンターが 3 つ以上ある場合は、残りのすべてのデータセンターのすべてのサイレント構成ファイルから、デコミッションするノード(この場合は dc-1)への参照をすべて削除してください。廃止する Cassandra ノードについては、
CASS_HOSTSからホストを削除します。残りの Cassandra ノードは、CASS_HOSTSの元の順序のままにする必要があります。ZooKeeper に関する注: 構成ファイルの
ZK_HOSTプロパティを変更する際は、ZooKeeper アンサンブルが機能し続けるように、ボーターノードのクォーラムを維持する必要があります。構成には奇数の投票ノードが必要です。詳細については、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 に IP
$IP1 $IP2 $IP3、dc-2 に IP$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"
- 既存の構成ファイルのエントリ:
- 削除されたノードの IP を使用してサイレント構成ファイル(ステップ e で変更)を更新し、Management Server をホストするすべてのノードで Management Server プロファイルを実行します。
/opt/apigee/apigee-setup/bin/setup.sh -p ms -f updated_config_file
- 削除されたデコミッション ノードの IP で構成ファイルを更新し、すべての Router ノードと Message Processor ノードで MP/RMP プロファイルを実行します。
- Edge Router と Message Processor が同じノードに構成されている場合は、次のように入力します。
/opt/apigee/apigee-setup/bin/setup.sh -p rmp -f updated_config_file
Edge Router と Message Processor が別々のノードに構成されている場合は、次のように入力します。
ルーターの場合:
/opt/apigee/apigee-setup/bin/setup.sh -p r -f updated_config_file
Message Processor の場合:
/opt/apigee/apigee-setup/bin/setup.sh -p mp -f updated_config_file
- Edge Router と Message Processor が同じノードに構成されている場合は、次のように入力します。
- すべての Qpid ノードを再構成し、廃止されたノードの IP をレスポンス ファイルから削除します。
/opt/apigee/apigee-setup/bin/setup.sh -p qs -f updated_config_file
- すべての Postgres ノードを再構成し、レスポンス ファイルからデコミッションされたノードの IP を削除します。
/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'に設定します。これは、クラスタ内の 3 つの Cassandra ノードを示します。必要に応じてこの値を変更します。この手順を完了すると、Cassandra トポロジのどのキースペースにも
dc-1が存在しなくなります。- dc-1 の Cassandra ノードを 1 つずつ廃止します。
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 からバインディングを削除します。
- 組織で使用可能なすべての Pod を一覧表示します。
curl -v -u <AdminEmailID>:'<AdminPassword>' -X GET "http://MS_IP:8080/v1/o/ORG/pods"
- すべてのバインディングが削除されたかどうかを確認するには、Pod に関連付けられているサーバーの 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
- Pod から組織の関連付けを解除します。
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
- 組織で使用可能なすべての Pod を一覧表示します。
- Pod を削除します。
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 のデコミッションが完了しました。
付録
トラブルシューティング
上記の手順を完了しても、一部の Pod にサーバーが残っている場合は、次の手順でサーバーの登録を解除して削除します。注: 必要に応じて、タイプと Pod を変更します。
- 次のコマンドを使用して 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"
- サーバーを 1 つずつ削除します。
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®ion=dc-1
curl -v -u <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=gateway®ion=dc-1curl -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ステータスが返されます。 -
1 つのノードで、次のように入力します。
/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のいずれかになります。 -
1 つの 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 ノード
ログ
コンポーネントのログを調べて、エラーがないことを確認します。
- 新しいマスターで、構成ファイルを編集して次のように設定します。