V tomto článku uvidíme, jak nastavit cluster serverů Apache Tomcat. Budeme používat 3 instance nebo virtuální počítače Ubuntu 18.04 EC2, zde jsem použil instance EC2. Uvidíme také kroky k instalaci Javy, protože Apache Tomcat vyžaduje Javu.
Následují podrobnosti o mém clusteru.
Podrobnosti clusteru:
- Uzel1:Základní adresář =/root/tomcat1, IP =172.31.35.11
- Uzel2: Základní adresář =/root/tomcat2, IP = 172.31.39.120
- Uzel3: Základní adresář =/root/tomcat3, IP = 172.31.32.185
Předpoklady
- Účet AWS (Vytvořte jej, pokud jej nemáte a chcete vytvořit cluster na instancích EC2) (Volitelné).
- 3 instance EC2 (kliknutím sem se dozvíte, jak vytvořit instanci EC2) NEBO 3 virtuální počítače s Ubuntu 18.04 LTS.
- Kořenový přístup k serverům.
Co uděláme
- Stáhněte si Apache Tomcat
- Nainstalujte Java8
- Konfigurace Apache Tomcat Cluster
- Spuštění/zastavení Apache Tomcat
Stáhnout Apache Tomcat
Změňte na uživatele „root“, abyste předešli chybám oprávnění. Nedoporučuje se však používat uživatele „root“ v produkčním prostředí.
sudo -i
Vytvořte adresář. Zde uložíme balíček Apache Tomcat Package.
mkdir tomcat1 #On Node2 mkdir tomcat2, On Node3 mkdir tomcat3
cd tomcat1/ #On Node2 cd tomcat2/, On Node3 cd tomcat3/
Stáhněte a rozbalte Apache-Tomcat-9.0.0.M17 nebo si můžete stáhnout verzi dle svého výběru odtud.
#Na každém uzlu
wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.0.M17/bin/apache-tomcat-9.0.0.M17.tar.gz #Stáhnout
tar -zxvf apache-tomcat-9.0.0.M17.tar.gz #Extract
Nainstalujte Java 8
#Na každém uzlu
aktualizace sudo apt-get #Aktualizovat podrobnosti o balíčku systému
sudo apt install openjdk-8-jdk #Install Java
java --version #Zkontrolovat verzi Java
Konfigurace Apache Tomcat
Před provedením požadovaných změn si vytvořte zálohu výchozího souboru server.xml.
#Na každém uzlu
cd apache-tomcat-9.0.0.M17/ #Změňte adresář.
cp conf/server.xml conf/server.xml.bak #Proveďte zálohu stávajícího konfiguračního souboru .
Proveďte požadované změny v souboru server.xml.
#Na každém uzlu
ifconfig #Získejte IP serveru.
vim conf/server.xml #Otevřete konfigurační soubor a proveďte požadované konfigurace.
Najděte následující řádky a změňte localhost na IP of the Node
<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost" appBase="webapps
Chcete-li nastavit cluster, vyhledejte následující kód
<!--
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
-->
A přidejte následující kód na každý uzel a nahraďte IP-Of-Node IP samotného uzlu.
<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>
Spustit/zastavit Apache Tomcat
Spusťte Apache Tomcat
Použijte startup.sh soubor ke spuštění služby Apache Tomcat. Pomocí netstat můžete vidět, že služba byla spuštěna na výchozím portu 8080.
#Na každém uzlu
bin/startup.sh #Spusťte službu Apache Tomcat.
netstat -tulpn #Zkontrolujte aktuálně používané porty v systému.
Kontrola protokolů
catalina.out obsahuje protokoly Apache Tomcat. Chcete-li zobrazit poslední řádky ze souboru, můžete použít příkaz tail.
ocas -100f log/catalina.out
Vypnutí Apache Tomcat
Službu Apache Tomcat lze zastavit pomocí souboru shutdown.sh
bin/shutdown.sh #Stop Apache Tomcat Service.
Závěr
V tomto článku jsme viděli kroky k vytvoření clusteru kocoura Apache se 3 uzly, viděli jsme základní konfiguraci, kterou je třeba provést pro vytvoření clusteru.