AEM でコールドスタンバイインスタンスを設定する方法
環境
AEM 6.0, 6.1, 6.2, 6.3 とそれ以降のバージョン
プライマリーインスタンスを設定します
- Cold Standby の設定について、プライマリーインスタンスのディレクトリを設定します。
- プライマリインスタンスのディレクトリで、java -jar quickstart.jar -unpack のコマンドを使いながら AEM をアンパックします。
- install.zip をダウンロードし、crx-quickstart ディレクトリに格納します。
- 添付された install.zip アーカイブのコンテンツを抽出し、インストールフォルダーを作成します。
- コマンド java -jar quickstart.jar -r primary,crx3,crx3tar でプライマリインスタンスを開始します。
- インスタンスが起動して実行されるまで待機します。
- http://host:port/system/console/slinglog で Web コンソールに移動して、クラスのためにデバッグロガーを作成します。
- org.apache.jackrabbit.oak.plugins.segment (AEM 6.0-AEM 6.2) または
- org.apache.jackrabbit.oak.segment(AEM 6.3 以上)
- ロガー tarmk-coldstandby.log を名付けます。
- Web コンソール(http://host:port/system/console/configMgr)に移動します。
- 6.0~6.2 サービスの場合、Apache Jackrabbit Oak TarMK Cold Standby を検索して、モードおよびその他の設定が正しく、プライマリインスタンスと一致しているかを観察します。
- 6.3 以降のサービスの場合、Apache Jackrabbit Oak Segment Tar Cold Standby Service を検索して、モードおよびその他の設定が正しく、プライマリインスタンスと一致しているかを観察します。
- 適切なプライマリー runmode が表示されていることを確認するために、http://host:port/system/console/status-slingsettings に移動します。
スタンバイインスタンスを設定します
1. コールドスタンバイ設定のスタンバイインスタンス用のディレクトリを設定します。
2. プライマリインスタンスをシャットダウンし、crx-quickstart ディレクトリをバックアップします。
3. プライマリインスタンスを再開します。
4. プライマリインスタンスからスタンバイディレクトリに /crx-quickstart ディレクトリをコピーします。
注意:これには /install フォルダーおよび他の設定が既に含まれている必要があります。
5. /crx-quickstart ディレクトリ内の sling.id ファイルを検索して、削除します。
6. java -jar quickstart.jar -r standby,crx3,crx3tar でスタンバイインスタンスを開始し、インスタンスが起動するのを待ちます。
7. Web コンソール(http://host:port/system/console/configMgr)に移動します。
a. 6.0~6.2 サービスの場合、Apache Jackrabbit Oak TarMK Cold Standby を検索して、モードおよびその他の設定が正しく、プライマリインスタンスと一致しているかを観察します。
b. 6.3 以降のサービスの場合、Apache Jackrabbit Oak Segment Tar Cold Standby Service を検索して、モードおよびその他の設定が正しく、プライマリインスタンスと一致しているかを観察します。
注意:上記の設定でもモードがプライマリとして表示される場合は、これをスタンバイに変更し、設定を保存して、スタンバイ AEM インスタンスを再開します。 インスタンスがプライマリからコピーされたので、これはセットアップ時に一時必要となるアクションです。
8. http://host:port/system/console/status-slingsettings に移動して正しいスタンバイ実行モードが表示されていることを確認します。
9. error.log および tarmk-coldstandby.log をテールして、プライマリおよびスタンバイインスタンス間の通信の詳細を確認します。
スタンバイインスタンスの検証
次のようにスタンバイ設定をテストします。
- プライマリインスタンスで http://host:port/assets.html/content/dam に移動して画像をアップロードします
- 数分待ってから、スタンバイインスタンスで同じパスを確認します。
- 画像が同期している場合、コールドスタンバイ設定は期待どおりに機能します。
問題が発生した場合は、次の手順でスタンバイインスタンスを確認します。
- 実行モードを「プライマリ」にして、プライマリインスタンスを開始していることを確認します。
- tarmk-standby.log
をモニターして以下のようなメッセージが表示されることを確認します:
*INFO* [FelixStartLevel] org.apache.jackrabbit.oak.plugins.segment.standby.store.StandbyStoreService が許容 IP 範囲 [0.0.0.0-255.255.255.255] でポート 8023 のプライマリで開始しました。
または
*INFO* [FelixStartLevel] org.apache.jackrabbit.oak.plugins.segment.standby.store.StandbyStoreService が許容 IP 範囲 [] でポート 8023 のプライマリで開始しました。 - プライマリインスタンス上で、http://host:port/system/console/jmx/ に移動し、「Standby」を検索します
次が表示されます。
Mode: primary
Status: running
Running: true - 「スタンバイ」実行モードでスタンバイインスタンスを開始することを確認します
- tarmk-standby.log を監視し、以下に類似のメッセージが表示されることを確認します:
(IP アドレスは、install.standby\ org.apache.jackrabbit.oak.plugins.segment.standby.store.StandbyStoreService.config で設定したものと同様になります)
*INFO* [FelixStartLevel] org.apache.jackrabbit.oak.plugins.segment.standby.store.StandbyStoreService started standby sync with 127.0.0.1:8023 at 5 sec.
*INFO* [CM Event Dispatcher (Fire ConfigurationEvent: pid=org.apache.jackrabbit.oak.plugins.segment.standby.store.StandbyStoreService)] org.apache.jackrabbit.oak.plugins.segment.standby.store.StandbyStoreService started standby sync with 127.0.0.1:8023 at 5 sec. - スタンバイインスタンス上で、http://host:port/system/console/jmx/ に移動し、「Standby」を検索します
次が表示されます。
FailedRequests: 0
SecondsSinceLastSuccess: 2
Mode client: dd46f264-78ec-44f6-b3f6-ad339e13d1fa
Status: running
Running: true - プライマリインスタンスに戻り、http://host:port/system/console/jmx/ に移動し、「Standby」を検索します。ここで 2 つのスタンバイレコードが表示されます。一方はプライマリ用に #3 で確認済み、もう一方はスタンバイ用に以下のようなプロパティが含まれます。
TransferredBinariesBytes 0
TransferredSegmentBytes 7229892
TransferredBinaries 0
TransferredSegments 247
LastSeenTimestamp Wed Oct 05 13:38:01 EDT 2016
RemotePort 50446
RemoteAddress 127.0.0.1
スタンバイインスタンスのプライマリ作成
- スタンバイインスタンスのシャットダウン
- コマンド java -jar quickstart.jar -r primary,crx3,crx3tar を使用してインスタンスを開始します