Translate

[WebLogic][Admin Console] 서버 기동/중지 기능을 위한 노드매니저(Node Manager) 구성










실습환경
 - OS: OracleLinux 5
 - WebLogic ver: 10.3.6



해당 작업은 구성요소중에 노드매니저에 해당된다.





노드매니저(Node Manager)란?


 - 웹로직에서 제공하는 유틸리티 (웹로직의 시스템과 연계되는 관리자)
 - 어드민서버와 연동하여 매니지드서버에 기동/중지/재기동 명령을 전달가능





노드매니저 구성 시 Admin Console 에서 매니지드서버의 기동/중지를 컨트롤 할 수 있다.
노드매니저 구성없이 어드민서버에서 기동을 하려 할 시 아래와 같이 보여진다.
(v10.3.6 에서 중지기능은 노드매니저 구성없이 작동 확인)
1004lucifer
선택된 모든 서버는 현재 이 작업과 호환되지 않는 상태이거나 실행 중인 노드 관리자와 연관되어 있지 않습니다. 또는 요청된 작업을 수행할 권한이 없습니다. 작업이 수행되지 않습니다.





작업 순서는 아래와 같다.

1. 리눅스콘솔
  - 노드매니저 구성
2. 어드민서버
  - 시스템생성
  - 시스템에 관리서버(인스턴스서버) 추가
  - 관리서버 기동


1. 노드매니저 구성


# 실습환경 웹로직 관련 홈디렉토리 경로
# $BEA_HOME(웹로직 설치디렉토리): /app/weblogic1036/
# $WL_HOME(웹로직 구성요소 디렉토리): $BEA_HOME/wlserver_10.3/
# $NODEMGR_HOME(노드매니저 설정 디렉토리): $WL_HOME/common/nodemanager/
[weblogic@ae2793daea03 wlserver_10.3]$
[weblogic@ae2793daea03 wlserver_10.3]$
[weblogic@ae2793daea03 wlserver_10.3]$
[weblogic@ae2793daea03 wlserver_10.3]$ pwd
/app/weblogic1036/wlserver_10.3
[weblogic@ae2793daea03 wlserver_10.3]$
[weblogic@ae2793daea03 wlserver_10.3]$
[weblogic@ae2793daea03 wlserver_10.3]$
[weblogic@ae2793daea03 wlserver_10.3]$
# v12.1.1 이하 $NODEMGR_HOME 위치: $WL_HOME/common/nodemanager/
# v12.2.2 이상 $NODEMGR_HOME 위치: $DOMAIN_HOME/nodemanager/
# 노드매니저 스크립트 실행전 domains 파일 하나만 있다.
[weblogic@ae2793daea03 wlserver_10.3]$ ls -al common/nodemanager/
total 12
drwxrwxr-x  2 weblogic weblogic 4096 Aug  6 00:36 .
drwxrwxr-x 11 weblogic weblogic 4096 Aug  5 10:21 ..
-rw-r-----  1 weblogic weblogic  151 Aug  6 00:36 nodemanager.domains
[weblogic@ae2793daea03 wlserver_10.3]$
[weblogic@ae2793daea03 wlserver_10.3]$
[weblogic@ae2793daea03 wlserver_10.3]$
[weblogic@ae2793daea03 wlserver_10.3]$
[weblogic@ae2793daea03 wlserver_10.3]$
# 최초 노드매니저 스크립트 실행
# v12.1.1 이하 스크립트 위치: $WL_HOME/server/bin/startNodeManager.sh
# v12.1.2 이상 스크립트 위치: $DOMAIN_HOME/bin/startNodeManager.sh
[weblogic@ae2793daea03 wlserver_10.3]$ ./server/bin/startNodeManager.sh
+ CLASSPATH=/app/weblogic1036/patch_wls1036/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/app/jdk1.6.0_45/lib/tools.jar:/app/weblogic1036/wlserver_10.3/server/lib/weblogic_sp.jar:/app/weblogic1036/wlserver_10.3/server/lib/weblogic.jar:/app/weblogic1036/modules/features/weblogic.server.modules_10.3.6.0.jar:/app/weblogic1036/wlserver_10.3/server/lib/webservices.jar:/app/weblogic1036/modules/org.apache.ant_1.7.1/lib/ant-all.jar:/app/weblogic1036/modules/net.sf.antcontrib_1.1.0.0_1-0b2/lib/ant-contrib.jar::/app/weblogic1036
+ '[' '!' -z '' ']'
+ '[' '!' -z '' ']'
+ export CLASSPATH
+ export PATH
+ cd /app/weblogic1036/wlserver_10.3/common/nodemanager
+ set -x
+ '[' '' '!=' '' ']'
+ '[' '' '!=' '' ']'
+ /app/jdk1.6.0_45/bin/java -client -Xms32m -Xmx200m -XX:MaxPermSize=128m -Dbea.home=/app/weblogic1036 -Xverify:none -Djava.security.policy=/app/weblogic1036/wlserver_10.3/server/lib/weblogic.policy -Dweblogic.nodemanager.javaHome=/app/jdk1.6.0_45 weblogic.NodeManager -v
<Aug 22, 2018 2:43:50 PM> <INFO> <Loading domains file: /app/weblogic1036/wlserver_10.3/common/nodemanager/nodemanager.domains>
Aug 22, 2018 2:43:50 PM weblogic.nodemanager.server.NMServerConfig initDomainsMap
INFO: Loading domains file: /app/weblogic1036/wlserver_10.3/common/nodemanager/nodemanager.domains
<Aug 22, 2018 2:43:52 PM> <INFO> <Loading identity key store: FileName=/app/weblogic1036/wlserver_10.3/server/lib/DemoIdentity.jks, Type=jks, PassPhraseUsed=true>
Aug 22, 2018 2:43:52 PM weblogic.nodemanager.server.SSLConfig loadKeyStoreConfig
INFO: Loading identity key store: FileName=/app/weblogic1036/wlserver_10.3/server/lib/DemoIdentity.jks, Type=jks, PassPhraseUsed=true
<Aug 22, 2018 2:43:52 PM> <WARNING> <Node manager configuration properties file '/app/weblogic1036/wlserver_10.3/common/nodemanager/nodemanager.properties' not found. Using default settings.>
Aug 22, 2018 2:43:52 PM weblogic.nodemanager.server.NMServer <init>
WARNING: Node manager configuration properties file '/app/weblogic1036/wlserver_10.3/common/nodemanager/nodemanager.properties' not found. Using default settings.
<Aug 22, 2018 2:43:52 PM> <INFO> <Saving node manager configuration properties to '/app/weblogic1036/wlserver_10.3/common/nodemanager/nodemanager.properties'>
Aug 22, 2018 2:43:52 PM weblogic.nodemanager.server.NMServer <init>
INFO: Saving node manager configuration properties to '/app/weblogic1036/wlserver_10.3/common/nodemanager/nodemanager.properties'
Node manager v10.3

Configuration settings:
1004lucifer NodeManagerHome=/app/weblogic1036/wlserver_10.3/common/nodemanager
ListenAddress=
ListenPort=5556
ListenBacklog=50
SecureListener=true
AuthenticationEnabled=true
NativeVersionEnabled=true
CrashRecoveryEnabled=false
JavaHome=/app/jdk1.6.0_45/jre
StartScriptEnabled=false
StopScriptEnabled=false
StartScriptName=startWebLogic.sh
StopScriptName=
LogFile=/app/weblogic1036/wlserver_10.3/common/nodemanager/nodemanager.log
LogLevel=INFO
LogLimit=0
LogCount=1
LogAppend=true
LogToStderr=true
LogFormatter=weblogic.nodemanager.server.LogFormatter
DomainsFile=/app/weblogic1036/wlserver_10.3/common/nodemanager/nodemanager.domains
DomainsFileEnabled=true
StateCheckInterval=500
UseMACBroadcast=false
DomainRegistrationEnabled=false
DomainsDirRemoteSharingEnabled=false

Domain name mappings:

1004lucifer_domain -> /app/weblogic1036/domains/1004lucifer_domain

<Aug 22, 2018 2:43:52 PM UTC> <Info> <Security> <BEA-090905> <Disabling CryptoJ JCE Provider self-integrity check for better startup performance. To enable this check, specify -Dweblogic.security.allowCryptoJDefaultJCEVerification=true>
<Aug 22, 2018 2:43:52 PM UTC> <Info> <Security> <BEA-090906> <Changing the default Random Number Generator in RSA CryptoJ from ECDRBG to FIPS186PRNG. To disable this change, specify -Dweblogic.security.allowCryptoJDefaultPRNG=true>
<Aug 22, 2018 2:43:52 PM UTC> <Info> <Security> <BEA-090908> <Using default WebLogic SSL Hostname Verifier implementation.>
<Aug 22, 2018 2:43:52 PM> <INFO> <Secure socket listener started on port 5556>
Aug 22, 2018 2:43:52 PM weblogic.nodemanager.server.SSLListener run
INFO: Secure socket listener started on port 5556
^C+ set +x Ctrl+C (중지)
[weblogic@ae2793daea03 wlserver_10.3]$
[weblogic@ae2793daea03 wlserver_10.3]$
[weblogic@ae2793daea03 wlserver_10.3]$
[weblogic@ae2793daea03 wlserver_10.3]$
[weblogic@ae2793daea03 wlserver_10.3]$
[weblogic@ae2793daea03 wlserver_10.3]$
[weblogic@ae2793daea03 wlserver_10.3]$
[weblogic@ae2793daea03 wlserver_10.3]$
# 노드매니저 스크립트를 수행 시 기본 설정파일들이 생성된다.
[weblogic@ae2793daea03 wlserver_10.3]$ ls -al common/nodemanager/
total 24
drwxrwxr-x  2 weblogic weblogic 4096 Aug 22 14:44 .
drwxrwxr-x 11 weblogic weblogic 4096 Aug  5 10:21 ..
-rw-r-----  1 weblogic weblogic  130 Aug 22 14:43 nm_data.properties
-rw-r-----  1 weblogic weblogic  151 Aug  6 00:36 nodemanager.domains
-rw-r-----  1 weblogic weblogic  721 Aug 22 14:43 nodemanager.log
-rw-r-----  1 weblogic weblogic  820 Aug 22 14:43 nodemanager.properties
[weblogic@ae2793daea03 wlserver_10.3]$
[weblogic@ae2793daea03 wlserver_10.3]$
[weblogic@ae2793daea03 wlserver_10.3]$
[weblogic@ae2793daea03 wlserver_10.3]$
[weblogic@ae2793daea03 wlserver_10.3]$
[weblogic@ae2793daea03 wlserver_10.3]$
# 노드매니저 설정파일 편집
[weblogic@ae2793daea03 wlserver_10.3]$ vi common/nodemanager/nodemanager.properties
[weblogic@ae2793daea03 wlserver_10.3]$
[weblogic@ae2793daea03 wlserver_10.3]$
[weblogic@ae2793daea03 wlserver_10.3]$
# 노드매니저 설정파일 편집내용 확인
[weblogic@ae2793daea03 wlserver_10.3]$ cat common/nodemanager/nodemanager.properties
#Wed Aug 22 14:43:52 UTC 2018
DomainsFile=/app/weblogic1036/wlserver_10.3/common/nodemanager/nodemanager.domains
LogLimit=0
PropertiesVersion=10.3
DomainsDirRemoteSharingEnabled=false
javaHome=/app/jdk1.6.0_45
AuthenticationEnabled=true
NodeManagerHome=/app/weblogic1036/wlserver_10.3/common/nodemanager
JavaHome=/app/jdk1.6.0_45/jre
LogLevel=INFO
DomainsFileEnabled=true
StartScriptName=startWebLogic.sh
# 웹로직과 연동시 통신에 문제가 될 가능성 있어 localhost / 127.0.0.1 대신 노드매니저가 운영될 IP입력을 권장
ListenAddress=localhost
NativeVersionEnabled=true
ListenPort=5556
LogToStderr=true
# 인증서가 없는경우 SSL 옵션 비활성화
SecureListener=false
LogCount=1
DomainRegistrationEnabled=false
StopScriptEnabled=false
QuitEnabled=false
LogAppend=true
StateCheckInterval=500
CrashRecoveryEnabled=false
StartScriptEnabled=false
LogFile=/app/weblogic1036/wlserver_10.3/common/nodemanager/nodemanager.log
LogFormatter=weblogic.nodemanager.server.LogFormatter
ListenBacklog=50
[weblogic@ae2793daea03 wlserver_10.3]$
[weblogic@ae2793daea03 wlserver_10.3]$
[weblogic@ae2793daea03 wlserver_10.3]$
# 설정파일 변경 후 다시 노드매니저 스크립트 실행
[weblogic@ae2793daea03 wlserver_10.3]$ ./server/bin/startNodeManager.sh
+ CLASSPATH=/app/weblogic1036/patch_wls1036/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/app/jdk1.6.0_45/lib/tools.jar:/app/weblogic1036/wlserver_10.3/server/lib/weblogic_sp.jar:/app/weblogic1036/wlserver_10.3/server/lib/weblogic.jar:/app/weblogic1036/modules/features/weblogic.server.modules_10.3.6.0.jar:/app/weblogic1036/wlserver_10.3/server/lib/webservices.jar:/app/weblogic1036/modules/org.apache.ant_1.7.1/lib/ant-all.jar:/app/weblogic1036/modules/net.sf.antcontrib_1.1.0.0_1-0b2/lib/ant-contrib.jar::/app/weblogic1036
+ '[' '!' -z '' ']'
+ '[' '!' -z '' ']'
+ export CLASSPATH
+ export PATH
+ cd /app/weblogic1036/wlserver_10.3/common/nodemanager
+ set -x
+ '[' '' '!=' '' ']'
+ '[' '' '!=' '' ']'
+ /app/jdk1.6.0_45/bin/java -client -Xms32m -Xmx200m -XX:MaxPermSize=128m -Dbea.home=/app/weblogic1036 -Xverify:none -Djava.security.policy=/app/weblogic1036/wlserver_10.3/server/lib/weblogic.policy -Dweblogic.nodemanager.javaHome=/app/jdk1.6.0_45 weblogic.NodeManager -v
<Aug 22, 2018 3:00:27 PM> <INFO> <Loading domains file: /app/weblogic1036/wlserver_10.3/common/nodemanager/nodemanager.domains>
Aug 22, 2018 3:00:27 PM weblogic.nodemanager.server.NMServerConfig initDomainsMap
INFO: Loading domains file: /app/weblogic1036/wlserver_10.3/common/nodemanager/nodemanager.domains
<Aug 22, 2018 3:00:27 PM> <INFO> <Loaded node manager configuration properties from '/app/weblogic1036/wlserver_10.3/common/nodemanager/nodemanager.properties'>
Aug 22, 2018 3:00:27 PM weblogic.nodemanager.server.NMServer <init>
INFO: Loaded node manager configuration properties from '/app/weblogic1036/wlserver_10.3/common/nodemanager/nodemanager.properties'
Node manager v10.3

Configuration settings:

NodeManagerHome=/app/weblogic1036/wlserver_10.3/common/nodemanager
ListenAddress=localhost
ListenPort=5556
ListenBacklog=50
SecureListener=false
AuthenticationEnabled=true
NativeVersionEnabled=true
CrashRecoveryEnabled=false
JavaHome=/app/jdk1.6.0_45/jre
StartScriptEnabled=false
StopScriptEnabled=false
StartScriptName=startWebLogic.sh
StopScriptName=
LogFile=/app/weblogic1036/wlserver_10.3/common/nodemanager/nodemanager.log
LogLevel=INFO
LogLimit=0
LogCount=1
LogAppend=true
LogToStderr=true
LogFormatter=weblogic.nodemanager.server.LogFormatter
DomainsFile=/app/weblogic1036/wlserver_10.3/common/nodemanager/nodemanager.domains
DomainsFileEnabled=true
StateCheckInterval=500
UseMACBroadcast=false
DomainRegistrationEnabled=false
DomainsDirRemoteSharingEnabled=false

Domain name mappings:

1004lucifer_domain -> /app/weblogic1036/domains/1004lucifer_domain

<Aug 22, 2018 3:00:28 PM> <INFO> <Plain socket listener started on port 5556, host localhost>
Aug 22, 2018 3:00:28 PM weblogic.nodemanager.server.Listener run
INFO: Plain socket listener started on port 5556, host localhost








2. 어드민콘솔과 노드매니전 연동


- 시스템생성



기본 수신포트는 5556, 위에서 노드매니저 구성 시 설정파일에서 변경이 가능하다.



- 관리서버(매니지드서버) 추가


관리할 매니지드서버(인스턴스서버) 추가

추가된 관리서버 확인

'모니터링 - 노드관리자상태' 항목에서 '연결가능' 상태 확인



- 매니지드서버 노드매니저 구동설정 (옵션/권장)
'구성-서버시작' 항목에서 PermSize 옵션 줄것을 권장
(v10.3.6 에서 PermSize 옵션 없을 시 OOME 에러 발생 - 링크)




- 매니지드서버 컨트롤(기동/중지) 확인








- 프로세스 확인


[weblogic@ae2793daea03 weblogic1036]$
[weblogic@ae2793daea03 weblogic1036]$ ps -ef | grep java
# 웹로직(어드민서버포함) 프로세스
weblogic  2020  1973  1 12:20 pts/3    00:01:37 /app/jdk1.6.0_45/bin/java -client -Xms256m -Xmx512m -XX:CompileThreshold=8000 -XX:PermSize=128m -XX:MaxPermSize=256m -Dweblogic.Name=AdminServer -Djava.security.policy=/app/weblogic1036/wlserver_10.3/server/lib/weblogic.policy -Xverify:none -da -Dplatform.home=/app/weblogic1036/wlserver_10.3 -Dwls.home=/app/weblogic1036/wlserver_10.3/server -Dweblogic.home=/app/weblogic1036/wlserver_10.3/server -Dweblogic.management.discover=true -Dwlw.iterativeDev= -Dwlw.testConsole= -Dwlw.logErrorsToConsole= -Dweblogic.ext.dirs=/app/weblogic1036/patch_wls1036/profiles/default/sysext_manifest_classpath weblogic.Server
# 노드매니저 프로세스
weblogic  2189  2157  0 12:47 pts/1    00:00:11 /app/jdk1.6.0_45/bin/java -client -Xms32m -Xmx200m -XX:MaxPermSize=256m -Dbea.home=/app/weblogic1036 -Xverify:none -Djava.security.policy=/app/weblogic1036/wlserver_10.3/server/lib/weblogic.policy -Dweblogic.nodemanager.javaHome=/app/jdk1.6.0_45 weblogic.NodeManager -v
# 기동된 매니지드서버 프로세스
# 부모PID가 노드매니저PID와 같다.
weblogic  2253  2189  1 12:51 ?        00:00:47 /app/jdk1.6.0_45/bin/java -Dweblogic.Name=ManagedServer01 -Dbea.home=/app/weblogic1036/wlserver_10.3/common/nodemanager -Djava.security.policy=/app/weblogic1036/wlserver_10.3/server/lib/weblogic.policy -Dweblogic.management.server=http://172.17.0.2:7001 -Djava.library.path=/app/jdk1.6.0_45/jre/lib/amd64/server:/app/jdk1.6.0_45/jre/lib/amd64:/app/jdk1.6.0_45/jre/../lib/amd64:/app/weblogic1036/patch_wls1036/profiles/default/native:/app/weblogic1036/wlserver_10.3/server/native/linux/x86_64:/app/weblogic1036/wlserver_10.3/server/native/linux/x86_64/oci920_8:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib -Djava.class.path=/app/weblogic1036/patch_wls1036/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/app/jdk1.6.0_45/lib/tools.jar:/app/weblogic1036/wlserver_10.3/server/lib/weblogic_sp.jar:/app/weblogic1036/wlserver_10.3/server/lib/weblogic.jar:/app/weblogic1036/modules/features/weblogic.server.modules_10.3.6.0.jar:/app/weblogic1036/wlserver_10.3/server/lib/webservices.jar:/app/weblogic1036/modules/org.apache.ant_1.7.1/lib/ant-all.jar:/app/weblogic1036/modules/net.sf.antcontrib_1.1.0.0_1-0b2/lib/ant-contrib.jar::/app/weblogic1036 -Dweblogic.system.BootIdentityFile=/app/weblogic1036/domains/1004lucifer_domain/servers/ManagedServer01/data/nodemanager/boot.properties -Dweblogic.nodemanager.ServiceEnabled=true -Dweblogic.security.SSL.ignoreHostnameVerification=false -Dweblogic.ReverseDNSAllowed=false -Xms256m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=256m weblogic.Server
weblogic  2296   389  0 13:48 pts/3    00:00:00 grep java
[weblogic@ae2793daea03 weblogic1036]$








- 로그 확인


# 로그파일 위치: $DOMAIN_HOME/servers/[SERVER_NAME]/logs/[SERVER_NAME].out
[weblogic@ae2793daea03 weblogic1036]$
[weblogic@ae2793daea03 weblogic1036]$ tail -f /app/weblogic1036/domains/1004lucifer_domain/servers/ManagedServer01/logs/ManagedServer01.out
<Aug 23, 2018 12:51:31 PM UTC> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RESUMING>
<Aug 23, 2018 12:51:31 PM UTC> <Notice> <Security> <BEA-090171> <Loading the identity certificate and private key stored under the alias 1004lucifer_key from the JKS keystore file /app/weblogic1036/ssl/1004lucifer_key.jks.>
<Aug 23, 2018 12:51:32 PM UTC> <Notice> <Security> <BEA-090169> <Loading trusted certificates from the JKS keystore file /app/weblogic1036/ssl/1004lucifer_cert.jks.>
<Aug 23, 2018 12:51:32 PM UTC> <Notice> <Server> <BEA-002613> <Channel "Default" is now listening on 172.17.0.2:9001 for protocols iiop, t3, ldap, snmp, http.>
<Aug 23, 2018 12:51:32 PM UTC> <Notice> <Server> <BEA-002613> <Channel "Default[1]" is now listening on 127.0.0.1:9001 for protocols iiop, t3, ldap, snmp, http.>
<Aug 23, 2018 12:51:32 PM UTC> <Notice> <Server> <BEA-002613> <Channel "DefaultSecure[1]" is now listening on 127.0.0.1:8006 for protocols iiops, t3s, ldaps, https.>
<Aug 23, 2018 12:51:32 PM UTC> <Notice> <Server> <BEA-002613> <Channel "DefaultSecure" is now listening on 172.17.0.2:8006 for protocols iiops, t3s, ldaps, https.>
<Aug 23, 2018 12:51:32 PM UTC> <Notice> <WebLogicServer> <BEA-000332> <Started WebLogic Managed Server "ManagedServer01" for domain "1004lucifer_domain" running in Development Mode>
<Aug 23, 2018 12:51:34 PM UTC> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RUNNING>
<Aug 23, 2018 12:51:34 PM UTC> <Notice> <WebLogicServer> <BEA-000360> <Server started in RUNNING mode>








- 매니지드서버 정상기동여부 확인








노드매니저 구성 후 서버 기동 시 발생할 수 있는 이슈

 - 노드매니저로 서버 기동 후 발생한 PermGen OOME 에러
 - 어드민서버에서 매니지드서버 기동 시 FAILED_NOT_RESTARTABLE 상태 오류






참고서적

설치에서 트러블슈팅까지 웹로직의 모든 것 WebLogic Expert - 10점
이규석.김민수 지음/에이콘출판


댓글