안녕하세요.
‘수상한 김토끼’ 입니다.
6장의 코히어런스 세션그리드 서비스 – 2(https://with-kami.tistory.com/1534841)를 통해 별도의 코히어런스를 활용한 웹로직 – 코히어런스 세션 클러스터링을 확인 해 보았습니다.
https://with-kami.tistory.com/1534841
이번 장에서는 6장에서 활용한 유니캐스트가 아닌 멀티캐스트 방식으로 같은 기능을 구현하는 내용을 정리하게 되었는데요, 클라우드 환경에서 해당 아키텍처를 구현하는 과정에서 클라우드 특성상 유니캐스트 방식은 허용되지 않아 또 다른 클러스터 구성 방식인 멀티캐스트 WKA (Well Known Address)을 활용하여 구현 해 보았습니다.
WKA (Well Known Address)를 사용하는 만큼 이를 검증하기 위해 코히어런스와 웹로직 서버를 분리하여 각각의 IP를 가진 서버들 간의 클러스터로 구성되었음을 알려 드립니다.
이 구성을 응용하면 (코히어런스 + 톰캣), (코히어런스 + 웹로직 + 톰캣)등의 구성에도 적용이 가능하며 비용이 저렴한 (웹로직 스탠다드 라이선스 + 코히어런스 라이선스) 조합으로 웹로직 엔터프라이즈 라이선스에서 제공되는 코히어런스 기반 세션 클러스터링 적용이 가능합니다.
이 블로그 글은 미들웨어 경험이 없으신 분들도 쉽게 따라 하실 수 있도록 쉽게 작성하는 것이 목표입니다.
설명을 보고 진행하시다가 궁금하신 내용은 댓글로 문의하시면 가능한 범위 내에서 알려 드리도록 하겠습니다.
1. 코히어런스 설정 변경
6장과 동일한 방식으로 코히어런스와 웹로직을 구성한 후 설정부분만 다음과 같이 변경하여 적용하면 멀티캐스트(WKA)방식 적용이 가능합니다.
우선 멀티캐스트 관련 설정을 위해 JAVA_OPT를 수정 해 줍니다.
위 cache-server.sh 파일에서 설정에 맞도록 수정해야 하는 부분은 크게 3부분으로 아래 스크린샷에서 확인하실 수 있습니다.
# 추가 항목 : 멀티캐스트 관련 설정
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.localport=9000" : 코히어런스 클러스터의 Listen Port
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.localhost=10.0.0.58" : 코히어런스 클러스터의 Listen IP
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.wka=10.0.0.58" : 클러스터에 속할 서버들의 IP, 여러대는 wka2, wka3등으로 구분하여 추가
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.wka2=10.0.0.227"
# 제거 항목 : 유니캐스트 관련 설정
#JAVA_OPTS="${JAVA_OPTS} -Dcoherence.clusteraddress=224.2.1.2"
#JAVA_OPTS="${JAVA_OPTS} -Dcoherence.clusterport=14199"
#JAVA_OPTS="${JAVA_OPTS} -Dcoherence.ttl=1"
# 예제에서 10.0.0.58은 코히어런스 서버, 10.0.0.227은 웹로직 서버이며, 이와 같이 구성하면 10.0.0.58:9000 으로 코히어런스 서버가 동작하게 됩니다.
수정 후 cache-server.sh 파일입니다.
[coherence@coherence bin]$ cat cache-server.sh
#!/bin/sh
# This will start a cache server
# specify the Coherence installation directory
SCRIPT_PATH="${0}"
while [ -h "${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
COHERENCE_NAME='weblogic_session_cluster'
JAVA_OPTS="-Xms${MEMORY} -Xmx${MEMORY}"
JAVA_OPTS="${JAVA_OPTS} -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=${COHERENCE_NAME}"
#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} -Dcoherence.localport=9000"
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.localhost=10.0.0.58"
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.wka=10.0.0.58"
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.wka2=10.0.0.227"
$JAVAEXEC -server -showversion -cp "$COHERENCE_HOME/lib/coherence.jar:${COHERENCE_HOME}/lib/coherence-web.jar" $JAVA_OPTS com.tangosol.net.DefaultCacheServer $1
수정이 완료 되면 cache-server.sh 파일을 실행하여 코히어런스 서버를 기동시켜 줍니다.
[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)
2024-07-22 21:46:13.835/0.493 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"
2024-07-22 21:46:13.935/0.593 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"
2024-07-22 21:46:13.935/0.593 Oracle Coherence 14.1.1.0.0 <Info> (thread=main, member=n/a): Optional configuration override "/tangosol-coherence-override.xml" is not specified
2024-07-22 21:46:13.939/0.597 Oracle Coherence 14.1.1.0.0 <Info> (thread=main, member=n/a): Optional configuration override "cache-factory-config.xml" is not specified
2024-07-22 21:46:13.939/0.597 Oracle Coherence 14.1.1.0.0 <Info> (thread=main, member=n/a): Optional configuration override "cache-factory-builder-config.xml" is not specified
2024-07-22 21:46:13.939/0.597 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) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
2024-07-22 21:46:14.169/0.827 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"
2024-07-22 21:46:14.597/1.255 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=main, member=n/a): Created cache factory com.tangosol.net.ExtensibleConfigurableCacheFactory
2024-07-22 21:46:14.878/1.537 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=main, member=n/a): TCMP bound to /10.0.0.58:9000 using SystemDatagramSocketProvider
2024-07-22 21:46:18.172/4.830 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=NameService:TcpAcceptor, member=n/a): TcpAcceptor now listening for connections on coherence:9000.3
2024-07-22 21:46:18.173/4.831 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=Cluster, member=n/a): NameService now listening for connections on coherence:7574.3
2024-07-22 21:46:18.174/4.832 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=Cluster, member=n/a): Created a new cluster "weblogic_session_cluster" with Member(Id=1, Timestamp=2024-07-22 21:46:14.929, Address=10.0.0.58:9000, MachineId=62836, Location=site:sub05260159430.coherencevcn.oraclevcn.com,machine:coherence,process:5281, Role=CoherenceServer, Edition=Grid Edition, Mode=Development, CpuCount=2, SocketCount=2)
2024-07-22 21:46:18.195/4.853 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:9000.60504
2024-07-22 21:46:18.205/4.863 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
2024-07-22 21:46:18.208/4.866 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=main, member=n/a): Started cluster Name=weblogic_session_cluster, ClusterPort=7574
WellKnownAddressList(
10.0.0.58
)
MasterMemberSet(
ThisMember=Member(Id=1, Timestamp=2024-07-22 21:46:14.929, Address=10.0.0.58:9000, MachineId=62836, Location=site:sub05260159430.coherencevcn.oraclevcn.com,machine:coherence,process:5281, Role=CoherenceServer)
OldestMember=Member(Id=1, Timestamp=2024-07-22 21:46:14.929, Address=10.0.0.58:9000, MachineId=62836, Location=site:sub05260159430.coherencevcn.oraclevcn.com,machine:coherence,process:5281, Role=CoherenceServer)
ActualMemberSet=MemberSet(Size=1
Member(Id=1, Timestamp=2024-07-22 21:46:14.929, Address=10.0.0.58:9000, MachineId=62836, Location=site:sub05260159430.coherencevcn.oraclevcn.com,machine:coherence,process:5281, Role=CoherenceServer)
)
MemberId|ServiceJoined|MemberState|Version
1|2024-07-22 21:46:14.929|JOINED|14.1.1.0.0
RecycleMillis=1200000
RecycleSet=MemberSet(Size=0
)
)
TcpRing{Connections=[]}
IpMonitor{Addresses=0, Timeout=15s}
2024-07-22 21:46:18.223/4.881 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=Invocation:Management, member=1): Service Management joined the cluster with senior service member 1
2024-07-22 21:46:18.267/4.925 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"
2024-07-22 21:46:18.305/4.963 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=main, member=1): JMXConnectorServer now listening for connections on coherence
2024-07-22 21:46:18.318/4.976 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"
2024-07-22 21:46:18.372/5.030 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
2024-07-22 21:46:18.519/5.177 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
2024-07-22 21:46:18.535/5.193 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
2024-07-22 21:46:18.563/5.221 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=2024-07-22 21:46:14.929, Address=10.0.0.58:9000, MachineId=62836, Location=site:sub05260159430.coherencevcn.oraclevcn.com,machine:coherence,process:5281, Role=CoherenceServer)
)
2024-07-22 21:46:18.566/5.224 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...
2024-07-22 21:46:18.618/5.276 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=DistributedCache:oracle.coherence.web:DistributedSessions, member=1): Partition ownership has stabilized with 1 nodes
WKA방식의 멀티캐스트의 적용여부는 ‘WellKnownAddressList’항목으로 IP가 로그에 출력되는 것을 통해 확인이 가능합니다.
WellKnownAddressList(
10.0.0.58
)
코히어런스 설정이 마무리 되었으니 웹로직을 설정해 주겠습니다.
2. 웹로직 설정 변경
기존 웹로직 기동 스크립트에 아래 JAVA 옵션을 추가 후 기동 해 주면 됩니다.
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.session.localstorage=false" : 로컬 스토리지 사용 안함
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.wka=10.0.0.58" : 코히어런스 클러스터 IP
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.wka.port=9000" : 코히어런스 클러스터 Port
수정 한 스트립트는 아래와 같습니다.
[weblogic@weblogic script]$ cat startServerCoheWeb1.sh
#!/bin/bash
SERVER_NAME="Server-Cohe-Web-1"
ADMIN_SERVER_URL="t3://localhost:7001"
DOMAIN_HOME="/home/weblogic/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"
COHERENCE_NAME='weblogic_session_cluster'
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.cluster=${COHERENCE_NAME}"
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.session.localstorage=false"
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.wka=10.0.0.58"
JAVA_OPTS="${JAVA_OPTS} -Dcoherence.wka.port=9000"
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
수정 후 서버를 기동 해 줍니다.
[weblogic@weblogic script]$ ./startServerCoheWeb1.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/domains/kami_domain/logs/gc/Server-Cohe-Web-1.log -XX:+PrintClassHistogram -XX:+HeapDumpOnOutOfMemoryError -Dweblogic.system.BootIdentityFile=/home/weblogic/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.cluster=weblogic_session_cluster -Dcoherence.session.localstorage=false -Dcoherence.wka=10.0.0.58 -Dcoherence.wka.port=9000
mv: cannot stat '/home/weblogic/domains/kami_domain/logs/gc/Server-Cohe-Web-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/domains/kami_domain/logs/gc/Server-Cohe-Web-1.log -XX:+PrintClassHistogram -XX:+HeapDumpOnOutOfMemoryError -Dweblogic.system.BootIdentityFile=/home/weblogic/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.cluster=weblogic_session_cluster -Dcoherence.session.localstorage=false -Dcoherence.wka=10.0.0.58 -Dcoherence.wka.port=9000
.
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/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/share/Modules/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/domains/kami_domain/logs/gc/Server-Cohe-Web-1.log -XX:+PrintClassHistogram -XX:+HeapDumpOnOutOfMemoryError -Dweblogic.system.BootIdentityFile=/home/weblogic/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.cluster=weblogic_session_cluster -Dcoherence.session.localstorage=false -Dcoherence.wka=10.0.0.58 -Dcoherence.wka.port=9000 -cp /home/weblogic/weblogic14c/wlserver/server/lib/weblogic-launcher.jar -Dlaunch.use.env.classpath=true -Dweblogic.Name=Server-Cohe-Web-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)
<Jul 22, 2024 12:48:16 PM GMT> <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.>
<Jul 22, 2024 12:48:17 PM GMT> <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.>
<Jul 22, 2024 12:48:17 PM GMT> <Info> <WebLogicServer> <BEA-000377> <Starting WebLogic Server with Java HotSpot(TM) 64-Bit Server VM Version 25.321-b07 from Oracle Corporation.>
<Jul 22, 2024 12:48:19 PM GMT> <Info> <Management> <BEA-141107> <Version: WebLogic Server 14.1.1.0.0 Thu Mar 26 03:15:09 GMT 2020 2000885>
<Jul 22, 2024 12:48:19 PM GMT> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING.>
<Jul 22, 2024 12:48:19 PM GMT> <Info> <WorkManager> <BEA-002900> <Initializing self-tuning thread pool.>
<Jul 22, 2024 12:48:19,984 PM GMT> <Notice> <Log Management> <BEA-170019> <The server log file weblogic.logging.FileStreamHandler instance=86723058
Current log file=/home/weblogic/domains/kami_domain/servers/Server-Cohe-Web-1/logs/Server-Cohe-Web-1.log
Rotation dir=/home/weblogic/domains/kami_domain/servers/Server-Cohe-Web-1/logs
is opened. All server side log events will be written to this file.>
<Jul 22, 2024 12:48:20,724 PM GMT> <Notice> <Security> <BEA-090946> <Security pre-initializing using security realm: myrealm>
<Jul 22, 2024 12:48:21,110 PM GMT> <Notice> <Security> <BEA-090947> <Security post-initializing using security realm: myrealm>
<Jul 22, 2024 12:48:22,747 PM GMT> <Notice> <Security> <BEA-090082> <Security initialized using administrative security realm: myrealm>
<Jul 22, 2024 12:48:23,158 PM GMT> <Notice> <JMX> <BEA-149512> <JMX Connector Server started at service:jmx:iiop://10.0.0.227:9001/jndi/weblogic.management.mbeanservers.runtime.>
2024-07-22 12:48:23.916/8.294 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"
2024-07-22 12:48:24.010/8.389 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"
2024-07-22 12:48:24.014/8.392 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
2024-07-22 12:48:24.022/8.401 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
2024-07-22 12:48:24.025/8.404 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
2024-07-22 12:48:24.028/8.406 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) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
<Jul 22, 2024 12:48:24,736 PM GMT> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STANDBY.>
<Jul 22, 2024 12:48:24,736 PM GMT> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING.>
<Jul 22, 2024 12:48:24,798 PM GMT> <Notice> <Log Management> <BEA-170036> <The Logging monitoring service timer has started to check for logged message counts every 30 seconds.>
<Jul 22, 2024 12:48:25,125 PM GMT> <Warning> <HTTP> <BEA-101369> <WebAppModule(test:test): 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.>
2024-07-22 12:48:25.322/9.701 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=[STANDBY] ExecuteThread: '1' 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"
2024-07-22 12:48:26.101/10.480 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)', member=n/a): Created cache factory com.tangosol.net.ExtensibleConfigurableCacheFactory
2024-07-22 12:48:26.646/11.024 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)', member=n/a): TCMP bound to /10.0.0.227:41945 using SystemDatagramSocketProvider
2024-07-22 12:48:26.935/11.313 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=Cluster, member=n/a): Member(Id=1, Timestamp=2024-07-22 12:46:14.929, Address=10.0.0.58:9000, MachineId=62836, Location=site:sub05260159430.coherencevcn.oraclevcn.com,machine:coherence,process:5281, Role=CoherenceServer) joined Cluster with senior member 1
2024-07-22 12:48:26.940/11.318 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=Cluster, member=n/a): This Member(Id=2, Timestamp=2024-07-22 12:48:26.757, Address=10.0.0.227:41945, MachineId=6282, Location=site:sub05260159430.coherencevcn.oraclevcn.com,machine:weblogic,process:86359, Role=WeblogicServer, Edition=Grid Edition, Mode=Development, CpuCount=2, SocketCount=2) joined cluster "weblogic_session_cluster" with senior Member(Id=1, Timestamp=2024-07-22 12:46:14.929, Address=10.0.0.58:9000, MachineId=62836, Location=site:sub05260159430.coherencevcn.oraclevcn.com,machine:coherence,process:5281, Role=CoherenceServer, Edition=Grid Edition, Mode=Development, CpuCount=2, SocketCount=2)
2024-07-22 12:48:26.988/11.366 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=NameService:TcpAcceptor, member=n/a): TcpAcceptor now listening for connections on weblogic.sub05260159430.coherencevcn.oraclevcn.com:41945.3
2024-07-22 12:48:26.989/11.367 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=Cluster, member=n/a): NameService now listening for connections on weblogic.sub05260159430.coherencevcn.oraclevcn.com:7574.3
2024-07-22 12:48:27.015/11.394 Oracle Coherence GE 14.1.1.0.0 <D5> (thread=Transport:TransportService, member=n/a): Service TransportService is bound to tmb://10.0.0.227:41945.50155
2024-07-22 12:48:27.029/11.407 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
2024-07-22 12:48:27.047/11.425 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=SelectionService(channels=7, selector=MultiplexedSelector(sun.nio.ch.EPollSelectorImpl@c33210a), id=1239965793), member=n/a): Connection established with tmb://10.0.0.58:9000.60504
2024-07-22 12:48:27.050/11.428 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)', member=n/a): Started cluster Name=weblogic_session_cluster, ClusterPort=7574
WellKnownAddressList(
10.0.0.58
)
MasterMemberSet(
ThisMember=Member(Id=2, Timestamp=2024-07-22 12:48:26.757, Address=10.0.0.227:41945, MachineId=6282, Location=site:sub05260159430.coherencevcn.oraclevcn.com,machine:weblogic,process:86359, Role=WeblogicServer)
OldestMember=Member(Id=1, Timestamp=2024-07-22 12:46:14.929, Address=10.0.0.58:9000, MachineId=62836, Location=site:sub05260159430.coherencevcn.oraclevcn.com,machine:coherence,process:5281, Role=CoherenceServer)
ActualMemberSet=MemberSet(Size=2
Member(Id=1, Timestamp=2024-07-22 12:46:14.929, Address=10.0.0.58:9000, MachineId=62836, Location=site:sub05260159430.coherencevcn.oraclevcn.com,machine:coherence,process:5281, Role=CoherenceServer)
Member(Id=2, Timestamp=2024-07-22 12:48:26.757, Address=10.0.0.227:41945, MachineId=6282, Location=site:sub05260159430.coherencevcn.oraclevcn.com,machine:weblogic,process:86359, Role=WeblogicServer)
)
MemberId|ServiceJoined|MemberState|Version
1|2024-07-22 12:46:14.929|JOINED|14.1.1.0.0,
2|2024-07-22 12:48:26.757|JOINED|14.1.1.0.0
RecycleMillis=1200000
RecycleSet=MemberSet(Size=0
)
)
TcpRing{Connections=[1]}
IpMonitor{Addresses=1, Timeout=15s}
2024-07-22 12:48:27.083/11.461 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=Invocation:Management, member=2): Service Management joined the cluster with senior service member 1
2024-07-22 12:48:27.105/11.484 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=[STANDBY] ExecuteThread: '1' 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"
2024-07-22 12:48:27.987/12.366 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
2024-07-22 12:48:28.149/12.527 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=[STANDBY] ExecuteThread: '1' 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
Jul 22, 2024 12:48:28 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
2024-07-22 12:48:28.211/12.590 Oracle Coherence GE 14.1.1.0.0 <Info> (thread=[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)', member=2): Registering MBean using object name "type=WebLogicHttpSessionManager,nodeId=2,appId=testtest"
Jul 22, 2024 12:48:28 PM com.tangosol.coherence.servlet.SessionHelper registerMBean
INFO: Registering MBean using object name "type=WebLogicHttpSessionManager,nodeId=2,appId=testtest"
<Jul 22, 2024 12:48:28,444 PM GMT> <Notice> <Log Management> <BEA-170027> <The server has successfully established a connection with the Domain level Diagnostic Service.>
<Jul 22, 2024 12:48:28,934 PM GMT> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to ADMIN.>
<Jul 22, 2024 12:48:28,985 PM GMT> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RESUMING.>
<Jul 22, 2024 12:48:29,033 PM GMT> <Notice> <Server> <BEA-002613> <Channel "Default[1]" is now listening on 127.0.0.1:9001 for protocols iiop, t3, ldap, snmp, http.>
<Jul 22, 2024 12:48:29,034 PM GMT> <Notice> <Server> <BEA-002613> <Channel "Default" is now listening on 10.0.0.227:9001 for protocols iiop, t3, ldap, snmp, http.>
<Jul 22, 2024 12:48:29,035 PM GMT> <Notice> <Server> <BEA-002613> <Channel "Default[1]" is now listening on 127.0.0.1:9001 for protocols iiop, t3, ldap, snmp, http.>
<Jul 22, 2024 12:48:29,035 PM GMT> <Notice> <Server> <BEA-002613> <Channel "Default" is now listening on 10.0.0.227:9001 for protocols iiop, t3, ldap, snmp, http.>
<Jul 22, 2024 12:48:29,036 PM GMT> <Notice> <WebLogicServer> <BEA-000332> <Started the WebLogic Server Managed Server "Server-Cohe-Web-1" for domain "kami_domain" running in development mode.>
<Jul 22, 2024 12:48:29,048 PM GMT> <Notice> <WebLogicServer> <BEA-000360> <The server started in RUNNING mode.>
<Jul 22, 2024 12:48:29,061 PM GMT> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RUNNING.>
이런 방식으로 세션클러스터링이 필요한 서버들을 추가하여 사용이 가능합니다.
'Oracle Fusion Middleware > Coherence' 카테고리의 다른 글
10장. Coherence Demo with K8s, Coherence Operator (From / Coherence CE Community) (0) | 2023.08.24 |
---|---|
9장. Coherence Demo (From / Coherence CE Community) (0) | 2023.06.02 |
8장. Tomcat - Coherence 세션 그리드 서비스 (0) | 2023.03.16 |
7장. Coherence 모니터링 (with JMX) (0) | 2022.06.08 |
6장. WebLogic - Coherence 세션 그리드 서비스 - 2 (0) | 2022.06.03 |