Professional Documents
Culture Documents
1. Se instalará 3 sistemas operativos de Ubuntu versión 16.04.3 donde los dos siguientes
servirán para instalar TomCat y el tercero como balanceador de carga.
Credenciales del primero:
o IP: 192.168.1.7
o Usuario: leonel1
o Contraseña: sistemas_2018
Credenciales del segundo:
o IP: 192.168.1.6
o Usuario: leonel2
o Contraseña: sistemas_2018
Credenciales del tercero – balanceador:
o IP: 192.168.1.5
o Usuario: balanceo
o Contraseña: 2018
2. En la primera máquina de Ubuntu, se accederá en la terminal como súper usuario con
el siguiente comando: (TRES NODOS)
sudo –i
3. Se debe asignar una clave al super usuario con el siguiente comando: (TRES NODOS)
apt-get update
A continuación se procede a la instalación de Apache Tomcat:
cd /home/leonel1/Documentos
wget http://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.35/bin/apache-tomcat-8.5.35.tar.gz
mv apache-tomcat-8.5.35.tar.gz apache-tomcat.tar.gz
10. Dirigirse a configurar JAVA que se acaba de instalar como versión por defecto (AMBOS
NODOS)
En la siguiente parte se debe escoger la versión que se trabajara de JAVA por defecto,
definiendo una variable de entorno JAVA_HOME
Agregando lo siguiente:
JAVA_HOME="/usr/lib/jvm/java-8-oracle"
source /etc/environment
echo $JAVA_HOME
13. Se guido se arranca el servidor Tomcat, para probar que se encuentra bien instalado
dirigiéndose a: (AMBOS NODOS)
cd /usr/share/tomcat
Obteniendo la visualización como la imagen anterior se puede comprobar que está trabajando
bien.
Otra forma de probar Tomcat es accediendo al navegador dentro de Ubuntu y colocar en la
url: localhost:8080 y así se podrá visualizar la imagen de Tomcat
14. Se detiene la ejecución del Tomcat, esto se debe a que se cambiará la configuración
(AMBOS NODOS)
bin/shutdown.sh
A continuación se procede a la instalación del Web Server Apache (httpd):
1. Se ejecuta primero el comando como usuario sudo o como root: (AMBOS NODOS)
/etc/init.d/apache2 start
4. Se dirige a configurar el JAVA que se acaba de instalar por su versión por defecto
sudo update-alternatives --config java
5. Dirigirse al entorno JAVA_HOME para definir la variable
/etc/init.d/apache2 start
Para comprobar que se ha instalado correctamente Apache, se dirige a un navegador y en url
se escribe localhost:80 e inmediatamente debe aparecer la página de Apache2
/etc/init.d/apache2 stop
Para realizar el balanceo de carga, se usará la extensión mod_jk, usamos dicha extensión ya que
Apache necesita una conexión específica para realizar el balanceo de carga. Se usa mod_jk ya
que mod_proxy viene dentro del paquete de Apache HTTP desde la versión 2.2, dicha extensión
permite tener un control más amplio del balanceo de carga.
- Instalación de mod_jk:
1. Se procede a instalar usando el siguiente comando:
sudo apt-get install libapache2-mod-jk
2. Para comprobar si el mod_jk se ha instalado correctamente, se lista el contenido de la
carpeta que se debió crear al momento de instalar:
ls /usr/lib/apache2/modules/mod_jk.so
nano /etc/libapache2-mod-jk/workers.properties
workers.tomcat_home=/usr/share/tomcat
workers.java_home=/usr/lib/jvm/java-8-oracle
ps=/
worker.list=balancer,stat,tomcat1,tomcat2
# Configuración del primer nodo (tomcat1)
worker.tomcat1.port=8009
worker.tomcat1.host=192.168.1.6
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor=1
# Configuración del segundo nodo (tomcat2)
worker.tomcat2.port=8009
worker.tomcat2.host=192.168.1.7
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor=1
# Configuración del Balanceador (balancer)
worker.balancer.type=lb
worker.balancer.balance_workers=tomcat1,tomcat2
worker.balancer.method=B
worker.balancer.sticky_session=true
worker.stat.type=status
cd /etc/apache2/mods-enabled
nano jk.load
nano jk.conf
<IfModule jk_module>
# Localización del fichero de trabajadores
JkWorkersFile /etc/libapache2-mod-jk/workers.properties
# Localización donde escribirlos logs de mod_jk
JkLogFile /var/log/apache2/mod_jk.log
# Nivel de criticidad de los logs (trace,debug,info,warn,error)
JkLogLevel debug
# Fichero de memoria compartida
JkShmFile /var/log/apache2/jk-runtime-status
# Cada intervalo realiza tareas internas como
# prueba de conexiones ociosas, redimensionamiento de
# la reserva de conexiones, etc...
JkWatchdogInterval 60
# Definimos un nuevo virtual host en el puerto 80
# (el de HTTP de Apache) especificando la ruta de la que
# se encargar el mod_jk
<VirtualHost *:80>
ServerName localhost
ServerAdmin localhost
JkMount /status stat
JkMount /* balancer
</VirtualHost>
</IfModule>
/etc/init.d/apache2 restart
Para comprobar que el balanceador de carga esta trabajando en un navegador en la url se pone
lo siguiente: localhost:80/status
A continuación se procede a las múltiples instancias de Tomcat:
1. Se crea un directorio que contenga los archivos necesarios para la instancia de Tomcat
cd /usr/tmp/tomcat-instances
5. Para configurar los puertos de la conexión que usará la instancia1 se edita el archivo
conf/server.xml.
Se dirige a tomcar-instance1/conf , para no tener problemas a partir de aquí se debe
conectar como superusuario, con el comando su
6. Se dirige a otro directorio con el siguiente comando
cd tomcat-instance1/conf
nano server.xml
8. Dirigirse al directorio
cd /usr/tmp/tomcat-instances
OJO: • Nota: Para configurar el nodo 2 de Tomcat se necesitará realizar los mismos pasos
anteriores, pero en la configuración de la etiqueta engine se debe poner lo siguiente:
9. Dirigirse a la ruta:
cd /usr/tmp/tomcat-instances
nano startup-instance.sh
#!/bin/bash
cd /usr/share/tomcat/bin
export CATALINA_BASE=/usr/tmp/tomcat-instances/tomcat-instance$1
./startup.sh
11. Para poder dar permisos a la ejecución del script se usará el siguiente comando:
chmod +x startup-instance.sh
nano shutdown-instance.sh
#!/bin/bash
cd /usr/share/tomcat/bin
export CATALINA_BASE=/usr/tmp/tomcat-instances/tomcat-instance$1
./shutdown.sh
Se debe salir guardando los respectivos cambios:
13. Para poder dar permisos a la ejecución del script se usará el siguiente comando:
chmod +x shutdown-instance.sh
14. Se dirige a crear un script para reiniciar las instancias, el cual llama a los scripts
anteriores.
nano restart-instance.sh
#!/bin/bash
./shutdown-instance.sh $1
./startup-instance.sh $1
chmod +x restart-instance.sh
A continuación se procede al despliegue de la aplicación de Prueba:
cd /usr/tmp/tomcat-instances/tomcat-instance1/webapps
mkdir prueba
cd /usr/tmp/tomcat-instances/tomcat-instance2/webapps
mkdir prueba
Se dirige a:
cd /usr/tmp/tomcat-instances/
Para probar el funcionamiento del cluster se debe dirigir a la URL con la IP donde está el
balanceador de carga 192.168.1.5/prueba. Si se refresca varias veces las pagina, se verá cómo
se alternan las instancias.