この記事では、ApacheTomcatサーバーのクラスターをセットアップする方法を説明します。 3つのUbuntu18.04EC2インスタンスまたはVMを使用します。ここでは、EC2インスタンスを使用しました。 Apache TomcatにはJavaが必要なため、Javaをインストールする手順も説明します。
以下は私のクラスターの詳細です。
クラスターの詳細:
- Node2:ベースディレクトリ=/ root / tomcat2、IP =172.31.39.120
- Node3:ベースディレクトリ=/ root / tomcat3、IP =172.31.32.185
前提条件
- AWSアカウント(アカウントがなく、EC2インスタンスでクラスターを作成する場合は作成します)(オプション)。
- 3つのEC2インスタンス(EC2インスタンスの作成方法については、ここをクリックしてください)またはUbuntu18.04LTSを搭載した3つのVM。
- サーバーへのルートアクセス。
何をするか
- ApacheTomcatをダウンロード
- Java8をインストールする
- ApacheTomcatクラスターを構成する
- ApacheTomcatの開始/停止
ApacheTomcatをダウンロード
権限エラーを回避するために「root」ユーザーに変更します。ただし、本番環境で「root」ユーザーを使用することはお勧めしません。
sudo -i
ディレクトリを作成します。ここでは、ApacheTomcatパッケージを保存します。
mkdir tomcat1 #On Node2 mkdir tomcat2、On Node3 mkdir tomcat3
cd tomcat1 / #On Node2 cd tomcat2 /、On Node3 cd tomcat3 /
Apache-Tomcat-9.0.0.M17をダウンロードして抽出するか、ここから選択したバージョンをダウンロードできます。
#各ノードで
wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.0.M17/bin/apache-tomcat-9.0.0.M17.tar.gz #Download
tar -zxvf apache-tomcat-9.0.0.M17.tar.gz #Extract
Java8をインストールする
#各ノードで
sudo apt-get update#システムパッケージの詳細を更新
sudo apt install openjdk-8-jdk #Install Java
java --version #Check Java Version
ApacheTomcatの構成
必要な変更を加える前に、デフォルトのserver.xmlファイルのバックアップを取りましょう。
#各ノードで
cd apache-tomcat-9.0.0.M17 /#ディレクトリを変更します。
cp conf / server.xml conf / server.xml.bak#既存の構成ファイルのバックアップを作成します。
server.xmlファイルに必要な変更を加えます。
#各ノードで
ifconfig#サーバーのIPを取得します。
vim conf / server.xml#構成ファイルを開いて、必要な構成を作成します。
次の行を見つけて、ローカルホストをノードのIPに変更します
<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost" appBase="webapps
クラスタを設定するには、次のコードを検索してください
<!--
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
-->
そして、各ノードに次のコードを追加し、IP-Of-Nodeをノード自体のIPに置き換えます。
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="6">
<Manager className="org.apache.catalina.ha.session.DeltaManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true"/>
<Channel className="org.apache.catalina.tribes.group.GroupChannel">
<Membership className="org.apache.catalina.tribes.membership.McastService" address="228.0.0.4"
port="45564" frequency="500" dropTime="3000"/>
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver" address="IP-Of-Node"
port="5000" selectorTimeout="100" maxThreads="6"/>
<Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
<Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
</Sender>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor"/>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/>
</Channel>
<Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/>
<Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>
<Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer" tempDir="/tmp/war-temp/"
deployDir="/tmp/war-deploy/" watchDir="/tmp/war-listen/" watchEnabled="false"/>
<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
</Cluster>
ApacheTomcatの開始/停止
ApacheTomcatを起動する
startup.shを使用する ApacheTomcatサービスを開始するファイル。 netstatを使用する コマンドを実行すると、サービスがデフォルトのポート8080で開始されていることがわかります。
#各ノードで
bin / startup.sh#ApacheTomcatサービスを開始します。
netstat-tulpn#システムで現在使用されているポートを確認します。
ログの確認
catalina.outには、ApacheTomcatのログが含まれています。 tailコマンドを使用して、ファイルの最後の行を確認できます。
テール-100fログ/catalina.out
ApacheTomcatをシャットダウン
ApacheTomcatサービスはshutdown.shファイルを使用して停止できます
bin / shutdown.sh#ApacheTomcatサービスを停止します。
結論
この記事では、3つのノードを持つApache Tomcatのクラスターを作成する手順と、クラスターを作成するために実行する必要のある基本構成について説明しました。