Как настроить кластер Apache Tomcat с 3 узлами в Ubuntu
В этой статье мы увидим, как настроить кластер серверов Apache Tomcat. Мы будем использовать 3 экземпляра Ubuntu 18.04 EC2 или виртуальные машины, здесь я использовал экземпляры EC2. Мы также увидим шаги по установке Java, поскольку для Apache Tomcat требуется Java.
Ниже приведены сведения о моем кластере.
Сведения о кластере:
- Узел 1: Базовый каталог=/root/tomcat1, IP=172.31.35.11
- Узел 2: базовый каталог=/root/tomcat2, IP=172.31.39.120.
- Node3: базовый каталог=/root/tomcat3, IP-адрес = 172.31.32.185.
Предпосылки
- Учетная запись AWS (создайте, если у вас ее нет и вы хотите создать кластер на инстансах EC2) (необязательно).
- 3 экземпляра EC2 (нажмите здесь, чтобы узнать, как создать экземпляр EC2) ИЛИ 3 ВМ с Ubuntu 18.04 LTS на них.
- Корневой доступ к серверам.
Что мы будем делать
- Загрузить Apache Tomcat
- Установите Java8
- Настройка кластера Apache Tomcat
- Запуск/остановка Apache Tomcat
Скачать Apache Tomcat
Измените пользователя на «root», чтобы избежать ошибок разрешения. Но не рекомендуется использовать пользователя root в производственной среде.
sudo -i
Создайте каталог. Здесь мы будем хранить пакет Apache Tomcat.
mkdir tomcat1 #На узле 2 mkdir tomcat2, На узле 3 mkdir tomcat3
cd tomcat1/ #На узле 2 cd tomcat2/, На узле 3 cd tomcat3/
Загрузите и извлеките Apache-Tomcat-9.0.0.M17 или загрузите версию по вашему выбору отсюда.
#На каждом узле
wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.0.M17/bin/apache-tomcat-9.0.0.M17.tar.gz #Download< br>tar -zxvf apache-tomcat-9.0.0.M17.tar.gz #Извлечение
Установить Java 8
#На каждом узле
sudo apt-get update #Обновить информацию о системном пакете
sudo apt install openjdk-8-jdk #Установить Java
java --version #Проверить версию Java
Настроить Apache Tomcat
Прежде чем вносить необходимые изменения, давайте сделаем резервную копию файла server.xml по умолчанию.
#На каждом узле
cd apache-tomcat-9.0.0.M17/ #Измените каталог.
cp conf/server.xml conf/server.xml.bak #Создайте резервную копию существующего файла конфигурации.
Внесите необходимые изменения в файл server.xml.
#На каждом узле
ifconfig #Получить IP-адрес сервера.
vim conf/server.xml #Откройте файл конфигурации, чтобы выполнить необходимые настройки.
Найдите следующие строки и измените localhost на IP-адрес узла.
<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost" appBase="webapps
Для настройки кластера найдите следующий код
<!--
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
-->
Добавьте следующий код на каждый узел и замените IP-Of-Node на IP-адрес самого узла.
<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
Запустите Apache Tomcat
Используйте файл startup.sh для запуска службы Apache Tomcat. С помощью команды netstat вы увидите, что служба запущена на порту 8080 по умолчанию.
#На каждом узле
bin/startup.sh #Запустить службу Apache Tomcat.
netstat -tulpn #Проверить порты, используемые в данный момент в системе.
Проверить журналы
catalina.out содержит журналы Apache Tomcat. Вы можете использовать команду tail, чтобы увидеть последние строки из файла.
tail -100f logs/catalina.out
Завершение работы Apache Tomcat
Службу Apache Tomcat можно остановить с помощью файла shutdown.sh.
bin/shutdown.sh #Остановить службу Apache Tomcat.
Заключение
В этой статье мы увидели шаги по созданию кластера Apache tomcat с 3 узлами, увидели базовую настройку, которую необходимо выполнить для создания кластера.