C√≥mo configurar el cl√ļster de Apache Tomcat con 3 nodos en Ubuntu

Descargar Apache Tomcat

En este art√≠culo, veremos c√≥mo configurar un cl√ļster de servidores Apache Tomcat. Usaremos 3 instancias Ubuntu 18.04 EC2 o VM, aqu√≠ he usado instancias EC2. Tambi√©n veremos los pasos para instalar Java ya que Apache Tomcat requiere Java.

Los siguientes son los detalles de mi cl√ļster.

Detalles del cl√ļster:

  1. Nodo1: Directorio base = /root/tomcat1, IP = 172.31.35.11
  2. Nodo2: Directorio base = /root/tomcat2, IP = 172.31.39.120
  3. Nodo3: Directorio base = /root/tomcat3, IP = 172.31.32.185

requisitos previos

  1. Cuenta AWS (Crear si no tiene uno y desea crear un cl√ļster en instancias EC2) (Opcional).
  2. 3 instancias EC2 (haga clic aquí para aprender a crear una instancia EC2) O 3 máquinas virtuales con Ubuntu 18.04 LTS.
  3. Acceso root a los servidores.

Lo que haremos

  1. Descargar Apache Tomcat
  2. Instalar Java8
  3. Configurar el cl√ļster de Apache Tomcat
  4. Iniciar/Detener Apache Tomcat

Descargar Apache Tomcat

Cambie a usuario ¬ęroot¬Ľ para evitar errores de permisos. Pero no se recomienda utilizar un usuario ¬ęra√≠z¬Ľ en entornos de producci√≥n.

sudo -i

Crear un directorio. Aquí almacenaremos el paquete Apache Tomcat.

mkdir tomcat1 #En el nodo2 mkdir tomcat2, en el nodo3 mkdir tomcat3
cd tomcat1/ #En el nodo2 cd tomcat2/, en el nodo3 cd tomcat3/

Descargue y extraiga Apache-Tomcat-9.0.0.M17 o puede descargar una versión de su elección desde aquí.

#En cada Nodo
wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.0.M17/bin/apache-tomcat-9.0.0.M17.tar.gz #Descargar
tar -zxvf apache-tomcat-9.0.0.M17.tar.gz #Extraer

Descargar Apache Tomcat

Instalar Java 8

#En cada nodo
sudo apt-get update #Actualizar detalles del paquete del sistema
sudo apt install openjdk-8-jdk #Instalar Java
java –version #Comprobar la versi√≥n de Java

Instalar Java

Configurar Apache Tomcat

Antes de realizar los cambios necesarios, hagamos una copia de seguridad del archivo server.xml predeterminado.

#En cada nodo
cd apache-tomcat-9.0.0.M17/ #Cambiar el directorio.
cp conf/server.xml conf/server.xml.bak #Tome una copia de seguridad del archivo de configuración existente.

Configurar Apache Tomcat

Realice los cambios necesarios en el archivo server.xml.

#En cada nodo
ifconfig #Obtener IP del servidor.
vim conf/server.xml #Abra el archivo de configuración para realizar las configuraciones requeridas.

Configurar el archivo server.xml

Busque las siguientes líneas y cambie localhost a IP del nodo

<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost"  appBase="webapps

Configurar host para aplicaciones web

Para configurar el cl√ļster, busque el siguiente c√≥digo

      <!--
      <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
      -->

Y agregue el siguiente código en cada nodo y reemplace IP-Of-Node con la IP del propio nodo.

<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>

Configurar la dirección IP del nodo

Iniciar/Detener Apache Tomcat

Inicie Apache Tomcat

Usar inicio.sh archivo para iniciar el servicio Apache Tomcat. Usando netstat puede ver que el servicio se ha iniciado en el puerto predeterminado 8080.

#En cada nodo
bin/startup.sh #Iniciar el servicio Apache Tomcat.
netstat -tulpn #Comprobar los puertos que se utilizan actualmente en el sistema.

Comprobar registros

catalina.out contiene los registros de Apache Tomcat. Puede usar el comando tail para ver las √ļltimas l√≠neas del archivo.

cola -100f logs/catalina.out

Apagar Apache Tomcat

El servicio Apache Tomcat se puede detener usando el archivo shutdown.sh

bin/shutdown.sh #Detener el servicio Apache Tomcat.

Iniciar y detener Tomcat

Conclusión

En este art√≠culo, vimos los pasos para crear un cl√ļster de Apache Tomcat con 3 nodos, vimos la configuraci√≥n b√°sica que se debe realizar para crear un cl√ļster.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *