GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo configurar el clúster de Apache Tomcat con 3 nodos en Ubuntu

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 de AWS (cree si no tiene una 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 raíz a los servidores.

Lo que haremos

  1. Descarga Apache Tomcat
  2. Instalar Java8
  3. Configurar clúster de Apache Tomcat
  4. Iniciar/Detener Apache Tomcat

Descargar Apache Tomcat

Cambiar a usuario "raíz" 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 #Download
tar -zxvf apache-tomcat-9.0.0.M17.tar.gz #Extraer

Instalar Java 8

#En cada nodo
sudo apt-get update            #Actualizar los detalles del paquete del sistema
sudo apt install openjdk-8-jdk #Instalar Java
java --version                 #Comprobar la versión de 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/             #Cambie el directorio.
cp conf/server.xml conf/server.xml.bak  #Realice una copia de seguridad del archivo de configuración existente .

Realice los cambios necesarios en el archivo server.xml.

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

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

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

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>

Iniciar/Detener Apache Tomcat

Iniciar Apache Tomcat

Utilice startup.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.

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.


Ubuntu
  1. Cómo instalar Apache Tomcat 9 en Ubuntu 18.04

  2. ¿Cómo configurar un clúster MongoDB usando 3 nodos con Ubuntu 16?

  3. Cómo configurar Apache Subversion con Lets encrypt SSL en Ubuntu 18.04

  4. Cómo configurar el clúster de base de datos Riak KV en Ubuntu 18.04

  5. Cómo configurar MariaDB Galera Cluster en Ubuntu 20.04

Cómo instalar Apache Tomcat 8 en Ubuntu 16.04

Cómo instalar Apache Tomcat en Ubuntu 18.04 LTS

Cómo configurar la autenticación de contraseña con Apache en Ubuntu 18.04

Cómo instalar Apache Tomcat en Ubuntu 18.04

Cómo instalar Apache Tomcat 10 en Ubuntu 20.04 con Nginx

Cómo instalar Apache Tomcat 10 en Ubuntu 22.04 con Nginx