In diesem Artikel erfahren Sie, wie Sie einen Cluster von Apache Tomcat-Servern einrichten. Wir werden 3 Ubuntu 18.04 EC2-Instanzen oder VMs verwenden, hier habe ich EC2-Instanzen verwendet. Wir werden auch die Schritte zur Installation von Java sehen, da Apache Tomcat Java benötigt.
Das Folgende sind die Details meines Clusters.
Cluster-Details:
- Knoten1:Basisverzeichnis =/root/tomcat1, IP =172.31.35.11
- Knoten2:Basisverzeichnis =/root/tomcat2, IP = 172.31.39.120
- Knoten 3:Basisverzeichnis =/root/tomcat3, IP = 172.31.32.185
Voraussetzungen
- AWS-Konto (erstellen, wenn Sie keins haben und einen Cluster auf EC2-Instanzen erstellen möchten) (optional).
- 3 EC2-Instanzen (Klicken Sie hier, um zu erfahren, wie Sie eine EC2-Instanz erstellen) ODER 3 VMs mit Ubuntu 18.04 LTS darauf.
- Root-Zugriff auf die Server.
Was wir tun werden
- Apache Tomcat herunterladen
- Installieren Sie Java8
- Apache Tomcat-Cluster konfigurieren
- Apache Tomcat starten/beenden
Apache Tomcat herunterladen
Wechseln Sie zum "root"-Benutzer, um Berechtigungsfehler zu vermeiden. Es wird jedoch nicht empfohlen, den Benutzer „root“ in Produktionsumgebungen zu verwenden.
sudo -i
Erstelle ein Verzeichnis. Hier speichern wir das Apache Tomcat-Paket.
mkdir tomcat1 #On Node2 mkdir tomcat2, On Node3 mkdir tomcat3
cd tomcat1/ #On Node2 cd tomcat2/, On Node3 cd tomcat3/
Laden Sie Apache-Tomcat-9.0.0.M17 herunter und extrahieren Sie es oder laden Sie hier eine Version Ihrer Wahl herunter.
#Auf jedem Knoten
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
Java 8 installieren
#Auf jedem Knoten
sudo apt-get update #Systempaketdetails aktualisieren
sudo apt install openjdk-8-jdk #Java installieren
java --version #Java-Version prüfen
Apache Tomcat konfigurieren
Bevor Sie die erforderlichen Änderungen vornehmen, erstellen wir eine Sicherungskopie der Standarddatei server.xml.
#Auf jedem Knoten
cd apache-tomcat-9.0.0.M17/ #Ändern Sie das Verzeichnis.
cp conf/server.xml conf/server.xml.bak #Erstellen Sie eine Sicherungskopie der vorhandenen Konfigurationsdatei .
Nehmen Sie die erforderlichen Änderungen in der Datei server.xml vor.
#Auf jedem Knoten
ifconfig #Get IP des Servers.
vim conf/server.xml #Öffnen Sie die Konfigurationsdatei, um die erforderlichen Konfigurationen vorzunehmen.
Suchen Sie die folgenden Zeilen und ändern Sie localhost in die IP des Knotens
<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost" appBase="webapps
Suchen Sie zum Einrichten des Clusters nach folgendem Code
<!--
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
-->
Fügen Sie den folgenden Code auf jedem Knoten hinzu und ersetzen Sie IP-Of-Node durch die IP des Knotens selbst.
<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>
Apache Tomcat starten/stoppen
Starten Sie Apache Tomcat
Verwenden Sie startup.sh Datei zum Starten des Apache Tomcat-Dienstes. Verwenden von netstat Befehl können Sie sehen, dass der Dienst auf dem Standardport 8080 gestartet wurde.
#Auf jedem Knoten
bin/startup.sh #Starten Sie den Apache Tomcat-Dienst.
netstat -tulpn #Überprüfen Sie die derzeit auf dem System verwendeten Ports.
Protokolle prüfen
catalina.out enthält die Protokolle von Apache Tomcat. Sie können den Tail-Befehl verwenden, um die letzten Zeilen aus der Datei anzuzeigen.
tail -100f logs/catalina.out
Apache Tomcat herunterfahren
Der Apache Tomcat-Dienst kann mit der Datei shutdown.sh gestoppt werden
bin/shutdown.sh #Apache Tomcat-Dienst stoppen.
Schlussfolgerung
In diesem Artikel haben wir die Schritte zum Erstellen eines Clusters von Apache Tomcat mit 3 Knoten gesehen und die grundlegende Konfiguration gesehen, die zum Erstellen eines Clusters durchgeführt werden muss.