場合によっては、データセンターを廃止する必要があります。たとえば、オペレーティング システムをアップグレードする場合は、新しいデータセンターに新しいオペレーティング システムをインストールしてから、古いデータセンターを廃止する必要があります。以下のセクションでは、12 ノードクラスタ構成で 2 つのデータセンター(dc-1 と dc-2)が含まれるデータセンターを廃止する例を説明します。
- dc-1 は、廃止するデータセンターです。
- dc-2 は、廃止手順で使用する 2 つ目のデータセンターです。
オペレーティング システムをアップグレードする場合、dc-2 を、新しいバージョンのオペレーティング システム(OS)をインストールしたデータセンターとして使用できます。ただし、新しい OS のインストールは、データセンターを廃止するための要件ではありません。
データセンターの廃止にあたっての考慮事項
データセンターを廃止する際には、以下の点を考慮してください。
- 廃止するデータセンターへのランタイム トラフィックと管理トラフィックをすべてブロックし、他のデータセンターにリダイレクトします。
- データセンターの廃止後には、Apigee クラスタの容量が減ります。 これに対処するために、残りのデータセンターの容量の増加や、廃止後のデータセンターの追加を検討します。
- 廃止するデータセンターにインストールされている分析コンポーネントによっては、廃止プロセスで分析データが失われる可能性があります。詳しくは、Qpid ノードの追加と削除をご覧ください。
- データセンターを廃止する前に、すべてのデータセンターですべてのコンポーネント(特に OpenLDAP、ZooKeeper、Cassandra、Postgres サーバー)がどのように構成されているかを把握しておく必要があります。また、すべてのコンポーネントとその構成のバックアップを取る必要もあります。
始める前に
- Management Server: すべての廃止手順は Management Server に大きく依存します。利用可能な Management Server が 1 つのみの場合は、dc-1 で Management Server を廃止する前に、dc-1 以外のデータセンターに新しい Management Server コンポーネントをインストールし、いずれかの Management Server が常に利用可能であることを確認することをおすすめします。
- Router: Router を廃止する前に、ポート 15999 をブロックして Router のネットワーク到達性を無効にします。廃止する Router にランタイム トラフィックが送信されていないことを確認します。
- Cassandra と ZooKeeper: 以下のセクションでは、2 データセンター構成で dc-1 を廃止する方法について説明します。
3 つ以上のデータセンターがある場合は、廃止するノード(この場合は dc-1)へのすべての参照を、その他のすべてのデータセンターのすべてのサイレント構成ファイルから削除します。 廃止する Cassandra ノードについては、
CASS_HOSTS
からそれらのホストを削除します。 残りの Cassandra ノードはCASS_HOSTS
の元の順序のままにする必要があります。 - Postgres: Postgres マスターを廃止する場合は、使用可能なスタンバイ ノードのいずれかを新しい postgres マスターに昇格させます。Qpid Server ではバッファがキューに保持されますが、Postgres マスターが長時間使用できない場合、分析データが失われる可能性があります。
前提条件
コンポーネントを廃止する前に、すべてのノードの完全なバックアップを行うことをおすすめします。現在の Edge バージョンのバックアップ手順を使用してください。 バックアップの詳細については、バックアップと復元をご覧ください。
- 廃止を行う前に、次のコマンドを使用して Edge が稼働していることを確認します。
/opt/apigee/apigee-service/bin/apigee-all status
- 廃止するデータセンターに現在着信しているランタイム トラフィックがないことを確認します。
コンポーネントの廃止順序
Edge for Private Cloud を複数のノードにインストールする場合は、これらのノードの Edge コンポーネントを次の順序で廃止する必要があります。
- Edge UI(edge-ui)
- Management Server(edge-management-server)
- OpenLDAP(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 の Edge UI コンポーネントを停止してアンインストールするには、次のコマンドを入力します。
/opt/apigee/apigee-service/bin/apigee-service edge-ui stop
/opt/apigee/apigee-service/bin/apigee-service edge-ui uninstall
管理サーバー
dc-1 で Management Server を廃止する手順は次のとおりです。
- 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
Open LDAP
このセクションでは、dc-1 で OpenLDAP を廃止する方法について説明します。
注: 3 つ以上のデータセンターがある場合は、以下の3 つ以上のデータセンターからなる構成をご覧ください。
dc-1 で OpenLDAP を廃止する手順は次のとおりです。
- バックアップ方法の手順に沿って、dc-1 OpenLDAP ノードをバックアップします。
データセンター dc-1 と dc-2 の両方で次の手順を実施して、この 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 が dc-1 にレプリケートされていないことを確認するには、dc-2 LDAP にエントリを作成し、dc-1 の LDAP にこのエントリが表示されないことを確認します。
必要に応じて、次の手順を実施できます。この手順では、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
ルーター
このセクションでは、Router を廃止する方法について説明します。Router の削除について詳しくは、 サーバーの削除をご覧ください。
次の手順では、dc-1 の Router を廃止します。 dc-1 で複数の Router ノードが構成されている場合は、すべての Router ノードで、この手順をノードごとに行います。
注: ここでは、ロードバランサで Router のヘルスチェック ポート 15999 が構成されており、このポート 15999 をブロックすることで Router が到達不可能になることを前提としています。ポートをブロックするために、ルートアクセス権が必要になることがあります。
Router を廃止する手順は次のとおりです。
ポート 15999(ヘルスチェック ポート)をブロックして、Router のネットワーク到達性を無効にします。 このデータセンターでランタイム トラフィックがブロックされていることを確認します。
iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
Router が到達可能であることを確認します。
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 を取得します。
- Router を停止します。
/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 Server と 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 Server の登録を解除します。
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 Server を削除します。
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 に関する注: 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
- 構成ファイルを更新して、廃止するノードの IP を
ZK_HOSTS
とCASS_HOSTS
から削除します。例: 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"
- 既存の構成ファイルのエントリ:
- 削除された廃止ノードの 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 が別々のノードで構成されている場合は、次のように入力します。
Router:
/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 が同じノードで構成されている場合は、次のように入力します。
- レスポンス ファイルから廃止されたノードの 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'
に設定します。これは、クラスタ内の 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-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
が返されます。 -
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 ノード
ログ
コンポーネントのログを調べて、エラーがないことを確認します。
- 新しいマスターで、構成ファイルを編集して次のように設定します。