jboss同機マルチインスタンス構成

3183 ワード

同じマシンに複数のJBossインスタンスを配備し、異なるアプリケーションを実行したい場合がよくあります.これにより、何らかの理由であるJBossインスタンスをシャットダウンしたり、再起動したりする必要があっても、他のインスタンスのアプリケーションの正常な動作には影響しません.JBossの起動時にデフォルトでリリースされる異なるサービスにはポートを開く必要があることを知っています.2セットのJBossを簡単にコピーするか、1つのJBossで複数の構成を開始するだけでは、複数のJBossインスタンスを同時に起動すると、ポートの競合によりJBossが起動できなくなります.
このような状況に遭遇した場合、最も考えやすい解決策は、ポートが衝突した以上、ポートを修正することです.もちろん、JBossはTomcatのように、Tomcatは2、3つのポートを修正するだけでいいのではないでしょうか.JBossがデフォルトで発表したサービスポートには、httpプロトコルの8080、AJPプロトコルの809、JNPサービスの1099、RMIネーミングサービスの1098、RMI/JRMP invokerの4444ポートなどが含まれています.同じファイルで構成されていないサーバもあります.xmlには、構成下のjboss-serviceがある.xmlファイルでは、手作業で修正するのは煩雑で間違いやすいだけでなく、特にインスタンスが多い場合です.
しかし、幸いなことに、JBossはもう一つの簡単な方法を提供しています.Binding Managerサービスは、煩雑なポート構成を必要とせずに、マルチインスタンス実行ポートが衝突しないようにすることができます.詳細は次のとおりです.
JBoss 4.2.3 GAを例に、serverの下に2つの異なる構成node 1、node 2(名前はどうでもいい、default 1、default 1でもいい),%JBOSS_HOME%はJBossインストールディレクトリを表します.
キーファイルは%JBOSS_HOME%\docs\examples\binding-manager\sample-bindings.xmlでは、デフォルトで4つの異なるポート構成(port-default、port-01、port-02、port-03)が定義されています.つまり、デフォルトでは同じマシン配置の4つのJBossインスタンスがサポートされています.
1、node 2は以下のように構成されている
node 2/conf/jboss-serviceを変更します.xmlファイル、サービスBindingの構成(デフォルトのコメントを除く)は次のとおりです.
<mbean code="org.jboss.services.binding.ServiceBindingManager"
name="jboss.system:service=ServiceBindingManager">
<attribute name="ServerName">ports-01</attribute>
<attribute name="StoreURL">${jboss.home.url}/docs/examples/binding-manager/sample-bindings.xml</attribute>
<attribute name="StoreFactoryClassName">
org.jboss.services.binding.XMLServicesStoreFactory
</attribute>
</mbean>

ここでnode 2を構成するにはport-01ポート構成を使用します.
2、node 1は以下のように構成されている
Node 1のデフォルトは構成せずに正常に起動すればよいが、この場合はJBossが提供するデフォルトポート8080、8009などを使用するか、最初のステップの構成を参照して「ServerName」をnode 1と異なるように変更するだけでよい.ports-02のように、sample-bindingsのみであることに注意する.xmlで定義された4つのポートの範囲内です.
3、起動例
run.bat -c node1 -b 192.168.10.100
run.bat -c node2 -b 192.168.10.100
4、アクセスアドレス
Node 1アクセスアドレス:http://192.168.10.100:8080(デフォルトで構成されていない場合)またはhttp://192.168.10.100:8280(port-02を使用する場合)
Node 2アクセスアドレス:http://192.168.10.100:8180(port-01を使用する場合)
デフォルトでは8080であり、他の例のポートは8080に基づいて100増加し、対応関係は以下のようになります.
port-default     8080
port-01          8180
port-02          8280
port-03          8380
もちろん、AJPプロトコルポート8009のような他のポートもそれぞれ8109、8209、8309、8409となり、他はこのように推定される.
5、注意事項
1)上記構成の前提は、各インスタンスのserverである.xmlにおけるHTTPプロトコルのポート構成はいずれもデフォルトの8080であり、そのポートが変更する場合はsample-bindingsを変更する必要がある.xmlのport-defaultのデフォルト8080ポートはserverです.xmlのHTTPプロトコルポート.
2)上記の方法は、同じJBossの下で複数の構成ではなく、同じマシン上に複数のJBossを配置する場合にも同様に適用される.
3)一般的にデフォルトの4組のポートは十分に使用できますが、まだ足りない場合は、他のportグループを自分で追加できます.
4)可能であれば,不要なインスタンスを異なるIPアドレスにバインドすることを推奨する.
PS.
同じマシンマルチJBossインスタンスの一般的なシーン:
1)32ビットのJVMは2 Gを超えるメモリを使用できないことを制限し,マルチインスタンスによりサーバ上の大きなメモリを十分に利用できる.
2)JBossインスタンスを用いずに異なる用途:開発環境、テスト環境などに使用する.
3)同じマシンに異なるバージョンのJBossを配備したい.
4)異なるJVMベースのJBossを同じマシン上に配備したい(異なるアプリケーションではJVMに対する要求が異なる場合).
など
原文住所:http://www.jbosschina.org/viewthread.php?tid=136