2.9. ブローカーインスタンスの 7.9.x から 7.10.x へのアップグレード
以下のサブセクションでは、異なるオペレーティングシステムの 7.9.x ブローカーインスタンスを 7.10.x にアップグレードする方法を説明します。
AMQ Broker 7.1.0 以降では、デフォルトでローカルホストからのみ AMQ 管理コンソールにアクセスできます。コンソールにリモートアクセスを設定する方法は、Configuring local and remote access to AMQ Management Console を参照してください。
2.9.1. Linux の 7.9.x から 7.10.x へのアップグレード
ダウンロードするアーカイブの名前は、以下の例で使用されているものとは異なる場合があります。
前提条件
- AMQ Broker 7.10.x を実行するには、少なくとも Java バージョン 11 が必要です。各 AMQ Broker ホストが Java バージョン 11 以降を実行していることを確認します。サポートされている設定の詳細は、Red Hat AMQ Broker 7 Supported Configurations を参照してください。
-
AMQ Broker 7.9 がメッセージデータをデータベースに保存するように設定されている場合、HOLDER_EXPIRATION_TIME 列のデータ型はノードマネージャーデータベーステーブルの
timestamp
です。AMQ Broker 7.10 では、列のデータ型がnumber
に変更されました。AMQ Broker 7.10.x にアップグレードする前に、ノードマネージャーテーブルをドロップする、つまりデータベースから削除する必要があります。テーブルを削除した後、アップグレードされたブローカーを再起動すると、新しいスキーマでテーブルが再作成されます。共有ストアの高可用性 (HA) 設定では、ノードマネージャーテーブルはブローカー間で共有されます。したがって、テーブルを削除する前に、テーブルを共有するすべてのブローカーが停止していることを確認する必要があります。次の例では、NODE_MANAGER_TABLE
というノードマネージャーテーブルを削除します。
DROP TABLE NODE_MANAGER_TABLE
手順
- Red Hat カスタマーポータルから必要なアーカイブをダウンロードします。AMQ Broker アーカイブのダウンロード に記載されている手順に従います。
アーカイブの所有者を、AMQ Broker インストールが含まれるのと同じユーザーに変更します。以下の例では、
amq-broker
というユーザーを設定しています。sudo chown amq-broker:amq-broker amq-broker-7.x.x-bin.zip
AMQ Broker の元のインストール時に作成されたディレクトリーにアーカイブを移動します。以下の例では、
/opt/redhat
を使用しています。sudo mv amq-broker-7.x.x-bin.zip /opt/redhat
ディレクトリーの所有者は、圧縮アーカイブのコンテンツをデプロイメントします。以下の例では、ユーザー
amq-broker
はunzip
コマンドを使用してアーカイブをデプロイメントします。su - amq-broker cd /opt/redhat unzip amq-broker-7.x.x-bin.zip
ブローカーが実行されている場合は停止します。
<broker_instance_dir>/bin/artemis stop
現在のユーザーのホームディレクトリーにコピーして、ブローカーのインスタンスディレクトリーをバックアップします。
cp -r <broker_instance_dir> ~/
(オプション) ブローカーの現行バージョンをメモします。ブローカーが停止すると、
<broker_instance_dir>/log/artemis.log
ファイルの最後に以下のような行が表示されます。INFO [org.apache.activemq.artemis.core.server] AMQ221001: Apache ActiveMQ Artemis Message Broker version 2.18.0.redhat-00010 [0.0.0.0, nodeID=554cce00-63d9-11e8-9808-54ee759954c4]
<broker_instance_dir>/etc/artemis.profile
設定ファイルを編集してください。アーカイブの抽出時に作成された新しいディレクトリーに
ARTEMIS_HOME
プロパティーを設定します。以下に例を示します。ARTEMIS_HOME='/opt/redhat/amq-broker-7.x.x-bin'
<broker_instance_dir>/etc/bootstrap.xml
設定ファイルを編集します。web
要素で、7.10.x の AMQ 管理コンソールに必要な.war
ファイルの名前を更新します。<web path="web"> <binding uri="https://localhost:8161" ... <app url="console" war="hawtio.war"/> ... </web>
broker xmlns
要素で、スキーマ値を"http://activemq.org/schema"
から"http://activemq.apache.org/schema"
に変更します。<broker xmlns="http://activemq.apache.org/schema">
<broker_instance_dir>/etc/management.xml
ファイルを編集します。management-context xmlns
要素で、スキーマ値を"http://activemq.org/schema"
から"http://activemq.apache.org/schema"
に変更します。<management-context xmlns="http://activemq.apache.org/schema">
アップグレードされたブローカーを起動します。
<broker_instance_dir>/bin/artemis run
(オプション) ブローカーが実行され、バージョンが変更されたことを確認します。ブローカーを起動したら、
<broker_instance_dir>/log/artemis.log
ファイルを開きます。以下のような 2 つの行を見つけます。ブローカーの稼働時にログに表示される新しいバージョン番号に注意してください。INFO [org.apache.activemq.artemis.core.server] AMQ221001: Apache ActiveMQ Artemis Mes INFO [org.apache.activemq.artemis.core.server] AMQ221007: Server is now live ... sage Broker version 2.21.0.redhat-00025 [0.0.0.0, nodeID=554cce00-63d9-11e8-9808-54ee759954c4]
関連情報
- ブローカーのインスタンス作成に関する詳細は、ブローカーインスタンスの作成を参照してください。
-
ブローカーインスタンスの設定ファイルおよびデータを、ブローカーインスタンスのディレクトリー外の場所を含む、カスタムディレクトリーに格納できるようになりました。
<broker_instance_dir>/etc/artemis.profile
ファイルで、ブローカーインスタンスの作成後のカスタムディレクトリーの場所を指定し、ARTEMIS_INSTANCE_ETC_URI
プロパティーを更新します。以前のバージョンでは、これらの設定ファイルとデータは、ブローカーインスタンスのディレクトリー内のetc/
ディレクトリーおよびdata/
ディレクトリーにのみ保存できました。
2.9.2. Windows の 7.9.x から 7.10.x へのアップグレード
前提条件
- AMQ Broker 7.10.x を実行するには、少なくとも Java バージョン 11 が必要です。各 AMQ Broker ホストが Java バージョン 11 以降を実行していることを確認します。サポートされている設定の詳細は、Red Hat AMQ Broker 7 Supported Configurations を参照してください。
-
AMQ Broker 7.9 がメッセージデータをデータベースに保存するように設定されている場合、HOLDER_EXPIRATION_TIME 列のデータ型はノードマネージャーデータベーステーブルの
timestamp
です。AMQ Broker 7.10 では、列のデータ型がnumber
に変更されました。AMQ Broker 7.10.x にアップグレードする前に、ノードマネージャーテーブルをドロップする、つまりデータベースから削除する必要があります。テーブルを削除した後、アップグレードされたブローカーを再起動すると、新しいスキーマでテーブルが再作成されます。共有ストアの高可用性 (HA) 設定では、ノードマネージャーテーブルはブローカー間で共有されます。したがって、テーブルを削除する前に、テーブルを共有するすべてのブローカーが停止していることを確認する必要があります。次の例では、NODE_MANAGER_TABLE
というノードマネージャーテーブルを削除します。
DROP TABLE NODE_MANAGER_TABLE
手順
- Red Hat カスタマーポータルから必要なアーカイブをダウンロードします。AMQ Broker アーカイブのダウンロード に記載されている手順に従います。
- ファイルマネージャーを使用して、アーカイブを AMQ Broker の最後のインストール時に作成したフォルダーに移動します。
- アーカイブの内容をデプロイメントします。.zip ファイルを右クリックし、Extract All を選択します。
ブローカーが実行されている場合は停止します。
<broker_instance_dir>\bin\artemis-service.exe stop
ファイルマネージャーを使用してブローカーをバックアップします。
-
<broker_instance_dir>
フォルダーを右クリックし、Copy を選択します。 - 同じウィンドウを右クリックし、Paste を選択します。
-
(オプション) ブローカーの現行バージョンをメモします。ブローカーが停止すると、
<broker_instance_dir>\log\artemis.log
の末尾に以下のような行が表示されます。INFO [org.apache.activemq.artemis.core.server] AMQ221002: Apache ActiveMQ Artemis Message Broker version 2.18.0.redhat-00010[4782d50d-47a2-11e7-a160-9801a793ea45] stopped, uptime 28 minutes
<broker_instance_dir>\etc\artemis.profile.cmd
および<broker_instance_dir>\bin\artemis-service.xml
設定ファイルを編集してください。アーカイブの抽出時に作成された新しいディレクトリーにARTEMIS_HOME
プロパティーを設定します。ARTEMIS_HOME=
<install_dir>
<broker_instance_dir>\etc\artemis.profile.cmd
設定ファイルを編集します。以下に示すように、JAVA_ARGS
環境変数が、ログマネージャーおよび依存するファイルの正しいバージョンを参照することを確認します。JAVA_ARGS=-Xbootclasspath/%ARTEMIS_HOME%\lib\jboss-logmanager-2.1.10.Final-redhat-00001.jar;%ARTEMIS_HOME%\lib\wildfly-common-1.5.2.Final-redhat-00002.jar
<broker_instance_dir>\bin\artemis-service.xml
設定ファイルを編集します。以下に示すように、ブートストラップクラスパスの開始引数がログマネージャーおよび依存するファイルの正しいバージョンを参照することを確認します。<startargument>-Xbootclasspath/a:%ARTEMIS_HOME%\lib\jboss-logmanager-2.1.10.Final-redhat-00001.jar;%ARTEMIS_HOME%\lib\wildfly-common-1.5.2.Final-redhat-00002.jar</startargument>
<broker_instance_dir>\etc\bootstrap.xml
設定ファイルを編集します。web
要素で、7.10.x の AMQ 管理コンソールに必要な.war
ファイルの名前を更新します。<web path="web"> <binding uri="https://localhost:8161" ... <app url="console" war="hawtio.war"/> ... </web>
broker xmlns
要素で、スキーマ値を"http://activemq.org/schema"
から"http://activemq.apache.org/schema"
に変更します。<broker xmlns="http://activemq.apache.org/schema">
<broker_instance_dir>/etc/management.xml
ファイルを編集します。management-context xmlns
要素で、スキーマ値を"http://activemq.org/schema"
から"http://activemq.apache.org/schema"
に変更します。<management-context xmlns="http://activemq.apache.org/schema">
アップグレードされたブローカーを起動します。
<broker_instance_dir>\bin\artemis-service.exe start
(オプション) ブローカーが実行され、バージョンが変更されたことを確認します。ブローカーを起動した後、
<broker_instance_dir>\log\artemis.log
ファイルを開きます。以下のような 2 つの行を見つけます。ブローカーの稼働時にログに表示される新しいバージョン番号に注意してください。INFO [org.apache.activemq.artemis.core.server] AMQ221007: Server is now live ... INFO [org.apache.activemq.artemis.core.server] AMQ221001: Apache ActiveMQ Artemis Message Broker version 2.21.0.redhat-00025 [0.0.0.0, nodeID=554cce00-63d9-11e8-9808-54ee759954c4]
関連情報
- ブローカーのインスタンス作成に関する詳細は、ブローカーインスタンスの作成を参照してください。
-
ブローカーインスタンスの設定ファイルおよびデータを、ブローカーインスタンスのディレクトリー外の場所を含む、カスタムディレクトリーに格納できるようになりました。In the
<broker_instance_dir>\etc\artemis.profile
ファイルで、ブローカーインスタンスの作成後にカスタムディレクトリーの場所を指定し、ARTEMIS_INSTANCE_ETC_URI
プロパティーを更新します。以前のバージョンでは、これらの設定ファイルとデータは、ブローカーインスタンスのディレクトリー内の\etc
ディレクトリーおよび\data
ディレクトリーにのみ保存できました。