웹사이트 검색

Ubuntu에서 3개의 노드로 Apache Tomcat 클러스터를 설정하는 방법


이 기사에서는 Apache Tomcat 서버 클러스터를 설정하는 방법을 살펴봅니다. 우리는 3개의 Ubuntu 18.04 EC2 인스턴스 또는 VM을 사용할 것입니다. 여기서는 EC2 인스턴스를 사용했습니다. Apache Tomcat에는 Java가 필요하므로 Java를 설치하는 단계도 볼 것입니다.

다음은 내 클러스터의 세부 정보입니다.

클러스터 세부정보:

  1. Node1: 기본 디렉토리=/root/tomcat1, IP=172.31.35.11
  2. Node2: 기본 디렉토리=/root/tomcat2, IP=172.31.39.120
  3. Node3: 기본 디렉터리=/root/tomcat3, IP=172.31.32.185

전제 조건

  1. AWS 계정(계정이 없고 EC2 인스턴스에 클러스터를 생성하려는 경우 생성)(선택 사항).
  2. EC2 인스턴스 3개(EC2 인스턴스 생성 방법을 알아보려면 여기를 클릭) 또는 Ubuntu 18.04 LTS가 설치된 VM 3개.
  3. 서버에 대한 루트 액세스.

우리가 할 일

  1. Apache Tomcat 다운로드
  2. Java8 설치
  3. Apache Tomcat 클러스터 구성
  4. Apache Tomcat 시작/중지

아파치 톰캣 다운로드

권한 오류를 방지하려면 \root\ 사용자로 변경하십시오. 그러나 프로덕션 환경에서 \root\ 사용자를 사용하는 것은 권장되지 않습니다.

sudo -i

디렉터리를 만듭니다. 여기에 Apache Tomcat 패키지를 저장합니다.

mkdir tomcat1 #On Node2 mkdir tomcat2, On Node3 mkdir tomcat3
cd tomcat1/ #On Node2 cd tomcat2/, On Node3 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 #다운로드< br>tar -zxvf apache-tomcat-9.0.0.M17.tar.gz #추출

자바 8 설치

#각 노드에서
sudo apt-get update #시스템 패키지 세부정보 업데이트
sudo apt install openjdk-8-jdk #Java 설치
java --version #Java 버전 확인

아파치 톰캣 구성

필요한 변경을 수행하기 전에 기본 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 서비스를 중지합니다.

결론

이 기사에서는 3개의 노드가 있는 Apache Tomcat 클러스터를 생성하는 단계와 클러스터를 생성하기 위해 수행해야 하는 기본 구성을 살펴보았습니다.