Oracle Fusion Middleware/Coherence

6장. WebLogic - Coherence 세션 그리드 서비스 - 2

수상한 김토끼 2022. 6. 3. 14:56

안녕하세요.

'수상한 김토끼' 입니다.

5장의 코히어런스 세션그리드 서비스 - 1을 통해 코히어런스 기반 세션 클러스터링을 확인 해 보았습니다.

6장에서는 별도의 코히어런스를 활용하여 웹로직 - 코히어런스 세션그리드 서비스를 구성해 보고

알아가는 시간을 갖도록 하겠습니다.

이 구성을 응용하면 (코히어런스 + 톰캣), (코히어런스 + 웹로직 + 톰캣)등의 구성에도 적용이 가능하며

비용이 저렴한 (웹로직 스탠다드 라이선스 + 코히어런스 라이선스) 조합으로

웹로직 엔터프라이즈 라이선스에서 제공되는 코히어런스 기반 세션 클러스터링 적용이 가능합니다.

 

이 블로그 글은 미들웨어 경험이 없으신 분들도 쉽게 따라 하실 수 있도록 쉽게 작성하는 것이 목표입니다.

설명을 보고 진행하시다가 궁금하신 내용은 댓글로 문의하시면 가능한 범위 내에서 알려 드리도록 하겠습니다.


1. 웹로직 14c 설치

6장에서는 웹로직, 코히어런스를 활용하여 세션 클러스터링을 구현하기 때문에 웹로직 서버를 사용하였습니다.

이 방법을 사용하면 웹로직 스탠다드 라이선스에서도 엔터프라이즈 라이선스에서 제공되는 코히어런스 기반

세션 클러스터링 적용이 가능합니다.

 

예제에서는 웹로직을 사용하였지만 이기종 WAS에도 적용이 가능함으로 (코히어런스 + 톰캣)과 같은 구성도

적용이 가능합니다만 본 예제에서는 다루지 않겠습니다.

(이기종 WAS에서도 JVM 옵션 및 WAS 세션설정변경 등으로 동일한 구성가능)

 

웹로직 설치는 이번 페이지에서는 상세히 다루지는 않겠습니다. 웹로직14c 설치관련 내용이 필요하신 분은

관련 내용이 잘 정리된 '와스고수'님 블로그를 참조하여 설치를 진행 해 주세요.

 

https://blog.naver.com/kletgdgo/222413936550
 

1장. Weblogic 14c 사일런트 모드(-slient)로 설치해보기

안녕하세요. "와스고수" 입니다. 이번엔 weblogic 최신버전인 weblogic 14버전에 대해 Linux에 설치 하는 ...

blog.naver.com

 

 


2. 웹로직 Admin 서버 접속

서버 설치가 완료되면 startWebLogic.sh 스크립트를 사용하여 Admin 서버를 기동 해 줍니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
[weblogic@coherence bin]$ pwd
/home/weblogic/weblogic14c/domains/kami_domain/bin
[weblogic@coherence bin]$ ls
generateArchive.sh  restartComponent.sh  setDomainEnv.sh   startComponent.sh        startRSDaemon.sh  stopManagedWebLogic.sh  stopWebLogic.sh
nodemanager         server_migration     setNMJavaHome.sh  startManagedWebLogic.sh  startWebLogic.sh  stopNodeManager.sh
patching            service_migration    setStartupEnv.sh  startNodeManager.sh      stopComponent.sh  stopRSDaemon.sh
[weblogic@coherence bin]$ ./startWebLogic.sh
.
.
JAVA Memory arguments: -Xms256m -Xmx512m -XX:CompileThreshold=8000
.
CLASSPATH=/home/weblogic/jdk1.8.0_321/lib/tools.jar:/home/weblogic/weblogic14c/wlserver/server/lib/weblogic.jar:/home/weblogic/weblogic14c/wlserver/../oracle_common/modules/thirdparty/ant-contrib-1.0b3.jar:/home/weblogic/weblogic14c/wlserver/modules/features/oracle.wls.common.nodemanager.jar::/home/weblogic/weblogic14c/wlserver/common/derby/lib/derbynet.jar:/home/weblogic/weblogic14c/wlserver/common/derby/lib/derbyclient.jar:/home/weblogic/weblogic14c/wlserver/common/derby/lib/derby.jar:/home/weblogic/jdk1.8.0_321/jre/lib:/home/weblogic/jdk1.8.0_321/lib/tools.jar
.
PATH=/home/weblogic/weblogic14c/domains/kami_domain/bin:/home/weblogic/weblogic14c/wlserver/server/bin:/home/weblogic/weblogic14c/wlserver/../oracle_common/modules/thirdparty/org.apache.ant/1.10.5.0.0/apache-ant-1.10.5/bin:/home/weblogic/jdk1.8.0_321/jre/bin:/home/weblogic/jdk1.8.0_321/bin:/home/weblogic/.local/bin:/home/weblogic/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/weblogic/jdk1.8.0_321/bin
.
***************************************************
*  To start WebLogic Server, use a username and   *
*  password assigned to an admin-level user.  For *
*  server administration, use the WebLogic Server *
*  console at http://hostname:port/console        *
***************************************************
Starting WLS with line:
/home/weblogic/jdk1.8.0_321/bin/java -server   -Xms256m -Xmx512m -XX:CompileThreshold=8000 -cp /home/weblogic/weblogic14c/wlserver/server/lib/weblogic-launcher.jar -Dlaunch.use.env.classpath=true -Dweblogic.Name=AdminServer -Djava.security.policy=/home/weblogic/weblogic14c/wlserver/server/lib/weblogic.policy  -Djava.system.class.loader=com.oracle.classloader.weblogic.LaunchClassLoader  -javaagent:/home/weblogic/weblogic14c/wlserver/server/lib/debugpatch-agent.jar -da -Dwls.home=/home/weblogic/weblogic14c/wlserver/server -Dweblogic.home=/home/weblogic/weblogic14c/wlserver/server     -Djava.endorsed.dirs=/home/weblogic/jdk1.8.0_321/jre/lib/endorsed:/home/weblogic/weblogic14c/wlserver/../oracle_common/modules/endorsed:/home/weblogic/weblogic14c/wlserver/modules/endorsed  weblogic.Server
<Jun 32022 1:16:03 PM KST> <Info> <Security> <BEA-090905> <Disabling the CryptoJ JCE Provider self-integrity check for better startup performance. To enable this check, specify -Dweblogic.security.allowCryptoJDefaultJCEVerification=true.>
<Jun 32022 1:16:03 PM KST> <Info> <Security> <BEA-090906> <Changing the default Random Number Generator in RSA CryptoJ from ECDRBG128 to HMACDRBG. To disable this change, specify -Dweblogic.security.allowCryptoJDefaultPRNG=true.>
<Jun 32022 1:16:04 PM KST> <Info> <WebLogicServer> <BEA-000377> <Starting WebLogic Server with Java HotSpot(TM) 64-Bit Server VM Version 25.321-b07 from Oracle Corporation.>
<Jun 32022 1:16:04 PM KST> <Info> <Management> <BEA-141107> <Version: WebLogic Server 14.1.1.0.0  Thu Mar 26 03:15:09 GMT 2020 2000885>
<Jun 32022 1:16:05 PM KST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING.>
<Jun 32022 1:16:05 PM KST> <Info> <WorkManager> <BEA-002900> <Initializing self-tuning thread pool.>
<Jun 32022 1:16:06,555 PM KST> <Notice> <LoggingService> <BEA-320400> <The log file /home/weblogic/weblogic14c/domains/kami_domain/servers/AdminServer/logs/AdminServer.log will be rotated. Reopen the log file if tailing has stopped. This can happen on some platforms, such as Windows.>
<Jun 32022 1:16:06,556 PM KST> <Notice> <LoggingService> <BEA-320401> <The log file has been rotated to /home/weblogic/weblogic14c/domains/kami_domain/servers/AdminServer/logs/AdminServer.log00002. Log messages will continue to be logged in /home/weblogic/weblogic14c/domains/kami_domain/servers/AdminServer/logs/AdminServer.log.>
<Jun 32022 1:16:06,580 PM KST> <Notice> <Log Management> <BEA-170019> <The server log file weblogic.logging.FileStreamHandler instance=1594246357
Current log file=/home/weblogic/weblogic14c/domains/kami_domain/servers/AdminServer/logs/AdminServer.log
Rotation dir=/home/weblogic/weblogic14c/domains/kami_domain/servers/AdminServer/logs
 is opened. All server side log events will be written to this file.>
<Jun 32022 1:16:07,276 PM KST> <Notice> <Security> <BEA-090946> <Security pre-initializing using security realm: myrealm>
<Jun 32022 1:16:07,707 PM KST> <Notice> <Security> <BEA-090947> <Security post-initializing using security realm: myrealm>
<Jun 32022 1:16:09,544 PM KST> <Notice> <Security> <BEA-090082> <Security initialized using administrative security realm: myrealm>
<Jun 32022 1:16:10,099 PM KST> <Notice> <JMX> <BEA-149512> <JMX Connector Server started at service:jmx:iiop://10.0.0.58:7001/jndi/weblogic.management.mbeanservers.runtime.>
<Jun 32022 1:16:10,655 PM KST> <Notice> <JMX> <BEA-149512> <JMX Connector Server started at service:jmx:iiop://10.0.0.58:7001/jndi/weblogic.management.mbeanservers.edit.>
<Jun 32022 1:16:10,677 PM KST> <Notice> <JMX> <BEA-149512> <JMX Connector Server started at service:jmx:iiop://10.0.0.58:7001/jndi/weblogic.management.mbeanservers.domainruntime.>
<Jun 32022 1:16:11,874 PM KST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STANDBY.>
<Jun 32022 1:16:11,874 PM KST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING.>
<Jun 32022 1:16:11,926 PM KST> <Notice> <Log Management> <BEA-170036> <The Logging monitoring service timer has started to check for logged message counts every 30 seconds.>
<Jun 32022 1:16:12,374 PM KST> <Notice> <Log Management> <BEA-170027> <The server has successfully established a connection with the Domain level Diagnostic Service.>
<Jun 32022 1:16:12,498 PM KST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to ADMIN.>
<Jun 32022 1:16:12,542 PM KST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RESUMING.>
<Jun 32022 1:16:12,588 PM KST> <Warning> <Server> <BEA-002611> <The hostname "localhost", maps to multiple IP addresses: 127.0.0.10:0:0:0:0:0:0:1.>
<Jun 32022 1:16:12,589 PM KST> <Notice> <WebLogicServer> <BEA-000331> <Started the WebLogic Server Administration Server "AdminServer" for domain "kami_domain" running in development mode.>
<Jun 32022 1:16:12,601 PM KST> <Notice> <Server> <BEA-002613> <Channel "Default[1]" is now listening on 127.0.0.1:7001 for protocols iiop, t3, ldap, snmp, http.>
<Jun 32022 1:16:12,602 PM KST> <Notice> <Server> <BEA-002613> <Channel "Default" is now listening on 10.0.0.58:7001 for protocols iiop, t3, ldap, snmp, http.>
<Jun 32022 1:16:12,602 PM KST> <Notice> <Server> <BEA-002613> <Channel "Default[1]" is now listening on 127.0.0.1:7001 for protocols iiop, t3, ldap, snmp, http.>
<Jun 32022 1:16:12,602 PM KST> <Notice> <Server> <BEA-002613> <Channel "Default" is now listening on 10.0.0.58:7001 for protocols iiop, t3, ldap, snmp, http.>
<Jun 32022 1:16:12,634 PM KST> <Notice> <WebLogicServer> <BEA-000360> <The server started in RUNNING mode.>
<Jun 32022 1:16:12,638 PM KST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RUNNING.>
cs

 

Admin 서버가 기동되면 http://서버주소:7001/console 주소로 접속합니다.

도메인 구성할때 입력한 '사용자이름'과 '비밀번호'를 입력하고 로그인하면 Admin 콘솔을 확인할 수 있습니다.


3. 클러스터 설정을 위한 서버 생성

3.1 클러스터 설정을 위해 웹로직 서버 인스턴스를 2개 생성 해 줍니다.

Server-1, Server-2 2개의 서버를 생성하였습니다.

 

NodeManager 구성 및 서버 생성 상세내용은 5장의 3. 클러스터 설정을 위한 서버 생성을 참고해 주세요.

중복되는 내용으로 6장에서는 다루지 않겠습니다.


4. 코히어런스 클러스터 설정변경 (cache-server.sh 파일 수정)

별도 코히어런스 프로세스를 사용하여 세션 클러스트링을 사용하기 위한 코히어런스 설정 변경이 필요합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[coherence@coherence bin]$ pwd
/home/coherence/coherence14c/coherence/bin
[coherence@coherence bin]$ ls -al
total 32
drwxr-x---2 coherence coherence  189 Jun  2 17:31 .
drwxr-x---7 coherence coherence   89 May 11 09:56 ..
-rwxr-x---1 coherence coherence 2063 Jun  2 17:31 cache-server.sh
-rwxr-x---1 coherence coherence 1071 May 11 10:06 cache-server.sh.20220511
-rwxr-x---1 coherence coherence 1398 Nov 21  2019 coherence.sh
-rwxr-x---1 coherence coherence  808 Nov 21  2019 datagram-test.sh
-rwxr-x---1 coherence coherence  811 Nov 21  2019 multicast-test.sh
-rwxr-x---1 coherence coherence 1130 Nov 21  2019 pof-config-gen.sh
-rwxr-x---1 coherence coherence 1289 Nov 21  2019 query.sh
-rw-r-----1 coherence coherence  222 Nov 21  2019 readme.txt
[coherence@coherence bin]$
cs

$COHERENCE_HOME/bin 디렉토리 아래의 cache-server.sh 파일을 수정합니다.

 

수정 전 cache-server.sh 파일

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
[coherence@coherence bin]$ pwd
/home/coherence/coherence14c/coherence/bin
[coherence@coherence bin]$ ls
cache-server.sh  cache-server.sh.20220511  coherence.sh  datagram-test.sh  multicast-test.sh  pof-config-gen.sh  query.sh  readme.txt
[coherence@coherence bin]$ cat cache-server.sh.20220511
#!/bin/sh
 
# This will start a cache server
 
# specify the Coherence installation directory
SCRIPT_PATH="${0}"
while [ -"${SCRIPT_PATH}" ]; do
  LS=`ls -ld "${SCRIPT_PATH}"`
  LINK=`expr "${LS}" : '.*-> \(.*\)$'`
  if [ `expr "${LINK}" : '/.*'> /dev/null ]; then
    SCRIPT_PATH="${LINK}"
  else
    SCRIPT_PATH="`dirname "${SCRIPT_PATH}"`/${LINK}"
  fi
done
 
CURRENT_DIR=`pwd`
cd `dirname ${SCRIPT_PATH}` > /dev/null
SCRIPT_PATH=`pwd`
COHERENCE_HOME=`dirname $SCRIPT_PATH`
cd ${CURRENT_DIR}
 
# specify the JVM heap size
MEMORY=1g
 
if [ ! -f ${COHERENCE_HOME}/bin/cache-server.sh ]; then
  echo "coherence.sh: must be run from the Coherence installation directory."
  exit
fi
 
if [ -f $JAVA_HOME/bin/java ]; then
  JAVAEXEC=$JAVA_HOME/bin/java
else
  JAVAEXEC=java
fi
 
if [ "$1" = "-jmx" ]; then
    JMXPROPERTIES="-Dcoherence.management=all -Dcoherence.management.remote=true"
    shift
fi
 
JAVA_OPTS="-Xms$MEMORY -Xmx$MEMORY $JMXPROPERTIES"
 
$JAVAEXEC -server -showversion $JAVA_OPTS -cp "$COHERENCE_HOME/lib/coherence.jar" com.tangosol.net.DefaultCacheServer "$@"
cs

 

수정 후 cache-server.sh 파일

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
[coherence@coherence bin]$ pwd
/home/coherence/coherence14c/coherence/bin
[coherence@coherence bin]$ ls
cache-server.sh  cache-server.sh.20220511  coherence.sh  datagram-test.sh  multicast-test.sh  pof-config-gen.sh  query.sh  readme.txt
[coherence@coherence bin]$ cat cache-server.sh
#!/bin/sh
 
# This will start a cache server
 
# specify the Coherence installation directory
SCRIPT_PATH="${0}"
while [ -"${SCRIPT_PATH}" ]; do
  LS=`ls -ld "${SCRIPT_PATH}"`
  LINK=`expr "${LS}" : '.*-> \(.*\)$'`
  if [ `expr "${LINK}" : '/.*'> /dev/null ]; then
    SCRIPT_PATH="${LINK}"
  else
    SCRIPT_PATH="`dirname "${SCRIPT_PATH}"`/${LINK}"
  fi
done
 
CURRENT_DIR=`pwd`
cd `dirname ${SCRIPT_PATH}` > /dev/null
SCRIPT_PATH=`pwd`
COHERENCE_HOME=`dirname $SCRIPT_PATH`
cd ${CURRENT_DIR}
 
# specify the JVM heap size
MEMORY=1g
 
# jvm ipv4 set
IPV4=-Djava.net.preferIPv4Stack=true
 
if [ ! -f ${COHERENCE_HOME}/bin/cache-server.sh ]; then
  echo "coherence.sh: must be run from the Coherence installation directory."
  exit
fi
 
if [ -f $JAVA_HOME/bin/java ]; then
  JAVAEXEC=$JAVA_HOME/bin/java
else
  JAVAEXEC=java
fi
 
if [ "$1" = "-jmx" ]; then
    JMXPROPERTIES="-Dcoherence.management=all -Dcoherence.management.remote=true"
    shift
fi
 
# JAVA_OPTS="-Xms$MEMORY -Xmx$MEMORY $IPV4 $JMXPROPERTIES"
 
# $JAVAEXEC -server -showversion $JAVA_OPTS -cp "$COHERENCE_HOME/lib/coherence.jar" com.tangosol.net.DefaultCacheServer "$@"
 
JAVA_OPTS="-Xms${MEMORY} -Xmx${MEMORY}"
JAVA_OPTS="${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom ${JMXPROPERTIES}"
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.cacheconfig=default-session-cache-config.xml"
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.session.localstorage=true"
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.cluster=my_cluster"
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.clusteraddress=224.2.1.2"
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.clusterport=14199"
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.ttl=1"
JAVA_OPTS="${JAVA_OPTS} -Djava.net.preferIPv4Stack=true "
 
# $JAVAEXEC -server -showversion -cp "${COHERENCE_HOME}/lib/coherence-web.jar:${COHERENCE_HOME}/lib/coherence.jar"\
# $JAVA_OPTS com.tangosol.net.DefaultCacheServer $1
 
$JAVAEXEC -server -showversion -cp "$COHERENCE_HOME/lib/coherence.jar:${COHERENCE_HOME}/lib/coherence-web.jar:" $JAVA_OPTS com.tangosol.net.DefaultCacheServer $1
cs

외부 코히어런스를 사용하여 웹로직 세션 클러스터링을 구성하기 위해서는 JAVA_OPTS 부분과 -cp(클래스 패스)부분

에 대한 수정이 필요하며, 추가 항목은 다음과 같습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 코히어런스 session cache config(default설정, 설정 변경이 필요한 경우 override 하여 사용)
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.cacheconfig=default-session-cache-config.xml"
# 세션객체의 저장소(코히어런스에 저장 true)
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.session.localstorage=true"
# 클러스터 이름
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.cluster=my_cluster"
# 멀티캐스트 IP
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.clusteraddress=224.2.1.2"
# 멀티캐스트 Port
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.clusterport=14199"
# TTL
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.ttl=1"
 
# cp에 coherence-web.jar 파일 추가
$JAVAEXEC -server -showversion -cp "$COHERENCE_HOME/lib/coherence.jar:${COHERENCE_HOME}/lib/coherence-web.jar:" $JAVA_OPTS com.tangosol.net.DefaultCacheServer $1
cs

default-session-cache-config.xml 파일 수정이 필요한 경우 override 파일을 작성하여 파일경로를 변경 해 주시면 되며

default-session-cache-config.xml 파일내용은 다음과 같습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<?xml version="1.0"?>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!--                                                                       -->
<!--      Cache configuration descriptor for Coherence*Web                 -->
<!--                                                                       -->
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->    
 
<cache-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xmlns="http://xmlns.oracle.com/coherence/coherence-cache-config"
              xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-cache-config coherence-cache-config.xsd">
 
  <scope-name>oracle.coherence.web</scope-name>
 
  <caching-scheme-mapping>
    <!--
    The clustered cache used to store Session management data.
    -->
    <cache-mapping>
      <cache-name>session-management</cache-name>
      <scheme-name>replicated</scheme-name>
    </cache-mapping>
 
    <!--
    The clustered cache used to store ServletContext attributes.
    -->
    <cache-mapping>
      <cache-name>servletcontext-storage</cache-name>
      <scheme-name>replicated</scheme-name>
    </cache-mapping>
 
    <!--
    The clustered cache used to store Session attributes.
    -->
    <cache-mapping>
      <cache-name>session-storage</cache-name>
      <scheme-name>session-distributed</scheme-name>
    </cache-mapping>
 
    <!--
    The clustered cache used to store the "overflowing" (split-out due to size)
    Session attributes. Only used for the "Split" model.
    -->
    <cache-mapping>
      <cache-name>session-overflow</cache-name>
      <scheme-name>session-distributed</scheme-name>
    </cache-mapping>
 
    <!--
    The local cache used to store Sessions that are not yet distributed (if
    there is a distribution controller).
    -->
    <cache-mapping>
      <cache-name>local-session-storage</cache-name>
      <scheme-name>unlimited-local</scheme-name>
    </cache-mapping>
 
    <!--
    The local cache used to store Session attributes that are not distributed
    (if there is a distribution controller or attributes are allowed to become
    local when serialization fails).
    -->
    <cache-mapping>
      <cache-name>local-attribute-storage</cache-name>
      <scheme-name>unlimited-local</scheme-name>
    </cache-mapping>
  </caching-scheme-mapping>
 
  <caching-schemes>
    <!--
    Replicated caching scheme used by the Session management and ServletContext
    attribute caches.
    -->
    <replicated-scheme>
      <scheme-name>replicated</scheme-name>
      <service-name>ReplicatedSessionsMisc</service-name>
      <request-timeout>30s</request-timeout>
      <backing-map-scheme>
        <local-scheme>
          <scheme-ref>unlimited-local</scheme-ref>
        </local-scheme>
      </backing-map-scheme>
      <autostart>true</autostart>
    </replicated-scheme>
 
    <local-scheme>
      <scheme-name>session-front</scheme-name>
      <eviction-policy>HYBRID</eviction-policy>
      <high-units>1000</high-units>
      <low-units>750</low-units>
    </local-scheme>
 
    <distributed-scheme>
      <scheme-name>session-distributed</scheme-name>
      <service-name>DistributedSessions</service-name>
      <thread-count system-property="coherence.session.threads">4
         </thread-count>
      <lease-granularity>member</lease-granularity>
      <local-storage system-property="coherence.session.localstorage">
         false</local-storage>
      <partition-count>257</partition-count>
      <backup-count>1</backup-count>
      <request-timeout>30s</request-timeout>
      <backing-map-scheme>
        <ramjournal-scheme>
           <high-units system-property="coherence.session.highunits"/>
           <unit-calculator>BINARY</unit-calculator>
        </ramjournal-scheme>
      </backing-map-scheme>
      <autostart>true</autostart>
    </distributed-scheme>
 
    <!--
    Local caching scheme definition used by all caches that do not require an
    eviction policy.
    -->
    <local-scheme>
      <scheme-name>unlimited-local</scheme-name>
      <service-name>LocalSessionCache</service-name>
    </local-scheme>
 
    <!--
    Clustered invocation service that manages sticky session ownership.
    -->
    <invocation-scheme>
      <service-name>SessionOwnership</service-name>
      <request-timeout>30s</request-timeout>
    </invocation-scheme>
  </caching-schemes>
</cache-config>
cs

설정 변경 후 cache-server.sh 파일을 이용해 코히어런스를 기동 해 줍니다.

정상적으로 기동 되었다면 다음과 같은 로그를 확인할 수 있습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
[coherence@coherence bin]$ pwd
/home/coherence/coherence14c/coherence/bin
[coherence@coherence bin]$ ls
cache-server.sh  cache-server.sh.20220511  coherence.sh  datagram-test.sh  multicast-test.sh  pof-config-gen.sh  query.sh  readme.txt
[coherence@coherence bin]$ ./cache-server.sh
java version "1.8.0_321"
Java(TM) SE Runtime Environment (build 1.8.0_321-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.321-b07, mixed mode)
 
2022-06-03 13:49:22.277/1.000 Oracle Coherence 14.1.1.0.0 <Info> (thread=main, member=n/a): Loaded operational configuration from "jar:file:/home/coherence/coherence14c/coherence/lib/coherence.jar!/tangosol-coherence.xml"
2022-06-03 13:49:22.352/1.075 Oracle Coherence 14.1.1.0.0 <Info> (thread=main, member=n/a): Loaded operational overrides from "jar:file:/home/coherence/coherence14c/coherence/lib/coherence.jar!/tangosol-coherence-override-dev.xml"
2022-06-03 13:49:22.354/1.078 Oracle Coherence 14.1.1.0.0 <Info> (thread=main, member=n/a): Optional configuration override "/tangosol-coherence-override.xml" is not specified
2022-06-03 13:49:22.361/1.085 Oracle Coherence 14.1.1.0.0 <Info> (thread=main, member=n/a): Optional configuration override "cache-factory-config.xml" is not specified
2022-06-03 13:49:22.362/1.085 Oracle Coherence 14.1.1.0.0 <Info> (thread=main, member=n/a): Optional configuration override "cache-factory-builder-config.xml" is not specified
2022-06-03 13:49:22.363/1.086 Oracle Coherence 14.1.1.0.0 <Info> (thread=main, member=n/a): Optional configuration override "/custom-mbeans.xml" is not specified
 
Oracle Coherence Version 14.1.1.0.0 Build 77467
 Grid Edition: Development mode
Copyright (c) 20002020, Oracle and/or its affiliates. All rights reserved.
 
2022-06-03 13:49:22.763/1.486 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=main, member=n/a): Loaded cache configuration from "jar:file:/home/coherence/coherence14c/coherence/lib/coherence-web.jar!/default-session-cache-config.xml"
2022-06-03 13:49:23.431/2.155 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=main, member=n/a): Created cache factory com.tangosol.net.ExtensibleConfigurableCacheFactory
2022-06-03 13:49:23.790/2.513 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=main, member=n/a): TCMP bound to /10.0.0.58:40823 using SystemDatagramSocketProvider
2022-06-03 13:49:27.121/5.844 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=NameService:TcpAcceptor, member=n/a): TcpAcceptor now listening for connections on coherence.sub05260159430.coherencevcn.oraclevcn.com:40823.3
2022-06-03 13:49:27.122/5.845 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=Cluster, member=n/a): NameService now listening for connections on coherence.sub05260159430.coherencevcn.oraclevcn.com:14199.3
2022-06-03 13:49:27.123/5.846 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=Cluster, member=n/a): Created a new cluster "my_cluster" with Member(Id=1, Timestamp=2022-06-03 13:49:23.853, Address=10.0.0.58:40823, MachineId=43726, Location=process:3006, Role=CoherenceServer, Edition=Grid Edition, Mode=Development, CpuCount=2, SocketCount=2)
2022-06-03 13:49:27.146/5.869 Oracle Coherence GE 14.1.1.0.0 <D5> (thread=Transport:TransportService, member=n/a): Service TransportService is bound to tmb://10.0.0.58:40823.44064
2022-06-03 13:49:27.154/5.878 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=Transport:TransportService, member=n/a): Service TransportService joined the cluster with senior service member 1
2022-06-03 13:49:27.159/5.882 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=main, member=n/a): Started cluster Name=my_cluster, ClusterPort=14199
 
Group{Address=224.2.1.2, TTL=1}
 
MasterMemberSet(
  ThisMember=Member(Id=1, Timestamp=2022-06-03 13:49:23.853, Address=10.0.0.58:40823, MachineId=43726, Location=process:3006, Role=CoherenceServer)
  OldestMember=Member(Id=1, Timestamp=2022-06-03 13:49:23.853, Address=10.0.0.58:40823, MachineId=43726, Location=process:3006, Role=CoherenceServer)
  ActualMemberSet=MemberSet(Size=1
    Member(Id=1, Timestamp=2022-06-03 13:49:23.853, Address=10.0.0.58:40823, MachineId=43726, Location=process:3006, Role=CoherenceServer)
    )
  MemberId|ServiceJoined|MemberState|Version
    1|2022-06-03 13:49:23.853|JOINED|14.1.1.0.0
  RecycleMillis=1200000
  RecycleSet=MemberSet(Size=0
    )
  )
 
TcpRing{Connections=[]}
IpMonitor{Addresses=0, Timeout=15s}
 
2022-06-03 13:49:27.182/5.905 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=Invocation:Management, member=1): Service Management joined the cluster with senior service member 1
2022-06-03 13:49:27.282/6.005 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=main, member=1): Loaded Reporter configuration from "jar:file:/home/coherence/coherence14c/coherence/lib/coherence.jar!/reports/report-group.xml"
2022-06-03 13:49:27.348/6.072 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=main, member=1): JMXConnectorServer now listening for connections on coherence.sub05260159430.coherencevcn.oraclevcn.com
2022-06-03 13:49:27.360/6.084 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=main, member=1): Loaded Reporter configuration from "jar:file:/home/coherence/coherence14c/coherence/lib/coherence.jar!/reports/report-group.xml"
2022-06-03 13:49:27.426/6.149 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=ReplicatedCache:oracle.coherence.web:ReplicatedSessionsMisc, member=1): Service oracle.coherence.web:ReplicatedSessionsMisc joined the cluster with senior service member 1
2022-06-03 13:49:27.593/6.316 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=DistributedCache:oracle.coherence.web:DistributedSessions, member=1): Service oracle.coherence.web:DistributedSessions joined the cluster with senior service member 1
2022-06-03 13:49:27.624/6.348 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=DistributedCache:oracle.coherence.web:DistributedSessions, member=1): Service oracle.coherence.web:DistributedSessions: sending PartitionConfig ConfigSync to all
2022-06-03 13:49:27.655/6.378 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=DistributedCache:oracle.coherence.web:DistributedSessions, member=1): This member has become the distribution coordinator for MemberSet(Size=1
  Member(Id=1, Timestamp=2022-06-03 13:49:23.853, Address=10.0.0.58:40823, MachineId=43726, Location=process:3006, Role=CoherenceServer)
  )
2022-06-03 13:49:27.655/6.379 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=main, member=1):
Services
  (
  ClusterService{Name=Cluster, State=(SERVICE_STARTED, STATE_JOINED), Id=0, OldestMemberId=1}
  TransportService{Name=TransportService, State=(SERVICE_STARTED), Id=1, OldestMemberId=1}
  InvocationService{Name=Management, State=(SERVICE_STARTED), Id=2, OldestMemberId=1}
  ReplicatedCache{Name=oracle.coherence.web:ReplicatedSessionsMisc, State=(SERVICE_STARTED), Id=3, OldestMemberId=1}
  PartitionedCache{Name=oracle.coherence.web:DistributedSessions, State=(SERVICE_STARTED), Id=4, OldestMemberId=1, LocalStorage=enabled, PartitionCount=257, BackupCount=1, AssignedPartitions=0, BackupPartitions=0, CoordinatorId=1}
  )
 
Started DefaultCacheServer...
 
2022-06-03 13:49:27.719/6.442 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=DistributedCache:oracle.coherence.web:DistributedSessions, member=1): Partition ownership has stabilized with 1 nodes
cs

세션 공유를 위한 코히어런스 설정이 마무리 되었습니다. 


5. 웹로직(WAS) 설정변경 (JAVA_OPTS 내용추가, weblogic.xml 파일 수정)

 

5.1 startManagedServer.sh 파일 수정

웹로직 기동 스크립트(startManagedServer.sh 파일)에 코히어런스 관련 JAVA_OPTS 다음 내용을 추가 해 줍니다.

1
2
3
4
5
6
7
8
9
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.cacheconfig=default-session-cache-config.xml"
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.session.localstorage=true"
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.cluster=my_cluster"
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.clusteraddress=224.2.1.2"
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.clusterport=14199"
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.ttl=1"
JAVA_OPTS="${JAVA_OPTS} -Djava.net.preferIPv4Stack=true "
 
USER_MEM_ARGS="${MEMORY} ${GC} ${ANALYSIS} ${BOOT_PROPERTIES} ${ETC_OPT} ${JAVA_OPTS}"
cs

코히어런스와 동일한 JAVA_OPTS를 추가 합니다.

 

추가된 startServer1.sh 파일은 다음과 같습니다. 제가 사용하는 스크립트 파일로 환경에 따라 파일내용은

다를 수 있으니 JAVA_OPTS 부분만 참고하여 적용해 주세요.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
[weblogic@coherence script]$ cat startServer1.sh
#!/bin/bash
 
SERVER_NAME="Server-1"
ADMIN_SERVER_URL="t3://localhost:7001"
DOMAIN_HOME="/home/weblogic/weblogic14c/domains/kami_domain"
LOG_DIR="${DOMAIN_HOME}/logs"
 
if [ "`whoami`" != "weblogic" ]; then
  echo I am not weblogic user.
  exit
fi
 
if [ "`ps -auwwx|grep java|grep ${SERVER_NAME} |awk '{print $2}'`" != "" ]; then
  echo ${SERVER_NAME} Server is aready RUNNING
  exit
fi
 
MEMORY="-Xms1024m -Xmx1024m -XX:NewSize=160m -XX:MaxNewSize=160m -XX:SurvivorRatio=2 -XX:TargetSurvivorRatio=90 -Xss256k"
 
GC="-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution -Xloggc:${LOG_DIR}/gc/${SERVER_NAME}.log"
 
ANALYSIS="-XX:+PrintClassHistogram -XX:+HeapDumpOnOutOfMemoryError"
 
BOOT_PROPERTIES="-Dweblogic.system.BootIdentityFile=${DOMAIN_HOME}/servers/AdminServer/security/boot.properties"
 
ETC_OPT="-XX:SoftRefLRUPolicyMSPerMB=1 -showversion -XX:+AggressiveOpts -XX:-UseBiasedLocking -XX:+DisableExplicitGC -Dweblogic.ProductionModeEnabled=true -Dweblogic.MuxerClass=weblogic.socket.NIOSocketMuxer -Dweblogic.SocketReaders=3 -Dweblogic.management.discover=false -Dweblogic.diagnostics.debug.DebugLogger.DISABLED=true -Doracle.jdbc.defaultRowPrefetch=200 -Dsun.net.inetaddr.ttl=0 -Dnetworkaddress.cache.ttl=0 -Djavax.xml.parsers.DocumentBuilderFactory=weblogic.xml.jaxp.RegistryDocumentBuilderFactory -Djava.net.preferIPv4Stack=true -Djava.security.egd=file:/dev/./urandom"
 
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.cacheconfig=default-session-cache-config.xml"
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.session.localstorage=true"
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.cluster=my_cluster"
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.clusteraddress=224.2.1.2"
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.clusterport=14199"
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.ttl=1"
JAVA_OPTS="${JAVA_OPTS} -Djava.net.preferIPv4Stack=true "
 
USER_MEM_ARGS="${MEMORY} ${GC} ${ANALYSIS} ${BOOT_PROPERTIES} ${ETC_OPT} ${JAVA_OPTS}"
 
echo $USER_MEM_ARGS
 
EXT_PRE_CLASSPATH=""
 
EXT_POST_CLASSPATH=""
 
export USER_MEM_ARGS EXT_PRE_CLASSPATH EXT_POST_CLASSPATH
 
mv ${LOG_DIR}/${SERVER_NAME}.out ${LOG_DIR}/${SERVER_NAME}.out.`date +'%m%d_%H%M%S'`
mv ${LOG_DIR}/gc/${SERVER_NAME}.out ${LOG_DIR}/gc/${SERVER_NAME}.out.`date +'%m%d_%H%M%S'`
 
nohup ${DOMAIN_HOME}/bin/startManagedWebLogic.sh ${SERVER_NAME} ${ADMIN_SERVER_URL} > ${LOG_DIR}/${SERVER_NAME}.out 2>&1 &
 
tail -f ${LOG_DIR}/${SERVER_NAME}.out
cs

 

5.2 weblogic.xml 파일 수정

어플리케이션에서 세션저장위치를 변경하기 위해 세션 클러스터링을 적용하려는 어플리케이션의

$APP_HOME/WEB_INF/weblogic.xml 파일 변경이 필요합니다.

 

JAVA_OPT 변경 후 weblogic.xml 파일의 session-descriptor 속성의 persistent-store-type 항목을 수정 해 줍니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
[weblogic@coherence WEB-INF]$ pwd
/home/weblogic/webapps/testApp/WEB-INF
[weblogic@coherence WEB-INF]$ ls
weblogic.xml  web.xml
[weblogic@coherence WEB-INF]$ cat weblogic.xml
<?xml version='1.0' encoding='UTF-8'?>
<weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd">
        <session-descriptor>
                <timeout-secs>3600</timeout-secs>
                <invalidation-interval-secs>60</invalidation-interval-secs>
                <persistent-store-type>coherence-web</persistent-store-type>
                <url-rewriting-enabled>true</url-rewriting-enabled>
        </session-descriptor>
        <jsp-descriptor>
                <page-check-seconds>5</page-check-seconds>
                <precompile>false</precompile>
                <keepgenerated>false</keepgenerated>
                <encoding>utf-8</encoding>
        </jsp-descriptor>
        <charset-params>
                <input-charset>
                        <resource-path>/*</resource-path>
                        <java-charset-name>utf-8</java-charset-name>
                </input-charset>
        </charset-params>
        <!-- 입력 -->
        <container-descriptor>
                <show-archived-real-path-enabled>true</show-archived-real-path-enabled>
        </container-descriptor>
        <!-- 이 부분에 설정하고자 하는 Context Root 입력 -->
        <context-root>/</context-root>
</weblogic-web-app>
cs

 

세션 클러스터링을 적용을 위해 서버 2개의 스크립트 및 weblogic.xml 파일 변경완료 후 서버를 기동해 줍니다.

정상적으로 기동 되었다면 다음과 같은 로그를 확인할 수 있습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
[weblogic@coherence script]$ pwd
/home/weblogic/weblogic14c/domains/kami_domain/script
[weblogic@coherence script]$ ls
startAdmin.sh  startServer1.sh  startServer2.sh  stopAdmin.sh  stopServer1.sh  stopServer2.sh
[weblogic@coherence script]$ ./startServer1.sh
-Xms1024m -Xmx1024m -XX:NewSize=160m -XX:MaxNewSize=160m -XX:SurvivorRatio=2 -XX:TargetSurvivorRatio=90 -Xss256k -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution -Xloggc:/home/weblogic/weblogic14c/domains/kami_domain/logs/gc/Server-1.log -XX:+PrintClassHistogram -XX:+HeapDumpOnOutOfMemoryError -Dweblogic.system.BootIdentityFile=/home/weblogic/weblogic14c/domains/kami_domain/servers/AdminServer/security/boot.properties -XX:SoftRefLRUPolicyMSPerMB=1 -showversion -XX:+AggressiveOpts -XX:-UseBiasedLocking -XX:+DisableExplicitGC -Dweblogic.ProductionModeEnabled=true -Dweblogic.MuxerClass=weblogic.socket.NIOSocketMuxer -Dweblogic.SocketReaders=3 -Dweblogic.management.discover=false -Dweblogic.diagnostics.debug.DebugLogger.DISABLED=true -Doracle.jdbc.defaultRowPrefetch=200 -Dsun.net.inetaddr.ttl=0 -Dnetworkaddress.cache.ttl=0 -Djavax.xml.parsers.DocumentBuilderFactory=weblogic.xml.jaxp.RegistryDocumentBuilderFactory -Djava.net.preferIPv4Stack=true -Djava.security.egd=file:/dev/./urandom -Dcoherence.cacheconfig=default-session-cache-config.xml -Dcoherence.session.localstorage=true -Dcoherence.cluster=my_cluster -Dcoherence.clusteraddress=224.2.1.2 -Dcoherence.clusterport=14199 -Dcoherence.ttl=1 -Djava.net.preferIPv4Stack=true
mv: cannot stat '/home/weblogic/weblogic14c/domains/kami_domain/logs/gc/Server-1.out': No such file or directory
.
.
JAVA Memory arguments: -Xms1024m -Xmx1024m -XX:NewSize=160m -XX:MaxNewSize=160m -XX:SurvivorRatio=2 -XX:TargetSurvivorRatio=90 -Xss256k -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution -Xloggc:/home/weblogic/weblogic14c/domains/kami_domain/logs/gc/Server-1.log -XX:+PrintClassHistogram -XX:+HeapDumpOnOutOfMemoryError -Dweblogic.system.BootIdentityFile=/home/weblogic/weblogic14c/domains/kami_domain/servers/AdminServer/security/boot.properties -XX:SoftRefLRUPolicyMSPerMB=1 -showversion -XX:+AggressiveOpts -XX:-UseBiasedLocking -XX:+DisableExplicitGC -Dweblogic.ProductionModeEnabled=true -Dweblogic.MuxerClass=weblogic.socket.NIOSocketMuxer -Dweblogic.SocketReaders=3 -Dweblogic.management.discover=false -Dweblogic.diagnostics.debug.DebugLogger.DISABLED=true -Doracle.jdbc.defaultRowPrefetch=200 -Dsun.net.inetaddr.ttl=0 -Dnetworkaddress.cache.ttl=0 -Djavax.xml.parsers.DocumentBuilderFactory=weblogic.xml.jaxp.RegistryDocumentBuilderFactory -Djava.net.preferIPv4Stack=true -Djava.security.egd=file:/dev/./urandom  -Dcoherence.cacheconfig=default-session-cache-config.xml -Dcoherence.session.localstorage=true -Dcoherence.cluster=my_cluster -Dcoherence.clusteraddress=224.2.1.2 -Dcoherence.clusterport=14199 -Dcoherence.ttl=1 -Djava.net.preferIPv4Stack=true
.
CLASSPATH=/home/weblogic/jdk1.8.0_321/lib/tools.jar:/home/weblogic/weblogic14c/wlserver/server/lib/weblogic.jar:/home/weblogic/weblogic14c/wlserver/../oracle_common/modules/thirdparty/ant-contrib-1.0b3.jar:/home/weblogic/weblogic14c/wlserver/modules/features/oracle.wls.common.nodemanager.jar:/home/weblogic/weblogic14c/wlserver/common/derby/lib/derbyclient.jar:/home/weblogic/weblogic14c/wlserver/common/derby/lib/derby.jar:/home/weblogic/jdk1.8.0_321/jre/lib:/home/weblogic/jdk1.8.0_321/lib/tools.jar
.
PATH=/home/weblogic/weblogic14c/domains/kami_domain/bin:/home/weblogic/weblogic14c/wlserver/server/bin:/home/weblogic/weblogic14c/wlserver/../oracle_common/modules/thirdparty/org.apache.ant/1.10.5.0.0/apache-ant-1.10.5/bin:/home/weblogic/jdk1.8.0_321/jre/bin:/home/weblogic/jdk1.8.0_321/bin:/home/weblogic/.local/bin:/home/weblogic/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/weblogic/jdk1.8.0_321/bin
.
***************************************************
*  To start WebLogic Server, use a username and   *
*  password assigned to an admin-level user.  For *
*  server administration, use the WebLogic Server *
*  console at http://hostname:port/console        *
***************************************************
Starting WLS with line:
/home/weblogic/jdk1.8.0_321/bin/java -server   -Xms1024m -Xmx1024m -XX:NewSize=160m -XX:MaxNewSize=160m -XX:SurvivorRatio=2 -XX:TargetSurvivorRatio=90 -Xss256k -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution -Xloggc:/home/weblogic/weblogic14c/domains/kami_domain/logs/gc/Server-1.log -XX:+PrintClassHistogram -XX:+HeapDumpOnOutOfMemoryError -Dweblogic.system.BootIdentityFile=/home/weblogic/weblogic14c/domains/kami_domain/servers/AdminServer/security/boot.properties -XX:SoftRefLRUPolicyMSPerMB=1 -showversion -XX:+AggressiveOpts -XX:-UseBiasedLocking -XX:+DisableExplicitGC -Dweblogic.ProductionModeEnabled=true -Dweblogic.MuxerClass=weblogic.socket.NIOSocketMuxer -Dweblogic.SocketReaders=3 -Dweblogic.management.discover=false -Dweblogic.diagnostics.debug.DebugLogger.DISABLED=true -Doracle.jdbc.defaultRowPrefetch=200 -Dsun.net.inetaddr.ttl=0 -Dnetworkaddress.cache.ttl=0 -Djavax.xml.parsers.DocumentBuilderFactory=weblogic.xml.jaxp.RegistryDocumentBuilderFactory -Djava.net.preferIPv4Stack=true -Djava.security.egd=file:/dev/./urandom  -Dcoherence.cacheconfig=default-session-cache-config.xml -Dcoherence.session.localstorage=true -Dcoherence.cluster=my_cluster -Dcoherence.clusteraddress=224.2.1.2 -Dcoherence.clusterport=14199 -Dcoherence.ttl=1 -Djava.net.preferIPv4Stack=true  -cp /home/weblogic/weblogic14c/wlserver/server/lib/weblogic-launcher.jar -Dlaunch.use.env.classpath=true -Dweblogic.Name=Server-1 -Djava.security.policy=/home/weblogic/weblogic14c/wlserver/server/lib/weblogic.policy  -Djava.system.class.loader=com.oracle.classloader.weblogic.LaunchClassLoader  -javaagent:/home/weblogic/weblogic14c/wlserver/server/lib/debugpatch-agent.jar -da -Dwls.home=/home/weblogic/weblogic14c/wlserver/server -Dweblogic.home=/home/weblogic/weblogic14c/wlserver/server   -Dweblogic.management.server=t3://localhost:7001  -Djava.endorsed.dirs=/home/weblogic/jdk1.8.0_321/jre/lib/endorsed:/home/weblogic/weblogic14c/wlserver/../oracle_common/modules/endorsed:/home/weblogic/weblogic14c/wlserver/modules/endorsed  weblogic.Server
java version "1.8.0_321"
Java(TM) SE Runtime Environment (build 1.8.0_321-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.321-b07, mixed mode)
 
<Jun 32022 2:00:13 PM KST> <Info> <Security> <BEA-090905> <Disabling the CryptoJ JCE Provider self-integrity check for better startup performance. To enable this check, specify -Dweblogic.security.allowCryptoJDefaultJCEVerification=true.>
<Jun 32022 2:00:13 PM KST> <Info> <Security> <BEA-090906> <Changing the default Random Number Generator in RSA CryptoJ from ECDRBG128 to HMACDRBG. To disable this change, specify -Dweblogic.security.allowCryptoJDefaultPRNG=true.>
<Jun 32022 2:00:14 PM KST> <Info> <WebLogicServer> <BEA-000377> <Starting WebLogic Server with Java HotSpot(TM) 64-Bit Server VM Version 25.321-b07 from Oracle Corporation.>
<Jun 32022 2:00:16 PM KST> <Info> <Management> <BEA-141107> <Version: WebLogic Server 14.1.1.0.0  Thu Mar 26 03:15:09 GMT 2020 2000885>
<Jun 32022 2:00:16 PM KST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING.>
<Jun 32022 2:00:16 PM KST> <Info> <WorkManager> <BEA-002900> <Initializing self-tuning thread pool.>
<Jun 32022 2:00:17,210 PM KST> <Notice> <Log Management> <BEA-170019> <The server log file weblogic.logging.FileStreamHandler instance=1723461035
Current log file=/home/weblogic/weblogic14c/domains/kami_domain/servers/Server-1/logs/Server-1.log
Rotation dir=/home/weblogic/weblogic14c/domains/kami_domain/servers/Server-1/logs
 is opened. All server side log events will be written to this file.>
<Jun 32022 2:00:18,040 PM KST> <Notice> <Security> <BEA-090946> <Security pre-initializing using security realm: myrealm>
<Jun 32022 2:00:18,405 PM KST> <Notice> <Security> <BEA-090947> <Security post-initializing using security realm: myrealm>
<Jun 32022 2:00:20,109 PM KST> <Notice> <Security> <BEA-090082> <Security initialized using administrative security realm: myrealm>
<Jun 32022 2:00:20,366 PM KST> <Notice> <JMX> <BEA-149512> <JMX Connector Server started at service:jmx:iiop://10.0.0.58:8001/jndi/weblogic.management.mbeanservers.runtime.>
<Jun 32022 2:00:22,052 PM KST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STANDBY.>
<Jun 32022 2:00:22,052 PM KST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING.>
<Jun 32022 2:00:22,136 PM KST> <Notice> <Log Management> <BEA-170036> <The Logging monitoring service timer has started to check for logged message counts every 30 seconds.>
<Jun 32022 2:00:22,739 PM KST> <Warning> <HTTP> <BEA-101369> <WebAppModule(testApp:testApp): The encoding jsp-descriptor parameter has been deprecated. Consider declaring the encoding in the jsp-config element (web.xml) or as a page directive (pageEncoding) instead.>
2022-06-03 14:00:23.495/12.130 Oracle Coherence 14.1.1.0.0 <Info> (thread=[STANDBY] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)', member=n/a): Loaded operational configuration from "jar:file:/home/weblogic/weblogic14c/coherence/lib/coherence.jar!/tangosol-coherence.xml"
2022-06-03 14:00:23.531/12.166 Oracle Coherence 14.1.1.0.0 <Info> (thread=[STANDBY] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)', member=n/a): Loaded operational overrides from "jar:file:/home/weblogic/weblogic14c/coherence/lib/coherence.jar!/tangosol-coherence-override-dev.xml"
2022-06-03 14:00:23.535/12.169 Oracle Coherence 14.1.1.0.0 <Info> (thread=[STANDBY] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)', member=n/a): Optional configuration override "/tangosol-coherence-override.xml" is not specified
2022-06-03 14:00:23.539/12.174 Oracle Coherence 14.1.1.0.0 <Info> (thread=[STANDBY] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)', member=n/a): Optional configuration override "cache-factory-config.xml" is not specified
2022-06-03 14:00:23.542/12.177 Oracle Coherence 14.1.1.0.0 <Info> (thread=[STANDBY] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)', member=n/a): Optional configuration override "cache-factory-builder-config.xml" is not specified
2022-06-03 14:00:23.545/12.180 Oracle Coherence 14.1.1.0.0 <Info> (thread=[STANDBY] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)', member=n/a): Optional configuration override "/custom-mbeans.xml" is not specified
 
Oracle Coherence Version 14.1.1.0.0 Build 77467
 Grid Edition: Development mode
Copyright (c) 20002020, Oracle and/or its affiliates. All rights reserved.
 
2022-06-03 14:00:23.626/12.261 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=[STANDBY] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)', member=n/a): Loaded cache configuration from "jar:file:/home/weblogic/weblogic14c/coherence/lib/coherence-web.jar!/default-session-cache-config.xml"
2022-06-03 14:00:24.582/13.216 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=[STANDBY] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)', member=n/a): Created cache factory com.tangosol.net.ExtensibleConfigurableCacheFactory
2022-06-03 14:00:25.180/13.815 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=[STANDBY] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)', member=n/a): TCMP bound to /10.0.0.58:32831 using SystemDatagramSocketProvider
2022-06-03 14:00:25.487/14.122 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=Cluster, member=n/a): Member(Id=1, Timestamp=2022-06-03 13:49:23.853, Address=10.0.0.58:40823, MachineId=43726, Location=process:3006, Role=CoherenceServer) joined Cluster with senior member 1
2022-06-03 14:00:25.495/14.129 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=Cluster, member=n/a): This Member(Id=2, Timestamp=2022-06-03 14:00:25.293, Address=10.0.0.58:32831, MachineId=43726, Location=process:3224, Role=WeblogicServer, Edition=Grid Edition, Mode=Development, CpuCount=2, SocketCount=2) joined cluster "my_cluster" with senior Member(Id=1, Timestamp=2022-06-03 13:49:23.853, Address=10.0.0.58:40823, MachineId=43726, Location=process:3006, Role=CoherenceServer, Edition=Grid Edition, Mode=Development, CpuCount=2, SocketCount=2)
2022-06-03 14:00:25.566/14.201 Oracle Coherence GE 14.1.1.0.0 <D5> (thread=Transport:TransportService, member=n/a): Service TransportService is bound to tmb://10.0.0.58:32831.45383
2022-06-03 14:00:25.588/14.223 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=Transport:TransportService, member=n/a): Service TransportService joined the cluster with senior service member 1
2022-06-03 14:00:25.609/14.244 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=SelectionService(channels=4, selector=MultiplexedSelector(sun.nio.ch.EPollSelectorImpl@2e35d370), id=1109472819), member=n/a): Connection established with tmb://10.0.0.58:40823.44064
2022-06-03 14:00:25.613/14.248 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=[STANDBY] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)', member=n/a): Started cluster Name=my_cluster, ClusterPort=14199
 
Group{Address=224.2.1.2, TTL=1}
 
MasterMemberSet(
  ThisMember=Member(Id=2, Timestamp=2022-06-03 14:00:25.293, Address=10.0.0.58:32831, MachineId=43726, Location=process:3224, Role=WeblogicServer)
  OldestMember=Member(Id=1, Timestamp=2022-06-03 13:49:23.853, Address=10.0.0.58:40823, MachineId=43726, Location=process:3006, Role=CoherenceServer)
  ActualMemberSet=MemberSet(Size=2
    Member(Id=1, Timestamp=2022-06-03 13:49:23.853, Address=10.0.0.58:40823, MachineId=43726, Location=process:3006, Role=CoherenceServer)
    Member(Id=2, Timestamp=2022-06-03 14:00:25.293, Address=10.0.0.58:32831, MachineId=43726, Location=process:3224, Role=WeblogicServer)
    )
  MemberId|ServiceJoined|MemberState|Version
    1|2022-06-03 13:49:23.853|JOINED|14.1.1.0.0,
    2|2022-06-03 14:00:25.293|JOINED|14.1.1.0.0
  RecycleMillis=1200000
  RecycleSet=MemberSet(Size=0
    )
  )
 
TcpRing{Connections=[1]}
IpMonitor{Addresses=0, Timeout=15s}
 
2022-06-03 14:00:25.675/14.310 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=Invocation:Management, member=2): Service Management joined the cluster with senior service member 1
2022-06-03 14:00:25.723/14.357 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=[STANDBY] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)', member=2): Loaded Reporter configuration from "jar:file:/home/weblogic/weblogic14c/coherence/lib/coherence.jar!/reports/report-group.xml"
2022-06-03 14:00:26.690/15.325 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=DistributedCache:oracle.coherence.web:DistributedSessions, member=2): Service oracle.coherence.web:DistributedSessions joined the cluster with senior service member 1
2022-06-03 14:00:26.911/15.546 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=FlashJournalRM-Preparer, member=2): Journal Resource Manager: The Flash Journal is using /tmp as the temporary directory.
2022-06-03 14:00:26.924/15.559 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=DistributedCache:oracle.coherence.web:DistributedSessions, member=2): Journal Resource Manager: The RAM Journal is configured to use a maximum of 246MB
Jun 032022 2:00:27 PM com.tangosol.coherence.servlet.AbstractHttpSessionCollection configure
INFO: Configured session model "SplitHttpSessionCollection":
  Clustered Session Cache Name=session-storage
  Local Session Cache Name=local-session-storage
  Local Session Attribute Cache Name=local-attribute-storage
  SessionDistributionController Class Name=
  AttributeScopeController Class Name=com.tangosol.coherence.servlet.AbstractHttpSessionCollection$ApplicationScopeController
  Maximum Session Inactive Seconds=3600
  Session ID Character Length=52
  Session Get Lock Timeout=300
  Suspect Attribute Detection=true
  Strict "Servlet Specification" Exception Handling=true
  Sticky Session Ownership=false
  Sticky Session Ownership Service Name=SessionOwnership
  Assume Session Locality for Reaping=false
  Parallel Session Reaping=false
  Allow Local Attributes=false
  Use Default Session ID Decoding=true
  Use Default Session ID Encoding=false
  Session ID Affinity Token=null
  Session ID Replace Affinity Token=false
  Session Expiry Filter Factory=
  Session Access Debug Logging Enabled=false
  Session Access Debug Logging Filter=
  Session Locking Mode=none
  Session Reaping Mechanism=Default
2022-06-03 14:00:27.004/15.638 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=[STANDBY] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)', member=2): Configured session model "SplitHttpSessionCollection":
  Clustered Session Cache Name=session-storage
  Local Session Cache Name=local-session-storage
  Local Session Attribute Cache Name=local-attribute-storage
  SessionDistributionController Class Name=
  AttributeScopeController Class Name=com.tangosol.coherence.servlet.AbstractHttpSessionCollection$ApplicationScopeController
  Maximum Session Inactive Seconds=3600
  Session ID Character Length=52
  Session Get Lock Timeout=300
  Suspect Attribute Detection=true
  Strict "Servlet Specification" Exception Handling=true
  Sticky Session Ownership=false
  Sticky Session Ownership Service Name=SessionOwnership
  Assume Session Locality for Reaping=false
  Parallel Session Reaping=false
  Allow Local Attributes=false
  Use Default Session ID Decoding=true
  Use Default Session ID Encoding=false
  Session ID Affinity Token=null
  Session ID Replace Affinity Token=false
  Session Expiry Filter Factory=
  Session Access Debug Logging Enabled=false
  Session Access Debug Logging Filter=
  Session Locking Mode=none
  Session Reaping Mechanism=Default
Jun 032022 2:00:27 PM com.tangosol.coherence.servlet.SessionHelper registerMBean
INFO: Registering MBean using object name "type=WebLogicHttpSessionManager,nodeId=2,appId=testApptestApp"
2022-06-03 14:00:27.117/15.752 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=[STANDBY] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)', member=2): Registering MBean using object name "type=WebLogicHttpSessionManager,nodeId=2,appId=testApptestApp"
<Jun 32022 2:00:27,413 PM KST> <Notice> <Log Management> <BEA-170027> <The server has successfully established a connection with the Domain level Diagnostic Service.>
2022-06-03 14:00:28.053/16.687 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=DistributedCache:oracle.coherence.web:DistributedSessions, member=2): Asking member 1 for primary ownership of PartitionSet{0..127}
2022-06-03 14:00:28.290/16.924 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=DistributedCache:oracle.coherence.web:DistributedSessions, member=2): Asking member 1 for primary ownership of PartitionSet{0..127}
<Jun 32022 2:00:28,487 PM KST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to ADMIN.>
<Jun 32022 2:00:28,562 PM KST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RESUMING.>
<Jun 32022 2:00:28,612 PM KST> <Notice> <Server> <BEA-002613> <Channel "Default" is now listening on 10.0.0.58:8001 for protocols iiop, t3, ldap, snmp, http.>
<Jun 32022 2:00:28,612 PM KST> <Notice> <Server> <BEA-002613> <Channel "Default[1]" is now listening on 127.0.0.1:8001 for protocols iiop, t3, ldap, snmp, http.>
<Jun 32022 2:00:28,625 PM KST> <Notice> <WebLogicServer> <BEA-000332> <Started the WebLogic Server Managed Server "Server-1" for domain "kami_domain" running in development mode.>
<Jun 32022 2:00:28,627 PM KST> <Notice> <Server> <BEA-002613> <Channel "Default" is now listening on 10.0.0.58:8001 for protocols iiop, t3, ldap, snmp, http.>
<Jun 32022 2:00:28,628 PM KST> <Notice> <Server> <BEA-002613> <Channel "Default[1]" is now listening on 127.0.0.1:8001 for protocols iiop, t3, ldap, snmp, http.>
<Jun 32022 2:00:28,637 PM KST> <Notice> <WebLogicServer> <BEA-000360> <The server started in RUNNING mode.>
<Jun 32022 2:00:28,646 PM KST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RUNNING.>
2022-06-03 14:00:30.664/19.299 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=DistributedCache:oracle.coherence.web:DistributedSessions, member=2): Partition ownership has stabilized with 2 nodes
 
cs

이어서 2번 서버도 기동해 줍니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
[weblogic@coherence script]$ pwd
/home/weblogic/weblogic14c/domains/kami_domain/script
[weblogic@coherence script]$ ls
startAdmin.sh  startServer1.sh  startServer2.sh  stopAdmin.sh  stopServer1.sh  stopServer2.sh
[weblogic@coherence script]$ ./startServer2.sh
-Xms1024m -Xmx1024m -XX:NewSize=160m -XX:MaxNewSize=160m -XX:SurvivorRatio=2 -XX:TargetSurvivorRatio=90 -Xss256k -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution -Xloggc:/home/weblogic/weblogic14c/domains/kami_domain/logs/gc/Server-2.log -XX:+PrintClassHistogram -XX:+HeapDumpOnOutOfMemoryError -Dweblogic.system.BootIdentityFile=/home/weblogic/weblogic14c/domains/kami_domain/servers/AdminServer/security/boot.properties -XX:SoftRefLRUPolicyMSPerMB=1 -showversion -XX:+AggressiveOpts -XX:-UseBiasedLocking -XX:+DisableExplicitGC -Dweblogic.ProductionModeEnabled=true -Dweblogic.MuxerClass=weblogic.socket.NIOSocketMuxer -Dweblogic.SocketReaders=3 -Dweblogic.management.discover=false -Dweblogic.diagnostics.debug.DebugLogger.DISABLED=true -Doracle.jdbc.defaultRowPrefetch=200 -Dsun.net.inetaddr.ttl=0 -Dnetworkaddress.cache.ttl=0 -Djavax.xml.parsers.DocumentBuilderFactory=weblogic.xml.jaxp.RegistryDocumentBuilderFactory -Djava.net.preferIPv4Stack=true -Djava.security.egd=file:/dev/./urandom -Dcoherence.cacheconfig=default-session-cache-config.xml -Dcoherence.session.localstorage=true -Dcoherence.cluster=my_cluster -Dcoherence.clusteraddress=224.2.1.2 -Dcoherence.clusterport=14199 -Dcoherence.ttl=1 -Djava.net.preferIPv4Stack=true
mv: cannot stat '/home/weblogic/weblogic14c/domains/kami_domain/logs/gc/Server-2.out': No such file or directory
.
.
JAVA Memory arguments: -Xms1024m -Xmx1024m -XX:NewSize=160m -XX:MaxNewSize=160m -XX:SurvivorRatio=2 -XX:TargetSurvivorRatio=90 -Xss256k -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution -Xloggc:/home/weblogic/weblogic14c/domains/kami_domain/logs/gc/Server-2.log -XX:+PrintClassHistogram -XX:+HeapDumpOnOutOfMemoryError -Dweblogic.system.BootIdentityFile=/home/weblogic/weblogic14c/domains/kami_domain/servers/AdminServer/security/boot.properties -XX:SoftRefLRUPolicyMSPerMB=1 -showversion -XX:+AggressiveOpts -XX:-UseBiasedLocking -XX:+DisableExplicitGC -Dweblogic.ProductionModeEnabled=true -Dweblogic.MuxerClass=weblogic.socket.NIOSocketMuxer -Dweblogic.SocketReaders=3 -Dweblogic.management.discover=false -Dweblogic.diagnostics.debug.DebugLogger.DISABLED=true -Doracle.jdbc.defaultRowPrefetch=200 -Dsun.net.inetaddr.ttl=0 -Dnetworkaddress.cache.ttl=0 -Djavax.xml.parsers.DocumentBuilderFactory=weblogic.xml.jaxp.RegistryDocumentBuilderFactory -Djava.net.preferIPv4Stack=true -Djava.security.egd=file:/dev/./urandom  -Dcoherence.cacheconfig=default-session-cache-config.xml -Dcoherence.session.localstorage=true -Dcoherence.cluster=my_cluster -Dcoherence.clusteraddress=224.2.1.2 -Dcoherence.clusterport=14199 -Dcoherence.ttl=1 -Djava.net.preferIPv4Stack=true
.
CLASSPATH=/home/weblogic/jdk1.8.0_321/lib/tools.jar:/home/weblogic/weblogic14c/wlserver/server/lib/weblogic.jar:/home/weblogic/weblogic14c/wlserver/../oracle_common/modules/thirdparty/ant-contrib-1.0b3.jar:/home/weblogic/weblogic14c/wlserver/modules/features/oracle.wls.common.nodemanager.jar:/home/weblogic/weblogic14c/wlserver/common/derby/lib/derbyclient.jar:/home/weblogic/weblogic14c/wlserver/common/derby/lib/derby.jar:/home/weblogic/jdk1.8.0_321/jre/lib:/home/weblogic/jdk1.8.0_321/lib/tools.jar
.
PATH=/home/weblogic/weblogic14c/domains/kami_domain/bin:/home/weblogic/weblogic14c/wlserver/server/bin:/home/weblogic/weblogic14c/wlserver/../oracle_common/modules/thirdparty/org.apache.ant/1.10.5.0.0/apache-ant-1.10.5/bin:/home/weblogic/jdk1.8.0_321/jre/bin:/home/weblogic/jdk1.8.0_321/bin:/home/weblogic/.local/bin:/home/weblogic/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/weblogic/jdk1.8.0_321/bin
.
***************************************************
*  To start WebLogic Server, use a username and   *
*  password assigned to an admin-level user.  For *
*  server administration, use the WebLogic Server *
*  console at http://hostname:port/console        *
***************************************************
Starting WLS with line:
/home/weblogic/jdk1.8.0_321/bin/java -server   -Xms1024m -Xmx1024m -XX:NewSize=160m -XX:MaxNewSize=160m -XX:SurvivorRatio=2 -XX:TargetSurvivorRatio=90 -Xss256k -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution -Xloggc:/home/weblogic/weblogic14c/domains/kami_domain/logs/gc/Server-2.log -XX:+PrintClassHistogram -XX:+HeapDumpOnOutOfMemoryError -Dweblogic.system.BootIdentityFile=/home/weblogic/weblogic14c/domains/kami_domain/servers/AdminServer/security/boot.properties -XX:SoftRefLRUPolicyMSPerMB=1 -showversion -XX:+AggressiveOpts -XX:-UseBiasedLocking -XX:+DisableExplicitGC -Dweblogic.ProductionModeEnabled=true -Dweblogic.MuxerClass=weblogic.socket.NIOSocketMuxer -Dweblogic.SocketReaders=3 -Dweblogic.management.discover=false -Dweblogic.diagnostics.debug.DebugLogger.DISABLED=true -Doracle.jdbc.defaultRowPrefetch=200 -Dsun.net.inetaddr.ttl=0 -Dnetworkaddress.cache.ttl=0 -Djavax.xml.parsers.DocumentBuilderFactory=weblogic.xml.jaxp.RegistryDocumentBuilderFactory -Djava.net.preferIPv4Stack=true -Djava.security.egd=file:/dev/./urandom  -Dcoherence.cacheconfig=default-session-cache-config.xml -Dcoherence.session.localstorage=true -Dcoherence.cluster=my_cluster -Dcoherence.clusteraddress=224.2.1.2 -Dcoherence.clusterport=14199 -Dcoherence.ttl=1 -Djava.net.preferIPv4Stack=true  -cp /home/weblogic/weblogic14c/wlserver/server/lib/weblogic-launcher.jar -Dlaunch.use.env.classpath=true -Dweblogic.Name=Server-2 -Djava.security.policy=/home/weblogic/weblogic14c/wlserver/server/lib/weblogic.policy  -Djava.system.class.loader=com.oracle.classloader.weblogic.LaunchClassLoader  -javaagent:/home/weblogic/weblogic14c/wlserver/server/lib/debugpatch-agent.jar -da -Dwls.home=/home/weblogic/weblogic14c/wlserver/server -Dweblogic.home=/home/weblogic/weblogic14c/wlserver/server   -Dweblogic.management.server=t3://localhost:7001  -Djava.endorsed.dirs=/home/weblogic/jdk1.8.0_321/jre/lib/endorsed:/home/weblogic/weblogic14c/wlserver/../oracle_common/modules/endorsed:/home/weblogic/weblogic14c/wlserver/modules/endorsed  weblogic.Server
java version "1.8.0_321"
Java(TM) SE Runtime Environment (build 1.8.0_321-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.321-b07, mixed mode)
 
<Jun 32022 2:04:23 PM KST> <Info> <Security> <BEA-090905> <Disabling the CryptoJ JCE Provider self-integrity check for better startup performance. To enable this check, specify -Dweblogic.security.allowCryptoJDefaultJCEVerification=true.>
<Jun 32022 2:04:23 PM KST> <Info> <Security> <BEA-090906> <Changing the default Random Number Generator in RSA CryptoJ from ECDRBG128 to HMACDRBG. To disable this change, specify -Dweblogic.security.allowCryptoJDefaultPRNG=true.>
<Jun 32022 2:04:24 PM KST> <Info> <WebLogicServer> <BEA-000377> <Starting WebLogic Server with Java HotSpot(TM) 64-Bit Server VM Version 25.321-b07 from Oracle Corporation.>
<Jun 32022 2:04:26 PM KST> <Info> <Management> <BEA-141107> <Version: WebLogic Server 14.1.1.0.0  Thu Mar 26 03:15:09 GMT 2020 2000885>
<Jun 32022 2:04:26 PM KST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING.>
<Jun 32022 2:04:26 PM KST> <Info> <WorkManager> <BEA-002900> <Initializing self-tuning thread pool.>
<Jun 32022 2:04:27,107 PM KST> <Notice> <Log Management> <BEA-170019> <The server log file weblogic.logging.FileStreamHandler instance=1072538094
Current log file=/home/weblogic/weblogic14c/domains/kami_domain/servers/Server-2/logs/Server-2.log
Rotation dir=/home/weblogic/weblogic14c/domains/kami_domain/servers/Server-2/logs
 is opened. All server side log events will be written to this file.>
<Jun 32022 2:04:27,906 PM KST> <Notice> <Security> <BEA-090946> <Security pre-initializing using security realm: myrealm>
<Jun 32022 2:04:28,275 PM KST> <Notice> <Security> <BEA-090947> <Security post-initializing using security realm: myrealm>
<Jun 32022 2:04:30,012 PM KST> <Notice> <Security> <BEA-090082> <Security initialized using administrative security realm: myrealm>
<Jun 32022 2:04:30,271 PM KST> <Notice> <JMX> <BEA-149512> <JMX Connector Server started at service:jmx:iiop://10.0.0.58:8002/jndi/weblogic.management.mbeanservers.runtime.>
<Jun 32022 2:04:31,972 PM KST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STANDBY.>
<Jun 32022 2:04:31,972 PM KST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING.>
<Jun 32022 2:04:32,046 PM KST> <Notice> <Log Management> <BEA-170036> <The Logging monitoring service timer has started to check for logged message counts every 30 seconds.>
<Jun 32022 2:04:32,626 PM KST> <Warning> <HTTP> <BEA-101369> <WebAppModule(testApp:testApp): The encoding jsp-descriptor parameter has been deprecated. Consider declaring the encoding in the jsp-config element (web.xml) or as a page directive (pageEncoding) instead.>
2022-06-03 14:04:33.354/12.056 Oracle Coherence 14.1.1.0.0 <Info> (thread=[STANDBY] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)', member=n/a): Loaded operational configuration from "jar:file:/home/weblogic/weblogic14c/coherence/lib/coherence.jar!/tangosol-coherence.xml"
2022-06-03 14:04:33.418/12.120 Oracle Coherence 14.1.1.0.0 <Info> (thread=[STANDBY] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)', member=n/a): Loaded operational overrides from "jar:file:/home/weblogic/weblogic14c/coherence/lib/coherence.jar!/tangosol-coherence-override-dev.xml"
2022-06-03 14:04:33.422/12.124 Oracle Coherence 14.1.1.0.0 <Info> (thread=[STANDBY] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)', member=n/a): Optional configuration override "/tangosol-coherence-override.xml" is not specified
2022-06-03 14:04:33.426/12.128 Oracle Coherence 14.1.1.0.0 <Info> (thread=[STANDBY] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)', member=n/a): Optional configuration override "cache-factory-config.xml" is not specified
2022-06-03 14:04:33.430/12.132 Oracle Coherence 14.1.1.0.0 <Info> (thread=[STANDBY] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)', member=n/a): Optional configuration override "cache-factory-builder-config.xml" is not specified
2022-06-03 14:04:33.433/12.135 Oracle Coherence 14.1.1.0.0 <Info> (thread=[STANDBY] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)', member=n/a): Optional configuration override "/custom-mbeans.xml" is not specified
 
Oracle Coherence Version 14.1.1.0.0 Build 77467
 Grid Edition: Development mode
Copyright (c) 20002020, Oracle and/or its affiliates. All rights reserved.
 
2022-06-03 14:04:33.516/12.218 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=[STANDBY] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)', member=n/a): Loaded cache configuration from "jar:file:/home/weblogic/weblogic14c/coherence/lib/coherence-web.jar!/default-session-cache-config.xml"
2022-06-03 14:04:34.394/13.096 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=[STANDBY] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)', member=n/a): Created cache factory com.tangosol.net.ExtensibleConfigurableCacheFactory
2022-06-03 14:04:35.003/13.705 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=[STANDBY] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)', member=n/a): TCMP bound to /10.0.0.58:40033 using SystemDatagramSocketProvider
2022-06-03 14:04:35.310/14.012 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=Cluster, member=n/a): Member(Id=1, Timestamp=2022-06-03 13:49:23.853, Address=10.0.0.58:40823, MachineId=43726, Location=process:3006, Role=CoherenceServer) joined Cluster with senior member 1
2022-06-03 14:04:35.316/14.018 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=Cluster, member=n/a): This Member(Id=3, Timestamp=2022-06-03 14:04:35.109, Address=10.0.0.58:40033, MachineId=43726, Location=process:3471, Role=WeblogicServer, Edition=Grid Edition, Mode=Development, CpuCount=2, SocketCount=2) joined cluster "my_cluster" with senior Member(Id=1, Timestamp=2022-06-03 13:49:23.853, Address=10.0.0.58:40823, MachineId=43726, Location=process:3006, Role=CoherenceServer, Edition=Grid Edition, Mode=Development, CpuCount=2, SocketCount=2)
2022-06-03 14:04:35.505/14.207 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=Cluster, member=n/a): Member(Id=2, Timestamp=2022-06-03 14:00:25.293, Address=10.0.0.58:32831, MachineId=43726, Location=process:3224, Role=WeblogicServer) joined Cluster with senior member 1
2022-06-03 14:04:35.569/14.271 Oracle Coherence GE 14.1.1.0.0 <D5> (thread=Transport:TransportService, member=n/a): Service TransportService is bound to tmb://10.0.0.58:40033.63088
2022-06-03 14:04:35.588/14.290 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=Transport:TransportService, member=n/a): Service TransportService joined the cluster with senior service member 1
2022-06-03 14:04:35.603/14.305 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=SelectionService(channels=5, selector=MultiplexedSelector(sun.nio.ch.EPollSelectorImpl@4f6839fb), id=1048646576), member=n/a): Connection established with tmb://10.0.0.58:32831.45383
2022-06-03 14:04:35.604/14.306 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=SelectionService(channels=5, selector=MultiplexedSelector(sun.nio.ch.EPollSelectorImpl@4f6839fb), id=1048646576), member=n/a): Connection established with tmb://10.0.0.58:40823.44064
2022-06-03 14:04:35.608/14.310 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=[STANDBY] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)', member=n/a): Started cluster Name=my_cluster, ClusterPort=14199
 
Group{Address=224.2.1.2, TTL=1}
 
MasterMemberSet(
  ThisMember=Member(Id=3, Timestamp=2022-06-03 14:04:35.109, Address=10.0.0.58:40033, MachineId=43726, Location=process:3471, Role=WeblogicServer)
  OldestMember=Member(Id=1, Timestamp=2022-06-03 13:49:23.853, Address=10.0.0.58:40823, MachineId=43726, Location=process:3006, Role=CoherenceServer)
  ActualMemberSet=MemberSet(Size=3
    Member(Id=1, Timestamp=2022-06-03 13:49:23.853, Address=10.0.0.58:40823, MachineId=43726, Location=process:3006, Role=CoherenceServer)
    Member(Id=2, Timestamp=2022-06-03 14:00:25.293, Address=10.0.0.58:32831, MachineId=43726, Location=process:3224, Role=WeblogicServer)
    Member(Id=3, Timestamp=2022-06-03 14:04:35.109, Address=10.0.0.58:40033, MachineId=43726, Location=process:3471, Role=WeblogicServer)
    )
  MemberId|ServiceJoined|MemberState|Version
    1|2022-06-03 13:49:23.853|JOINED|14.1.1.0.0,
    2|2022-06-03 14:00:25.293|JOINED|14.1.1.0.0,
    3|2022-06-03 14:04:35.109|JOINED|14.1.1.0.0
  RecycleMillis=1200000
  RecycleSet=MemberSet(Size=0
    )
  )
 
TcpRing{Connections=[2]}
IpMonitor{Addresses=0, Timeout=15s}
 
2022-06-03 14:04:35.653/14.355 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=Invocation:Management, member=3): Service Management joined the cluster with senior service member 1
2022-06-03 14:04:35.678/14.380 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=[STANDBY] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)', member=3): Loaded Reporter configuration from "jar:file:/home/weblogic/weblogic14c/coherence/lib/coherence.jar!/reports/report-group.xml"
2022-06-03 14:04:36.600/15.302 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=DistributedCache:oracle.coherence.web:DistributedSessions, member=3): Service oracle.coherence.web:DistributedSessions joined the cluster with senior service member 1
2022-06-03 14:04:36.710/15.412 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=FlashJournalRM-Preparer, member=3): Journal Resource Manager: The Flash Journal is using /tmp as the temporary directory.
2022-06-03 14:04:36.718/15.420 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=DistributedCache:oracle.coherence.web:DistributedSessions, member=3): Journal Resource Manager: The RAM Journal is configured to use a maximum of 253056KB
2022-06-03 14:04:36.797/15.499 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=[STANDBY] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)', member=3): Configured session model "SplitHttpSessionCollection":
  Clustered Session Cache Name=session-storage
  Local Session Cache Name=local-session-storage
  Local Session Attribute Cache Name=local-attribute-storage
  SessionDistributionController Class Name=
  AttributeScopeController Class Name=com.tangosol.coherence.servlet.AbstractHttpSessionCollection$ApplicationScopeController
  Maximum Session Inactive Seconds=3600
  Session ID Character Length=52
  Session Get Lock Timeout=300
  Suspect Attribute Detection=true
  Strict "Servlet Specification" Exception Handling=true
  Sticky Session Ownership=false
  Sticky Session Ownership Service Name=SessionOwnership
  Assume Session Locality for Reaping=false
  Parallel Session Reaping=false
  Allow Local Attributes=false
  Use Default Session ID Decoding=true
  Use Default Session ID Encoding=false
  Session ID Affinity Token=null
  Session ID Replace Affinity Token=false
  Session Expiry Filter Factory=
  Session Access Debug Logging Enabled=false
  Session Access Debug Logging Filter=
  Session Locking Mode=none
  Session Reaping Mechanism=Default
Jun 032022 2:04:36 PM com.tangosol.coherence.servlet.AbstractHttpSessionCollection configure
INFO: Configured session model "SplitHttpSessionCollection":
  Clustered Session Cache Name=session-storage
  Local Session Cache Name=local-session-storage
  Local Session Attribute Cache Name=local-attribute-storage
  SessionDistributionController Class Name=
  AttributeScopeController Class Name=com.tangosol.coherence.servlet.AbstractHttpSessionCollection$ApplicationScopeController
  Maximum Session Inactive Seconds=3600
  Session ID Character Length=52
  Session Get Lock Timeout=300
  Suspect Attribute Detection=true
  Strict "Servlet Specification" Exception Handling=true
  Sticky Session Ownership=false
  Sticky Session Ownership Service Name=SessionOwnership
  Assume Session Locality for Reaping=false
  Parallel Session Reaping=false
  Allow Local Attributes=false
  Use Default Session ID Decoding=true
  Use Default Session ID Encoding=false
  Session ID Affinity Token=null
  Session ID Replace Affinity Token=false
  Session Expiry Filter Factory=
  Session Access Debug Logging Enabled=false
  Session Access Debug Logging Filter=
  Session Locking Mode=none
  Session Reaping Mechanism=Default
Jun 032022 2:04:36 PM com.tangosol.coherence.servlet.SessionHelper registerMBean
INFO: Registering MBean using object name "type=WebLogicHttpSessionManager,nodeId=3,appId=testApptestApp"
2022-06-03 14:04:36.820/15.522 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=[STANDBY] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)', member=3): Registering MBean using object name "type=WebLogicHttpSessionManager,nodeId=3,appId=testApptestApp"
<Jun 32022 2:04:37,137 PM KST> <Notice> <Log Management> <BEA-170027> <The server has successfully established a connection with the Domain level Diagnostic Service.>
2022-06-03 14:04:37.847/16.549 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=DistributedCache:oracle.coherence.web:DistributedSessions, member=3): Asking member 2 for primary ownership of PartitionSet{0..41}
2022-06-03 14:04:37.974/16.676 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=DistributedCache:oracle.coherence.web:DistributedSessions, member=3): Asking member 1 for primary ownership of PartitionSet{128..171}
<Jun 32022 2:04:38,145 PM KST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to ADMIN.>
2022-06-03 14:04:38.168/16.870 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=DistributedCache:oracle.coherence.web:DistributedSessions, member=3): Asking member 2 for primary ownership of PartitionSet{0..41}
<Jun 32022 2:04:38,207 PM KST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RESUMING.>
<Jun 32022 2:04:38,293 PM KST> <Notice> <WebLogicServer> <BEA-000332> <Started the WebLogic Server Managed Server "Server-2" for domain "kami_domain" running in development mode.>
<Jun 32022 2:04:38,300 PM KST> <Notice> <Server> <BEA-002613> <Channel "Default" is now listening on 10.0.0.58:8002 for protocols iiop, t3, ldap, snmp, http.>
<Jun 32022 2:04:38,300 PM KST> <Notice> <Server> <BEA-002613> <Channel "Default[1]" is now listening on 127.0.0.1:8002 for protocols iiop, t3, ldap, snmp, http.>
<Jun 32022 2:04:38,301 PM KST> <Notice> <Server> <BEA-002613> <Channel "Default" is now listening on 10.0.0.58:8002 for protocols iiop, t3, ldap, snmp, http.>
<Jun 32022 2:04:38,301 PM KST> <Notice> <Server> <BEA-002613> <Channel "Default[1]" is now listening on 127.0.0.1:8002 for protocols iiop, t3, ldap, snmp, http.>
<Jun 32022 2:04:38,302 PM KST> <Notice> <WebLogicServer> <BEA-000360> <The server started in RUNNING mode.>
<Jun 32022 2:04:38,323 PM KST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RUNNING.>
2022-06-03 14:04:38.400/17.102 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=DistributedCache:oracle.coherence.web:DistributedSessions, member=3): Transferring 0B of backup[1for PartitionSet{0} to member 2
2022-06-03 14:04:38.521/17.223 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=DistributedCache:oracle.coherence.web:DistributedSessions, member=3): Partition ownership has stabilized with 3 nodes
cs

2개 서버가 모두 기동이 완료되면 코히어런스에서도 다음과 같은 로그가 출력되며

이를 통해 클러스터가 정상적으로 구성된 것을 확인할 수 있습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2022-06-03 14:00:25.486/664.210 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=Cluster, member=1): Member(Id=2, Timestamp=2022-06-03 14:00:25.293, Address=10.0.0.58:32831, MachineId=43726, Location=process:3224, Role=WeblogicServer) joined Cluster with senior member 1
2022-06-03 14:00:25.601/664.324 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=SelectionService(channels=6, selector=MultiplexedSelector(sun.nio.ch.EPollSelectorImpl@6ca18a14), id=208043846), member=1): Connection established with tmb://10.0.0.58:32831.45383
2022-06-03 14:00:25.613/664.336 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=Transport:TransportService, member=1): Member 2 joined Service TransportService with senior member 1
2022-06-03 14:00:25.684/664.407 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=Invocation:Management, member=1): Member 2 joined Service Management with senior member 1
2022-06-03 14:00:26.729/665.452 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=DistributedCache:oracle.coherence.web:DistributedSessions, member=1): Member 2 joined Service oracle.coherence.web:DistributedSessions with senior member 1
2022-06-03 14:00:26.775/665.498 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=DistributedCache:oracle.coherence.web:DistributedSessions, member=1): Journal Resource Manager: The RAM Journal is configured to use a maximum of 251264KB
2022-06-03 14:00:26.781/665.504 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=FlashJournalRM-Preparer, member=1): Journal Resource Manager: The Flash Journal is using /tmp as the temporary directory.
2022-06-03 14:00:27.849/666.573 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=DistributedCache:oracle.coherence.web:DistributedSessions, member=1): Transferring 0B of backup[1for PartitionSet{128..256} to member 2
2022-06-03 14:00:28.144/666.867 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=DistributedCache:oracle.coherence.web:DistributedSessions, member=1): Deferring the distribution due to 106 pending configuration updates
2022-06-03 14:00:28.348/667.072 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=DistributedCache:oracle.coherence.web:DistributedSessions, member=1): Transferring primary PartitionSet{0..127} to member 2 requesting 128
2022-06-03 14:00:28.689/667.412 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=DistributedCache:oracle.coherence.web:DistributedSessions, member=1): Partition ownership has stabilized with 2 nodes
2022-06-03 14:04:35.302/914.025 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=Cluster, member=1): Member(Id=3, Timestamp=2022-06-03 14:04:35.109, Address=10.0.0.58:40033, MachineId=43726, Location=process:3471, Role=WeblogicServer) joined Cluster with senior member 1
2022-06-03 14:04:35.302/914.025 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=Cluster, member=1): TcpRing disconnected from Member(Id=2, Timestamp=2022-06-03 14:00:25.293, Address=10.0.0.58:32831, MachineId=43726, Location=process:3224, Role=WeblogicServer) to maintain ring
2022-06-03 14:04:35.599/914.323 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=SelectionService(channels=7, selector=MultiplexedSelector(sun.nio.ch.EPollSelectorImpl@6ca18a14), id=208043846), member=1): Connection established with tmb://10.0.0.58:40033.63088
2022-06-03 14:04:35.611/914.334 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=Transport:TransportService, member=1): Member 3 joined Service TransportService with senior member 1
2022-06-03 14:04:35.658/914.381 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=Invocation:Management, member=1): Member 3 joined Service Management with senior member 1
2022-06-03 14:04:36.637/915.360 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=DistributedCache:oracle.coherence.web:DistributedSessions, member=1): Member 3 joined Service oracle.coherence.web:DistributedSessions with senior member 1
2022-06-03 14:04:37.670/916.393 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=DistributedCache:oracle.coherence.web:DistributedSessions, member=1): Transferring 0B of backup[1for PartitionSet{172..215} to member 3
2022-06-03 14:04:37.980/916.703 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=DistributedCache:oracle.coherence.web:DistributedSessions, member=1): Transferring primary PartitionSet{128..171} to member 3 requesting 44
2022-06-03 14:04:38.500/917.223 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=DistributedCache:oracle.coherence.web:DistributedSessions, member=1): Partition ownership has stabilized with 3 nodes
cs

이렇게 웹로직과 별개로 구성된 코히어런스를 사용한 세션 클러스터링 구성이 완료 되었습니다.


7. 코히어런스 Client Application을 통한 모니터링

이렇게 구성된 코히어런스 모니터링은 Client Application을 통해 확인이 가능합니다.

 

$COHERENCE_HOME/bin/coherence.sh 파일을 통해 Client Application에 접근할 수 있으며

웹로직 세션 클러스터링에 사용된 'my_cluster'에 접근하기 위한 설정 변경이 필요합니다.

 

변경내용은 coherence.sh 파일에 cache-server.sh 파일과 같은 내용(JAVA_OPTS, -cp)을 적용해 주면 됩니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
[coherence@coherence bin]$ pwd
/home/coherence/coherence14c/coherence/bin
[coherence@coherence bin]$ ls
cache-server.sh  cache-server.sh.20220511  coherence.sh  datagram-test.sh  multicast-test.sh  pof-config-gen.sh  query.sh  readme.txt
[coherence@coherence bin]$ cat coherence.sh
#!/bin/sh
 
# This will start a console application
# demonstrating the functionality of the Coherence(tm) API
 
# specify the Coherence installation directory
SCRIPT_PATH="${0}"
while [ -"${SCRIPT_PATH}" ]; do
  LS=`ls -ld "${SCRIPT_PATH}"`
  LINK=`expr "${LS}" : '.*-> \(.*\)$'`
  if [ `expr "${LINK}" : '/.*'> /dev/null ]; then
    SCRIPT_PATH="${LINK}"
  else
    SCRIPT_PATH="`dirname "${SCRIPT_PATH}"`/${LINK}"
  fi
done
 
CURRENT_DIR=`pwd`
cd `dirname ${SCRIPT_PATH}` > /dev/null
SCRIPT_PATH=`pwd`
COHERENCE_HOME=`dirname $SCRIPT_PATH`
cd ${CURRENT_DIR}
 
# specify if the console will also act as a server
STORAGE_ENABLED=false
 
# specify the JVM heap size
MEMORY=64m
 
if [ ! -f ${COHERENCE_HOME}/bin/coherence.sh ]; then
  echo "coherence.sh: must be run from the Coherence installation directory."
  exit
fi
 
if [ -f $JAVA_HOME/bin/java ]; then
  JAVAEXEC=$JAVA_HOME/bin/java
else
  JAVAEXEC=java
fi
 
if [ $STORAGE_ENABLED = "true" ]; then
        echo "** Starting storage enabled console **"
else
        echo "** Starting storage disabled console **"
fi
 
if [ "$1" = "-jmx" ]; then
    JMXPROPERTIES="-Dcoherence.management=all -Dcoherence.management.remote=true"
    shift
fi
 
#JAVA_OPTS="-Xms$MEMORY -Xmx$MEMORY -Dcoherence.distributed.localstorage=$STORAGE_ENABLED $JMXPROPERTIES"
 
#$JAVAEXEC -server -showversion $JAVA_OPTS -cp "$COHERENCE_HOME/lib/coherence.jar" com.tangosol.net.CacheFactory $1
 
JAVA_OPTS="-Xms${MEMORY} -Xmx${MEMORY}"
JAVA_OPTS="${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom ${JMXPROPERTIES}"
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.cacheconfig=default-session-cache-config.xml"
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.session.localstorage=true"
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.cluster=my_cluster"
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.clusteraddress=224.2.1.2"
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.clusterport=14199"
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.ttl=1"
JAVA_OPTS="${JAVA_OPTS} -Djava.net.preferIPv4Stack=true "
 
#$JAVAEXEC -server -showversion -cp "${COHERENCE_HOME}/lib/coherence-web.jar:${COHERENCE_HOME}/lib/coherence.jar"\
#$JAVA_OPTS com.tangosol.net.DefaultCacheServer $1
 
$JAVAEXEC -server -showversion -cp "$COHERENCE_HOME/lib/coherence.jar:${COHERENCE_HOME}/lib/coherence-web.jar:" $JAVA_OPTS com.tangosol.net.CacheFactory $1
cs

설정 변경 후 $COHERENCE_HOME/bin/coherence.sh 파일(Client Application)을 실행하면 다음과 같은 로그를 통해

현재 상태를 모니터링할 수 있으며 'who' 명령 등을 통해 실시간 모니터링이 가능합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
[coherence@coherence bin]$ pwd
/home/coherence/coherence14c/coherence/bin
[coherence@coherence bin]$ ls
cache-server.sh  cache-server.sh.20220511  coherence.sh  datagram-test.sh  multicast-test.sh  pof-config-gen.sh  query.sh  readme.txt
[coherence@coherence bin]$ ./coherence.sh
** Starting storage disabled console **
java version "1.8.0_321"
Java(TM) SE Runtime Environment (build 1.8.0_321-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.321-b07, mixed mode)
 
2022-06-03 14:50:13.834/0.816 Oracle Coherence 14.1.1.0.0 <Info> (thread=main, member=n/a): Loaded operational configuration from "jar:file:/home/coherence/coherence14c/coherence/lib/coherence.jar!/tangosol-coherence.xml"
2022-06-03 14:50:13.902/0.884 Oracle Coherence 14.1.1.0.0 <Info> (thread=main, member=n/a): Loaded operational overrides from "jar:file:/home/coherence/coherence14c/coherence/lib/coherence.jar!/tangosol-coherence-override-dev.xml"
2022-06-03 14:50:13.903/0.885 Oracle Coherence 14.1.1.0.0 <Info> (thread=main, member=n/a): Optional configuration override "/tangosol-coherence-override.xml" is not specified
2022-06-03 14:50:13.908/0.891 Oracle Coherence 14.1.1.0.0 <Info> (thread=main, member=n/a): Optional configuration override "cache-factory-config.xml" is not specified
2022-06-03 14:50:13.909/0.891 Oracle Coherence 14.1.1.0.0 <Info> (thread=main, member=n/a): Optional configuration override "cache-factory-builder-config.xml" is not specified
2022-06-03 14:50:13.909/0.892 Oracle Coherence 14.1.1.0.0 <Info> (thread=main, member=n/a): Optional configuration override "/custom-mbeans.xml" is not specified
 
Oracle Coherence Version 14.1.1.0.0 Build 77467
 Grid Edition: Development mode
Copyright (c) 20002020, Oracle and/or its affiliates. All rights reserved.
 
2022-06-03 14:50:14.786/1.769 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=main, member=n/a): TCMP bound to /10.0.0.58:35151 using SystemDatagramSocketProvider
2022-06-03 14:50:15.128/2.110 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=Cluster, member=n/a): Member(Id=1, Timestamp=2022-06-03 13:49:23.853, Address=10.0.0.58:40823, MachineId=43726, Location=process:3006, Role=CoherenceServer) joined Cluster with senior member 1
2022-06-03 14:50:15.135/2.117 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=Cluster, member=n/a): This Member(Id=10, Timestamp=2022-06-03 14:50:14.931, Address=10.0.0.58:35151, MachineId=43726, Location=process:4009, Role=CoherenceConsole, Edition=Grid Edition, Mode=Development, CpuCount=2, SocketCount=2) joined cluster "my_cluster" with senior Member(Id=1, Timestamp=2022-06-03 13:49:23.853, Address=10.0.0.58:40823, MachineId=43726, Location=process:3006, Role=CoherenceServer, Edition=Grid Edition, Mode=Development, CpuCount=2, SocketCount=2)
2022-06-03 14:50:15.137/682.527 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=Cluster, member=5): Member(Id=10, Timestamp=2022-06-03 14:50:14.931, Address=10.0.0.58:35151, MachineId=43726, Location=process:4009, Role=CoherenceConsole) joined Cluster with senior member 1
2022-06-03 14:50:15.329/2.312 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=Cluster, member=n/a): Member(Id=2, Timestamp=2022-06-03 14:00:25.293, Address=10.0.0.58:32831, MachineId=43726, Location=process:3224, Role=WeblogicServer) joined Cluster with senior member 1
2022-06-03 14:50:15.330/2.312 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=Cluster, member=n/a): Member(Id=3, Timestamp=2022-06-03 14:04:35.109, Address=10.0.0.58:40033, MachineId=43726, Location=process:3471, Role=WeblogicServer) joined Cluster with senior member 1
2022-06-03 14:50:15.330/2.312 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=Cluster, member=n/a): Member(Id=5, Timestamp=2022-06-03 14:38:54.651, Address=10.0.0.58:39257, MachineId=43726, Location=process:3699, Role=CoherenceServer) joined Cluster with senior member 1
2022-06-03 14:50:15.365/2.347 Oracle Coherence GE 14.1.1.0.0 <D5> (thread=Transport:TransportService, member=n/a): Service TransportService is bound to tmb://10.0.0.58:35151.38241
2022-06-03 14:50:15.396/2.378 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=Transport:TransportService, member=n/a): Service TransportService joined the cluster with senior service member 1
2022-06-03 14:50:15.402/682.793 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=SelectionService(channels=7, selector=MultiplexedSelector(sun.nio.ch.EPollSelectorImpl@6ca18a14), id=208043846), member=5): Connection established with tmb://10.0.0.58:35151.38241
2022-06-03 14:50:15.407/2.389 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=SelectionService(channels=7, selector=MultiplexedSelector(sun.nio.ch.EPollSelectorImpl@1c7696c6), id=1611241809), member=n/a): Connection established with tmb://10.0.0.58:32831.45383
2022-06-03 14:50:15.408/2.390 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=SelectionService(channels=7, selector=MultiplexedSelector(sun.nio.ch.EPollSelectorImpl@1c7696c6), id=1611241809), member=n/a): Connection established with tmb://10.0.0.58:39257.44162
2022-06-03 14:50:15.408/2.390 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=SelectionService(channels=7, selector=MultiplexedSelector(sun.nio.ch.EPollSelectorImpl@1c7696c6), id=1611241809), member=n/a): Connection established with tmb://10.0.0.58:40823.44064
2022-06-03 14:50:15.409/2.392 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=SelectionService(channels=7, selector=MultiplexedSelector(sun.nio.ch.EPollSelectorImpl@1c7696c6), id=1611241809), member=n/a): Connection established with tmb://10.0.0.58:40033.63088
2022-06-03 14:50:15.412/2.394 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=main, member=n/a): Started cluster Name=my_cluster, ClusterPort=14199
 
Group{Address=224.2.1.2, TTL=1}
 
MasterMemberSet(
  ThisMember=Member(Id=10, Timestamp=2022-06-03 14:50:14.931, Address=10.0.0.58:35151, MachineId=43726, Location=process:4009, Role=CoherenceConsole)
  OldestMember=Member(Id=1, Timestamp=2022-06-03 13:49:23.853, Address=10.0.0.58:40823, MachineId=43726, Location=process:3006, Role=CoherenceServer)
  ActualMemberSet=MemberSet(Size=5
    Member(Id=1, Timestamp=2022-06-03 13:49:23.853, Address=10.0.0.58:40823, MachineId=43726, Location=process:3006, Role=CoherenceServer)
    Member(Id=2, Timestamp=2022-06-03 14:00:25.293, Address=10.0.0.58:32831, MachineId=43726, Location=process:3224, Role=WeblogicServer)
    Member(Id=3, Timestamp=2022-06-03 14:04:35.109, Address=10.0.0.58:40033, MachineId=43726, Location=process:3471, Role=WeblogicServer)
    Member(Id=5, Timestamp=2022-06-03 14:38:54.651, Address=10.0.0.58:39257, MachineId=43726, Location=process:3699, Role=CoherenceServer)
    Member(Id=10, Timestamp=2022-06-03 14:50:14.931, Address=10.0.0.58:35151, MachineId=43726, Location=process:4009, Role=CoherenceConsole)
    )
  MemberId|ServiceJoined|MemberState|Version
    1|2022-06-03 13:49:23.853|JOINED|14.1.1.0.0,
    2|2022-06-03 14:00:25.293|JOINED|14.1.1.0.0,
    3|2022-06-03 14:04:35.109|JOINED|14.1.1.0.0,
    5|2022-06-03 14:38:54.651|JOINED|14.1.1.0.0,
    10|2022-06-03 14:50:14.931|JOINED|14.1.1.0.0
  RecycleMillis=1200000
  RecycleSet=MemberSet(Size=5
    Member(Id=4, Timestamp=2022-06-03 14:38:48.634, Address=10.0.0.58:36129, MachineId=43726)
    Member(Id=6, Timestamp=2022-06-03 14:42:19.737, Address=10.0.0.58:39955, MachineId=43726)
    Member(Id=7, Timestamp=2022-06-03 14:44:17.783, Address=10.0.0.58:34297, MachineId=43726)
    Member(Id=8, Timestamp=2022-06-03 14:46:31.617, Address=10.0.0.58:41133, MachineId=43726)
    Member(Id=9, Timestamp=2022-06-03 14:50:07.276, Address=10.0.0.58:36749, MachineId=43726)
    )
  )
 
TcpRing{Connections=[5]}
IpMonitor{Addresses=0, Timeout=15s}
 
2022-06-03 14:50:15.425/682.815 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=Transport:TransportService, member=5): Member 10 joined Service TransportService with senior member 1
2022-06-03 14:50:15.439/2.422 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=Invocation:Management, member=10): Service Management joined the cluster with senior service member 1
2022-06-03 14:50:15.450/682.841 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=Invocation:Management, member=5): Member 10 joined Service Management with senior member 1
2022-06-03 14:50:15.467/2.450 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=main, member=10): Loaded Reporter configuration from "jar:file:/home/coherence/coherence14c/coherence/lib/coherence.jar!/reports/report-group.xml"
 
Map (?): who
SafeCluster: Name=my_cluster, ClusterPort=14199
 
Group{Address=224.2.1.2, TTL=1}
 
MasterMemberSet(
  ThisMember=Member(Id=10, Timestamp=2022-06-03 14:50:14.931, Address=10.0.0.58:35151, MachineId=43726, Location=process:4009, Role=CoherenceConsole)
  OldestMember=Member(Id=1, Timestamp=2022-06-03 13:49:23.853, Address=10.0.0.58:40823, MachineId=43726, Location=process:3006, Role=CoherenceServer)
  ActualMemberSet=MemberSet(Size=5
    Member(Id=1, Timestamp=2022-06-03 13:49:23.853, Address=10.0.0.58:40823, MachineId=43726, Location=process:3006, Role=CoherenceServer)
    Member(Id=2, Timestamp=2022-06-03 14:00:25.293, Address=10.0.0.58:32831, MachineId=43726, Location=process:3224, Role=WeblogicServer)
    Member(Id=3, Timestamp=2022-06-03 14:04:35.109, Address=10.0.0.58:40033, MachineId=43726, Location=process:3471, Role=WeblogicServer)
    Member(Id=5, Timestamp=2022-06-03 14:38:54.651, Address=10.0.0.58:39257, MachineId=43726, Location=process:3699, Role=CoherenceServer)
    Member(Id=10, Timestamp=2022-06-03 14:50:14.931, Address=10.0.0.58:35151, MachineId=43726, Location=process:4009, Role=CoherenceConsole)
    )
  MemberId|ServiceJoined|MemberState|Version
    1|2022-06-03 13:49:23.853|JOINED|14.1.1.0.0,
    2|2022-06-03 14:00:25.293|JOINED|14.1.1.0.0,
    3|2022-06-03 14:04:35.109|JOINED|14.1.1.0.0,
    5|2022-06-03 14:38:54.651|JOINED|14.1.1.0.0,
    10|2022-06-03 14:50:14.931|JOINED|14.1.1.0.0
  RecycleMillis=1200000
  RecycleSet=MemberSet(Size=5
    Member(Id=4, Timestamp=2022-06-03 14:38:48.634, Address=10.0.0.58:36129, MachineId=43726)
    Member(Id=6, Timestamp=2022-06-03 14:42:19.737, Address=10.0.0.58:39955, MachineId=43726)
    Member(Id=7, Timestamp=2022-06-03 14:44:17.783, Address=10.0.0.58:34297, MachineId=43726)
    Member(Id=8, Timestamp=2022-06-03 14:46:31.617, Address=10.0.0.58:41133, MachineId=43726)
    Member(Id=9, Timestamp=2022-06-03 14:50:07.276, Address=10.0.0.58:36749, MachineId=43726)
    )
  )
 
TcpRing{Connections=[5]}
IpMonitor{Addresses=0, Timeout=15s}
 
 
Map (?):
cs

코히어런스 Client Application의 자세한 명령어는 아래 웹페이지를 통해 확인이 가능합니다.

https://docs.oracle.com/cd/E15357_01/coh.360/e15831/appcommands.htm#COHTU688

 

Coherence Client Application Commands

18/19 A Coherence Client Application Commands This appendix describes the commands that can be issued to the Coherence command line application coherence.cmd (or coherence.sh on UNIX). A.1 batch You can script Coherence from the command line by creating a

docs.oracle.com

 

여기까지 별도의 코히어런스를 활용하여 웹로직 - 코히어런스 세션그리드 서비스 구성을 완료 하였습니다.

 

웹로직 세션 클러스터링은 Enterprise 라이선스가 필요하지만 위와 같이 구성하면

웹로직 Standard 라이선스 + 코히어런스를 통해 위와 같은 방식으로 동일한 기능을 구현할 수 있습니다.


코히어런스의 가장 대표적인 사용범위인 만큼 필요한 분들은 꼭 실습을 통해 관련 내용을 확인해 보시기 바랍니다.

 

여기까지 마무리 하고 다음 장에서는 코히어런스 JMX 기반 모니터링에 대해 알아보도록 하겠습니다.