WebSphere ND를 서버2개에 설치한 후 한곳에는 Dmgr(관리 웹 콘솔) + AppSrv01(Node Instance)를 설치하고, 한곳에는 AppSrv01(Node Instance)를 설치하여 Clustering을 구성해 보겠다.
보통은 IHS(IBM HTTP Server) 를 앞에 두어 캐시 공유나 로드밸런싱과 같은 기능을 할 수 있도록 구성하는데 나는 앞에 L4를 두어 그 처리를 하기 위해 클러스터링 할 WAS만 구성하였다.
우선 두개의 ND 서버가 구성되었다는 전제하에 하나의 Dmgr에서 두개의 노드를 관리해야 하므로 Dmgr에서 노드를 추가해준다.
기본적으로 #1 서버는 추가되어 있고 #2 서버는 addNode.sh
명령어를 통해 Dmgr에 추가해줘야한다.
우선 Web Console에 접속하여 addNode 하려는 노드의 SOAP 포트를 확인한다. (default port : 8879)
방화벽 OPEN
firewall-cmd --zone=public --permanent --add-port=8879/tcp
방화벽 설정 RELOAD
firewall-cmd --reload
방화벽 OPEN Port 확인
firewall-cmd --zone=public --list-all
/opt/IBM/WebSphere/AppServer/bin/manageprofiles.sh -create -profileName AppSrv02 -profilePath /opt/IBM/WebSphere/AppServer/profiles/AppSrv02 -serverName server2 --enableAdminSecurity -userName wsadmin -password
<password>
3.
에서 생성한 Profile의 포트정보가 담겨있다
SOAP 통신에서 사용할 포트를 열어준다.
#server2 에서 #server1의 Dmgr로 addNode를 수행할 때 hosts 파일을 바라본다.
#2 서버에 들어가서 아래 경로로 가서 #1 서버로의 addNode를 수행한다.
/opt/IBM/WebSphere/AppServer/bin/addNode.sh
<host addr>
<port>
-profileName<profileName>
-username<username>
-password<password>
Error) Dmgr01이 아닌 server instance에 추가하려고 할때 에러
Dmgr01의 SOAP CONNECTOR port로 addNode를 수행해야한다.
Error) Clustering 할 서버의 Node(AppSrv01)을 구동하지 않아서 나는 에러
해결
#1 서버에서 AppSrv01을 구동하고나서, #2 서버에서 연결하면 된다.
Error) host address를 찾지 못해서 나는 에러
아래와 같이 hosts 파일에 host와 ip 주소를 등록해주면 된다.
Server
- Clusters
- WebSphere application server clusters
를 선택해준다.
New...
를 눌러준다.
Configure HTTP session memory-to-memory replication
를 체크해야 각 도메인들이 세션과 메모리를 복제하여 공유한다.Member Name
에는 첫번째 클러스터에 대한 이름을 정해준다.
Select Node
에서는 첫번째 클러스터로 지정할 노드를 설정해준다
Weight
는 Application Server로 지정된 작업량을 지정하는 것이다. 서버의 작업량 값이 클러스터의 다른 모든 서버에 지정된 작업량보다 크면 이 서버가 클러스터 워크로드의 대부분을 수신한다. 값의 범위는 0-100 이며 만약 이 서버를 구성은 해 놓겠지만, 요청을 받을 수 있는 유일한 서버가 아닌 한 요청을 받지 않으려면 0을 입력하면 된다.
Generate unique HTTP ports
를 체크하면 고유 HTTP 포트를 생성하여 충돌을 방지합니다.
하지만 HTTP는 기본 포트인 9080 포트만 사용할 것이기 때문에 체크를 해제 해준다.
Add Member
를 클릭하여 멤버를 추가해준다.