4.6. ブローカーのデフォルトのメモリー制限をオーバーライドする
ブローカーに設定されているデフォルトのメモリー制限をオーバーライドできます。デフォルトでは、ブローカーには、ブローカーの Java 仮想マシンで使用可能な最大メモリーの半分が割り当てられます。次の手順は、ブローカーデプロイメントのカスタムリソース (CR) インスタンスを設定して、デフォルトのメモリー制限を上書きする方法を示しています。
前提条件
- CR インスタンスを使用して基本的なブローカーデプロイメントを作成する方法を理解する必要があります。「基本的なブローカーインスタンスのデプロイ」 を参照してください。
手順
カスタムリソース (CR) インスタンスの設定を開始して、基本的なブローカーのデプロイメントを作成します。
OpenShift コマンドラインインターフェイスの使用:
ブローカーデプロイメントのプロジェクトに CR をデプロイする権限を持つユーザーとして OpenShift にログインします。
oc login -u <user> -p <password> --server=<host:port>
-
ダウンロードした Operator インストールアーカイブの
deploy/crs
ディレクトリーに含まれるbroker_activemqartemis_cr.yaml
というサンプル CR ファイルを開きます。
OpenShift Container Platform Web コンソールの使用
- ブローカーデプロイメントのプロジェクトに CR をデプロイする権限を持つユーザーとしてコンソールにログインします。
-
メインブローカー CRD に基づいて新規 CR インスタンスを起動します。左側のペインで、
をクリックします。 - ActiveMQArtemis CRD をクリックします。
- Instances タブをクリックします。
Create ActiveMQArtemis をクリックします。
コンソールで、YAML エディターが開き、CR インスタンスを設定できます。
たとえば、基本的なブローカーデプロイメントの CR は次のようになります。
apiVersion: broker.amq.io/v1beta1 kind: ActiveMQArtemis metadata: name: ex-aao application: ex-aao-app spec: deploymentPlan: size: 1 image: placeholder requireLogin: false persistenceEnabled: true journalType: nio messageMigration: true
CR の
spec
セクションに、brokerProperties
セクションを追加します。brokerProperties
セクション内で、globalMaxSize
プロパティーを追加し、メモリー制限を指定します。以下に例を示します。spec: ... brokerProperties: - globalMaxSize=500m ...
globalMaxSize
プロパティーのデフォルトの単位は bytes です。デフォルトの単位を変更するには、値に m (MB の場合) または g (GB の場合) の接尾辞を追加します。変更を CR に適用します。
OpenShift コマンドラインインターフェイスの使用:
- CR ファイルを保存します。
ブローカーデプロイメントのプロジェクトに切り替えます。
$ oc project <project_name>
CR を適用します。
$ oc apply -f <path/to/broker_custom_resource_instance>.yaml
OpenShift Web コンソールの使用
- CR の編集が終了したら、Save をクリックします。
(オプション)
globalMaxSize
プロパティーに設定した新しい値が、ブローカーに割り当てられたデフォルトのメモリー制限をオーバーライドすることを確認します。- AMQ 管理コンソールに接続します。詳細は、5章Operator ベースのブローカーデプロイメント用の AMQ 管理コンソール への接続 を参照してください。
- メニューから JMX を選択します。
- org.apache.activemq.artemis を選択します。
-
global
を検索します。 -
表示されるテーブルで、グローバル最大値 列の値が
globalMaxSize
プロパティーに設定した値と同じであることを確認します。