차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
jboss_eap_general_configuration_script [2020/02/27 04:59] – [add-user.sh] koovjboss_eap_general_configuration_script [2025/04/17 12:33] (현재) – [JDK 1.8 이상 버전을 위한 환경파일] koov
줄 6: 줄 6:
 <code vim add-user.sh> <code vim add-user.sh>
 #!/bin/sh #!/bin/sh
 +##############################################
 +# instance    : template
 +# description : add-user script
 +# date        : 2014-10-07
 +# author      : kwlee2@linuxdata.co.kr
 +##############################################
 ABSOLUTE_PATH="$(cd $(dirname "$0") && pwd -P)" ABSOLUTE_PATH="$(cd $(dirname "$0") && pwd -P)"
 PROFILE_PATH="${ABSOLUTE_PATH%/*}" PROFILE_PATH="${ABSOLUTE_PATH%/*}"
줄 20: 줄 26:
 </code> </code>
 </WRAP> </WRAP>
 +
 +===== heapdump.sh =====
 +<WRAP prewrap>
 +<code vim heapdump.sh>
 +#!/bin/sh
 +##############################################
 +# instance    : template
 +# description : heapdump script
 +# date        : 2014-10-07
 +# author      : kwlee2@linuxdata.co.kr
 +##############################################
 +ABSOLUTE_PATH="$(cd $(dirname "$0") && pwd -P)"
 +PROFILE_PATH="${ABSOLUTE_PATH%/*}"
 +DIR_NAME="${PROFILE_PATH##*/}" # bin dir
 +#DIR_NAME="${ABSOLUTE_PATH##*/}" # root dir
 +
 +. $ABSOLUTE_PATH/jboss.env
 +
 +PID=`ps -ef | grep java | grep "NODE_NAME=$NODE_NAME" | grep "jboss.server.base.dir=$SERVER_BASE_DIR" | awk '{print $2}'`
 +echo "PID:$PID"
 +
 +if [ "$PID" == "" ]
 +then
 +    echo "$NODE_NAME is not running";
 +    exit 1;
 +fi
 +
 +echo "jmap -dump:live,format=b,file=$PID-heapdump-$DATE.bin $PID"
 +jmap -dump:live,format=b,file=$PID-heapdump-$DATE.bin $PID
 +# EOF
 +</code>
 +</WRAP>
 +
  
 ===== jboss.env ===== ===== jboss.env =====
 +
 +==== JDK 1.8 이상 버전을 위한 환경파일 ====
 +
 +<WRAP prewrap>
 +<code vim jboss.env>
 +##################################################
 +# description : JBoss EAP Standalone script
 +# version     : 2.0.0
 +# date        : 2024-12-05
 +# author      : kwlee2@linuxdata.co.kr
 +##################################################
 +DATE=`date "+%Y%m%d_%H%M%S"`
 +UNAME=`id -u -n`
 +
 +JBOSS_USER="jboss"
 +NODE_NAME="sample"
 +
 +##################################################
 +# JBOSS Common Setup
 +##################################################
 +JBOSS_HOME="/app/jboss"
 +
 +SERVER_HOME="$JBOSS_HOME/SERVERS"
 +SERVER_BASE_DIR="$SERVER_HOME/$NODE_NAME"
 +SERVER_BIN_DIR="$SERVER_BASE_DIR/bin"
 +
 +LOG_HOME="$SERVER_BASE_DIR/logs"
 +
 +BIND_ADDR="192.168.0.71"
 +MGNT_ADDR="192.168.0.71"
 +PRIVATE_ADDR="192.168.0.71"
 +UNSECURE_ADDR="127.0.0.1"
 +
 +MULTICAST_ADDR="230.0.0.3"
 +CLUSTER_PASSWD="CHANGEME!!"
 +MESSAGE_ADDR="231.7.10.1"
 +MESSAGE_PORT="9876"
 +
 +MGNT_HTTP_PORT="9990"
 +MGNT_HTTPS_PORT="9993"
 +
 +PORT_OFFSET="0"
 +PORT_AJP="8009"
 +PORT_HTTP="8080"
 +PORT_HTTPS="8443"
 +
 +##################################################
 +# Current Host Setup
 +##################################################
 +GC_TYPE="g1" # "g1", "parallel", "shenandoah", "ZGC"(only jdk 17+)
 +USE_LARGEPAGE="true" # "true", "false" heap size over 2G
 +
 +##################################################
 +# Configration File
 +##################################################
 +SERVER_CONFIG_FILE="standalone-ha.xml"
 +
 +##################################################
 +# Java Version Check
 +JAVA_VER=`java -version 2>&1 | sed 's/.*\?"\(.*\)".*/\1/; 1q'`
 +JAVA_VER_MAJOR=`java -version 2>&1 | sed 's/.*\?"\([0-9]*\)\..*".*/\1/; 1q'`
 +JAVA_VER_MINOR=`java -version 2>&1 | sed 's/.*\?"[0-9]*\.\([0-9]*\)\..*/\1/; 1q'`
 +
 +if [ -z "$JAVA_VER" ]
 +then
 +        echo "Java is not installed";
 +        exit 1;
 +fi
 +
 +##################################################
 +# JVM Options
 +##################################################
 +JAVA_OPTS="-DNODE_NAME=$NODE_NAME"
 +JAVA_OPTS="$JAVA_OPTS -server"
 +JAVA_OPTS="$JAVA_OPTS -Xms2048m"
 +JAVA_OPTS="$JAVA_OPTS -Xmx4096m"
 +
 +### Linux Large Page Setting
 +if [ $USE_LARGEPAGE == "true" ]; then
 + JAVA_OPTS="$JAVA_OPTS -XX:+UseLargePages";
 +fi
 +
 +### Garbage Collection Options
 +JAVA_OPTS="$JAVA_OPTS -XX:+HeapDumpOnOutOfMemoryError"
 +JAVA_OPTS="$JAVA_OPTS -XX:HeapDumpPath=$LOG_HOME/"
 +
 +if [ $JAVA_VER_MAJOR -ge 11 ]; then
 +        JAVA_OPTS="$JAVA_OPTS -Xlog:gc*,safepoint=info:file=$LOG_HOME/gc_%p_%t.log:tags,uptime,time,level:filecount=10,filesize=50m"
 +else
 +        JAVA_OPTS="$JAVA_OPTS -Xloggc:$LOG_HOME/gc_%p_%t.log"
 +        JAVA_OPTS="$JAVA_OPTS -XX:+PrintGCDetails"
 +        JAVA_OPTS="$JAVA_OPTS -XX:+PrintGCTimeStamps"
 +        JAVA_OPTS="$JAVA_OPTS -XX:+PrintGCApplicationStoppedTime"
 +        JAVA_OPTS="$JAVA_OPTS -XX:+UseGCLogFileRotation"
 +        JAVA_OPTS="$JAVA_OPTS -XX:NumberOfGCLogFiles=10"
 +        JAVA_OPTS="$JAVA_OPTS -XX:GCLogFileSize=50M"
 +fi
 +
 +### Collector type : G1 (low pause)
 +if [ $GC_TYPE == "g1" ]; then
 +        JAVA_OPTS="$JAVA_OPTS -XX:+UseG1GC"
 +        JAVA_OPTS="$JAVA_OPTS -XX:+ExplicitGCInvokesConcurrent"
 +        JAVA_OPTS="$JAVA_OPTS -XX:MaxGCPauseMillis=500"
 +
 +### Collector type : Parallel (throughput)
 +elif [ $GC_TYPE == "parallel" ]; then
 +        JAVA_OPTS="$JAVA_OPTS -XX:+UseParallelGC"
 +        JAVA_OPTS="$JAVA_OPTS -XX:+UseParallelOldGC"
 +
 +### ShenandoahGC
 +elif [ $GC_TYPE == "shenandoah" ]; then
 +        JAVA_OPTS="$JAVA_OPTS -XX:+UseShenandoahGC"
 +        JAVA_OPTS="$JAVA_OPTS -XX:+AlwaysPreTouch"
 +        JAVA_OPTS="$JAVA_OPTS -XX:+UseNUMA"
 +
 +### ZGC (jdk 17+)
 +elif [ $GC_TYPE == "ZGC" ]; then
 + if [ $JAVA_VER_MAJOR -ge 17 ]; then
 +        JAVA_OPTS="$JAVA_OPTS -XX:+UseZGC"
 + else
 + echo "ERROR: JDK $JAVA_VER_MAJOR.$JAVA_VER_MINOR is not support ZGC!!!";
 + exit 1;
 + fi
 +else
 +        echo "ERROR: GC_TYPE is NOT SET!!!";
 +        exit 1;
 +fi
 +
 +JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true"
 +JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true"
 +JAVA_OPTS="$JAVA_OPTS -Dorg.jboss.resolver.warning=true"
 +
 +### byteman
 +JAVA_OPTS="$JAVA_OPTS -Djboss.modules.system.pkgs=org.jboss.byteman"
 +
 +### urandom system entropy problem
 +JAVA_OPTS="$JAVA_OPTS -Djava.security.egd=file:/dev/./urandom"
 +
 +##################################################
 +# Bind Address
 +##################################################
 +JAVA_OPTS="$JAVA_OPTS -Djboss.bind.address=$BIND_ADDR"
 +JAVA_OPTS="$JAVA_OPTS -Djboss.bind.address.management=$MGNT_ADDR"
 +JAVA_OPTS="$JAVA_OPTS -Djboss.bind.address.private=$PRIVATE_ADDR"
 +JAVA_OPTS="$JAVA_OPTS -Djboss.bind.address.unsecure=$UNSECURE_ADDR"
 +
 +JAVA_OPTS="$JAVA_OPTS -Djboss.default.multicast.address=$MULTICAST_ADDR"
 +JAVA_OPTS="$JAVA_OPTS -Djboss.messaging.cluster.password=$CLUSTER_PASSWD"
 +JAVA_OPTS="$JAVA_OPTS -Djboss.messaging.group.address=$MESSAGE_ADDR"
 +JAVA_OPTS="$JAVA_OPTS -Djboss.messaging.group.port=$MESSAGE_PORT"
 +
 +# Management
 +JAVA_OPTS="$JAVA_OPTS -Djboss.management.http.port=$MGNT_HTTP_PORT"
 +JAVA_OPTS="$JAVA_OPTS -Djboss.management.https.port=$MGNT_HTTPS_PORT"
 +
 +# Port Offset
 +JAVA_OPTS="$JAVA_OPTS -Djboss.socket.binding.port-offset=$PORT_OFFSET"
 +
 +# Ports
 +JAVA_OPTS="$JAVA_OPTS -Djboss.ajp.port=$PORT_AJP"
 +JAVA_OPTS="$JAVA_OPTS -Djboss.http.port=$PORT_HTTP"
 +JAVA_OPTS="$JAVA_OPTS -Djboss.https.port=$PORT_HTTPS"
 +
 +# modcluster proxy list
 +#JAVA_OPTS="$JAVA_OPTS -Djboss.mod_cluster.proxyList=address1:port1,address2:port2"
 +#JAVA_OPTS="$JAVA_OPTS -Djboss.mod_cluster.excludedContexts=host1:context1,host2:context2,host3:context3"
 +#JAVA_OPTS="$JAVA_OPTS -Djboss.mod_cluster.jvmRoute="
 +
 +### JBoss Env Setting - Global
 +#JAVA_OPTS="$JAVA_OPTS -Djboss.qualified.host.name=$NODE_NAME"
 +JAVA_OPTS="$JAVA_OPTS -Djboss.home.dir=$JBOSS_HOME"
 +JAVA_OPTS="$JAVA_OPTS -Djboss.host.name=$NODE_NAME"
 +JAVA_OPTS="$JAVA_OPTS -Djboss.host.default.config=$HOST_CONFIG_FILE"
 +JAVA_OPTS="$JAVA_OPTS -Djboss.node.name=$NODE_NAME"
 +JAVA_OPTS="$JAVA_OPTS -DjvmRoute=$NODE_NAME"
 +JAVA_OPTS="$JAVA_OPTS -Djboss.tx.node.id=$NODE_NAME"
 +JAVA_OPTS="$JAVA_OPTS -Dorg.jboss.boot.log.file=$LOG_HOME/boot.log"
 +
 +### JBoss Env Setting - Standalone mode
 +JAVA_OPTS="$JAVA_OPTS -Djboss.server.base.dir=$SERVER_BASE_DIR"
 +JAVA_OPTS="$JAVA_OPTS -Djboss.server.default.config=$SERVER_CONFIG_FILE"
 +JAVA_OPTS="$JAVA_OPTS -Djboss.server.log.dir=$LOG_HOME"
 +
 +JAVA_OPTS="$JAVA_OPTS -Djava.library.path=$LD_LIBRARY_PATH"
 +
 +### Custom Settings
 +#JAVA_OPTS="$JAVA_OPTS -Dlogging.configuration=file:CONF_DIR/logging.properties"
 +
 +# anti log4shell
 +JAVA_OPTS="$JAVA_OPTS -Dlog4j2.formatMsgNoLookups=true"
 +
 +export JAVA_OPTS
 +
 +echo "================================================"
 +echo "JBOSS_HOME=$JBOSS_HOME"
 +echo "SERVER_HOME=$SERVER_HOME"
 +echo "NODE_NAME=$NODE_NAME"
 +echo "HOST_ADDR=$HOST_ADDR"
 +echo "SERVER_CONFIG_FILE=$SERVER_CONFIG_FILE"
 +echo "JAVA_VER=$JAVA_VER"
 +echo "JAVA_OPTS=$JAVA_OPTS"
 +echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH"
 +echo "================================================"
 +
 +# EOF
 +</code>
 +</WRAP>
 +
 +==== JDK 1.4 ~ 11버전을 위한 환경파일 ====
 +
  
 <WRAP prewrap> <WRAP prewrap>
줄 33: 줄 282:
 UNAME=`id -u -n` UNAME=`id -u -n`
  
-JBOSS_USER="root+JBOSS_USER="jboss
-NODE_NAME="node11"+NODE_NAME="sample"
  
 ################################################## ##################################################
 # JBOSS Common Setup # JBOSS Common Setup
 ################################################## ##################################################
-JBOSS_HOME="/software/jboss7"+JBOSS_HOME="/app/jboss"
  
 SERVER_HOME="$JBOSS_HOME/SERVERS" SERVER_HOME="$JBOSS_HOME/SERVERS"
 SERVER_BASE_DIR="$SERVER_HOME/$NODE_NAME" SERVER_BASE_DIR="$SERVER_HOME/$NODE_NAME"
 +SERVER_BIN_DIR="$SERVER_BASE_DIR/bin"
  
 LOG_HOME="$SERVER_BASE_DIR/logs" LOG_HOME="$SERVER_BASE_DIR/logs"
  
-BIND_ADDR="192.168.0.73+BIND_ADDR="192.168.0.71
-MGNT_ADDR="192.168.0.73+MGNT_ADDR="192.168.0.71
-PRIVATE_ADDR="192.168.0.73"+PRIVATE_ADDR="192.168.0.71"
 UNSECURE_ADDR="127.0.0.1" UNSECURE_ADDR="127.0.0.1"
  
줄 73: 줄 323:
 # Configration File # Configration File
 ################################################## ##################################################
-SERVER_CONFIG_FILE="standalone-full-ha.xml"+SERVER_CONFIG_FILE="standalone-ha.xml"
  
 ################################################## ##################################################
 # Java Version Check # Java Version Check
-JAVA_VER=$(java -version 2>&1 | grep -version | sed 's/.*version ".*\.\(.*\)\..*"/\1/; 1q')+JAVA_VER=`java -version 2>&1 | sed 's/.*\?"\(.*\)".*/\1/; 1q'` 
 +JAVA_VER_MAJOR=`java -version 2>&| sed 's/.*\?"\([0-9]*\)\..*".*/\1/; 1q'` 
 +JAVA_VER_MINOR=`java -version 2>&1 | sed 's/.*\?"[0-9]*\.\([0-9]*\)\..*/\1/; 1q'
 if [ -z "$JAVA_VER" ] if [ -z "$JAVA_VER" ]
 then then
줄 95: 줄 348:
 ### Garbage Collection Options ### Garbage Collection Options
 JAVA_OPTS="$JAVA_OPTS -verbose:gc" JAVA_OPTS="$JAVA_OPTS -verbose:gc"
-JAVA_OPTS="$JAVA_OPTS -Xloggc:$LOG_HOME/gc_$DATE.log" 
-JAVA_OPTS="$JAVA_OPTS -XX:+PrintGCDetails" 
-JAVA_OPTS="$JAVA_OPTS -XX:+PrintGCTimeStamps" 
-JAVA_OPTS="$JAVA_OPTS -XX:+PrintGCApplicationStoppedTime" 
 JAVA_OPTS="$JAVA_OPTS -XX:+HeapDumpOnOutOfMemoryError" JAVA_OPTS="$JAVA_OPTS -XX:+HeapDumpOnOutOfMemoryError"
 JAVA_OPTS="$JAVA_OPTS -XX:HeapDumpPath=$LOG_HOME/" JAVA_OPTS="$JAVA_OPTS -XX:HeapDumpPath=$LOG_HOME/"
줄 128: 줄 377:
 else else
  echo "ERROR: GC_TYPE is NOT SET!!!";  echo "ERROR: GC_TYPE is NOT SET!!!";
- exit 0;+ exit 1;
 fi fi
  
 ########################### ###########################
-Java Version setting +Setting for JVM Versions 
-if [ $JAVA_VER -ge 8 ]; then +if [ $JAVA_VER_MAJOR -ge 11 ]; then 
- JAVA_OPTS="$JAVA_OPTS -XX:+UseCompressedClassPointers" +        JAVA_OPTS="$JAVA_OPTS -Xlog:gc*:file=$LOG_HOME/gc-%p-%t.log:tags,uptime,time,level:filecount=10,filesize=50m" 
- JAVA_OPTS="$JAVA_OPTS -XX:CompressedClassSpaceSize=1024M" +else 
- JAVA_OPTS="$JAVA_OPTS -XX:MetaspaceSize=512M" +        JAVA_OPTS="$JAVA_OPTS -Xloggc:$LOG_HOME/gc_$DATE.log" 
- JAVA_OPTS="$JAVA_OPTS -XX:MaxMetaspaceSize=512M" +        JAVA_OPTS="$JAVA_OPTS -XX:+PrintGCDetails" 
-elif [ $JAVA_VER -le 7 ]; then +        JAVA_OPTS="$JAVA_OPTS -XX:+PrintGCTimeStamps" 
- JAVA_OPTS="$JAVA_OPTS -XX:PermSize=256M" +        JAVA_OPTS="$JAVA_OPTS -XX:+PrintGCApplicationStoppedTime" 
- JAVA_OPTS="$JAVA_OPTS -XX:MaxPermSize=256M"+ 
 +        if [ $JAVA_VER_MINOR -ge 8 ]; then 
 +                JAVA_OPTS="$JAVA_OPTS -XX:+UseCompressedClassPointers" 
 +                JAVA_OPTS="$JAVA_OPTS -XX:CompressedClassSpaceSize=1024M" 
 +                JAVA_OPTS="$JAVA_OPTS -XX:MetaspaceSize=512M" 
 +                JAVA_OPTS="$JAVA_OPTS -XX:MaxMetaspaceSize=512M" 
 +        elif [ $JAVA_VER_MINOR -le 7 ]; then 
 +                JAVA_OPTS="$JAVA_OPTS -XX:PermSize=256M" 
 +                JAVA_OPTS="$JAVA_OPTS -XX:MaxPermSize=256M" 
 +                JAVA_OPTS="$JAVA_OPTS -Djava.security.egd=file:/dev/./urandom" 
 +        fi
 fi fi
  
줄 204: 줄 463:
 ### Custom Settings ### Custom Settings
 #JAVA_OPTS="$JAVA_OPTS -Dlogging.configuration=file:CONF_DIR/logging.properties" #JAVA_OPTS="$JAVA_OPTS -Dlogging.configuration=file:CONF_DIR/logging.properties"
 +
 +# anti log4shell
 +JAVA_OPTS="$JAVA_OPTS -Dlog4j2.formatMsgNoLookups=true"
  
 export JAVA_OPTS export JAVA_OPTS
줄 213: 줄 475:
 echo "HOST_ADDR=$HOST_ADDR" echo "HOST_ADDR=$HOST_ADDR"
 echo "SERVER_CONFIG_FILE=$SERVER_CONFIG_FILE" echo "SERVER_CONFIG_FILE=$SERVER_CONFIG_FILE"
 +echo "JAVA_VER=$JAVA_VER"
 echo "JAVA_OPTS=$JAVA_OPTS" echo "JAVA_OPTS=$JAVA_OPTS"
 echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH"
줄 218: 줄 481:
  
 # EOF # EOF
 +
 </code> </code>
 </WRAP> </WRAP>
줄 232: 줄 496:
 org.apache.catalina.connector.USE_BODY_ENCODING_FOR_QUERY_STRING=true org.apache.catalina.connector.USE_BODY_ENCODING_FOR_QUERY_STRING=true
 org.hornetq.core.message.impl.HDR_DUPLICATE_DETECTION_ID=$NODE_NAME org.hornetq.core.message.impl.HDR_DUPLICATE_DETECTION_ID=$NODE_NAME
 +# Cluster Property
 +jvmRoute=$NODE_NAME
 </code> </code>
 </WRAP> </WRAP>
줄 249: 줄 515:
 ############################################## ##############################################
 ABSOLUTE_PATH="$(cd $(dirname "$0") && pwd -P)" ABSOLUTE_PATH="$(cd $(dirname "$0") && pwd -P)"
-DIR_NAME="${ABSOLUTE_PATH##*/}"+PROFILE_PATH="${ABSOLUTE_PATH%/*}" 
 +DIR_NAME="${PROFILE_PATH##*/}" # bin dir 
 +#DIR_NAME="${ABSOLUTE_PATH##*/}" # root dir
  
 . $ABSOLUTE_PATH/jboss.env . $ABSOLUTE_PATH/jboss.env
줄 262: 줄 530:
 echo "$JBOSS_HOME/bin/jboss-cli.sh  --controller=$MGNT_ADDR:$((MGNT_HTTP_PORT + PORT_OFFSET)) --connect $@" echo "$JBOSS_HOME/bin/jboss-cli.sh  --controller=$MGNT_ADDR:$((MGNT_HTTP_PORT + PORT_OFFSET)) --connect $@"
 $JBOSS_HOME/bin/jboss-cli.sh  --controller=$MGNT_ADDR:$((MGNT_HTTP_PORT + PORT_OFFSET)) --connect $@ $JBOSS_HOME/bin/jboss-cli.sh  --controller=$MGNT_ADDR:$((MGNT_HTTP_PORT + PORT_OFFSET)) --connect $@
 +
 </code> </code>
 </WRAP> </WRAP>
  
 +===== jstat.sh =====
 +<WRAP prewrap>
 +<code vim jstat.sh>
 +#!/bin/sh
 +##############################################
 +# instance    : template
 +# description : jvm status script
 +# date        : 2014-10-07
 +# author      : kwlee2@linuxdata.co.kr
 +##############################################
 +ABSOLUTE_PATH="$(cd $(dirname "$0") && pwd -P)"
 +PROFILE_PATH="${ABSOLUTE_PATH%/*}"
 +DIR_NAME="${PROFILE_PATH##*/}" # bin dir
 +#DIR_NAME="${ABSOLUTE_PATH##*/}" # root dir
 +
 +. $ABSOLUTE_PATH/jboss.env
 +
 +INTERVAL=${1:-1}
 +
 +PID=`ps -ef | grep java | grep "NODE_NAME=$NODE_NAME" | grep "jboss.server.base.dir=$SERVER_BASE_DIR" | awk '{print $2}'`
 +echo "PID:$PID"
 +
 +if [ "$PID" == "" ]
 +then
 +    echo "$NODE_NAME is not running";
 +    exit 1;
 +fi
 +
 +echo "jstat -gc $PID $((INTERVAL*1000))"
 +jstat -gc $PID $(($INTERVAL*1000))
 +# EOF
 +</code>
 +</WRAP>
  
 ===== kill.sh ===== ===== kill.sh =====
줄 278: 줄 580:
 ############################################## ##############################################
 ABSOLUTE_PATH="$(cd $(dirname "$0") && pwd -P)" ABSOLUTE_PATH="$(cd $(dirname "$0") && pwd -P)"
-DIR_NAME="${ABSOLUTE_PATH##*/}"+PROFILE_PATH="${ABSOLUTE_PATH%/*}" 
 +DIR_NAME="${PROFILE_PATH##*/}" # bin dir 
 +#DIR_NAME="${ABSOLUTE_PATH##*/}" # root dir
  
 . $ABSOLUTE_PATH/jboss.env . $ABSOLUTE_PATH/jboss.env
줄 296: 줄 600:
 echo "Killing down SERVER $NODE_NAME..." echo "Killing down SERVER $NODE_NAME..."
 sleep 10 sleep 10
 +
 +</code>
 +</WRAP>
 +
 +===== status.sh =====
 +<WRAP prewrap>
 +<code vim status.sh>
 +#!/bin/sh
 +##############################################
 +# instance    : template
 +# description : instance start script
 +# date        : 2014-10-07
 +# author      : kwlee2@linuxdata.co.kr
 +##############################################
 +ABSOLUTE_PATH="$(cd $(dirname "$0") && pwd -P)"
 +PROFILE_PATH="${ABSOLUTE_PATH%/*}"
 +DIR_NAME="${PROFILE_PATH##*/}" # bin dir
 +#DIR_NAME="${ABSOLUTE_PATH##*/}" # root dir
 +
 +. $ABSOLUTE_PATH/jboss.env
 +
 +PID=`ps -ef | grep java | grep "NODE_NAME=$NODE_NAME" | grep "jboss.server.base.dir=$SERVER_BASE_DIR" | awk '{print $2}'`
 +echo $PID
 +
 +if [ "$PID" == "" ]
 +then
 +    echo "JBoss SERVER - [$NODE_NAME] is NOT RUNNING..."
 +    exit 1;
 +else
 +    echo "JBoss SERVER - [$NODE_NAME] is RUNNING PID : ${PID}"
 +    exit 0;
 +fi
 +</code>
 +</WRAP>
 +
 +
 +===== multicast_send.sh =====
 +<WRAP prewrap>
 +<code vim multicast_send.sh>
 +#!/bin/sh
 +##############################################
 +# instance    : template
 +# description : jvm status script
 +# date        : 2014-10-07
 +# author      : kwlee2@linuxdata.co.kr
 +##############################################
 +ABSOLUTE_PATH="$(cd $(dirname "$0") && pwd -P)"
 +PROFILE_PATH="${ABSOLUTE_PATH%/*}"
 +DIR_NAME="${PROFILE_PATH##*/}" # bin dir
 +#DIR_NAME="${ABSOLUTE_PATH##*/}" # root dir
 +
 +. $ABSOLUTE_PATH/jboss.env
 +
 +java -cp $JBOSS_HOME/bin/client/jboss-client.jar org.jgroups.tests.McastSenderTest -mcast_addr $MULTICAST_ADDR -port 5555
 +# EOF
 +</code>
 +</WRAP>
 +
 +===== multicast_recv.sh =====
 +<WRAP prewrap>
 +<code vim multicast_recev.sh>
 +#!/bin/sh
 +##############################################
 +# instance    : template
 +# description : jvm status script
 +# date        : 2014-10-07
 +# author      : kwlee2@linuxdata.co.kr
 +##############################################
 +ABSOLUTE_PATH="$(cd $(dirname "$0") && pwd -P)"
 +PROFILE_PATH="${ABSOLUTE_PATH%/*}"
 +DIR_NAME="${PROFILE_PATH##*/}" # bin dir
 +#DIR_NAME="${ABSOLUTE_PATH##*/}" # root dir
 +
 +. $ABSOLUTE_PATH/jboss.env
 +
 +java -cp $JBOSS_HOME/bin/client/jboss-client.jar org.jgroups.tests.McastReceiverTest -mcast_addr $MULTICAST_ADDR -port 5555
 +# EOF
 </code> </code>
 </WRAP> </WRAP>
줄 311: 줄 692:
 ############################################## ##############################################
 ABSOLUTE_PATH="$(cd $(dirname "$0") && pwd -P)" ABSOLUTE_PATH="$(cd $(dirname "$0") && pwd -P)"
-DIR_NAME="${ABSOLUTE_PATH##*/}"+PROFILE_PATH="${ABSOLUTE_PATH%/*}" 
 +DIR_NAME="${PROFILE_PATH##*/}"  # bin dir 
 +#DIR_NAME="${ABSOLUTE_PATH##*/}"        # root dir 
 + 
 +. $ABSOLUTE_PATH/jboss.env 
 + 
 +PID=`ps -ef | grep java | grep "NODE_NAME=$NODE_NAME " | awk '{print $2}'
 +echo "PID:$PID" 
 + 
 +if [ "$PID" == ""
 +then 
 +    echo "JBoss SERVER - [$NODE_NAME] is NOT RUNNING..." 
 +    exit 1; 
 +fi 
 + 
 +#echo -n "Account:" 
 +#read USERNAME 
 +#echo -n "Password:" 
 +#read -s PASSWORD 
 +#echo "" 
 + 
 +if [ "$PORT_OFFSET" != ""
 +then 
 + MGNT_HTTP_PORT=$(( $MGNT_HTTP_PORT + $PORT_OFFSET )) 
 +fi 
 + 
 +if [ "$MGNT_ADDR" == "0.0.0.0"
 +then 
 + MGNT_ADDR="127.0.0.1" 
 +fi 
 + 
 +echo "$JBOSS_HOME/bin/jboss-cli.sh --connect --controller=$MGNT_ADDR:$MGNT_HTTP_PORT --command=shutdown" 
 +$JBOSS_HOME/bin/jboss-cli.sh --connect --controller=$MGNT_ADDR:$MGNT_HTTP_PORT --command=shutdown 
 + 
 +if [ $? != 0 ] 
 +then 
 +        exit 1 
 +fi 
 + 
 +echo "Server $NODE_NAME Shutting Down..." 
 +while true 
 +do 
 +PID=`ps -ef | grep java | grep "NODE_NAME=$NODE_NAME " | awk '{print $2}'
 +echo "PID:$PID" 
 + 
 +        if [ "$PID" == ""
 +        then 
 + echo "Shutdown complete" 
 +                break 
 +        fi 
 +        sleep 2 
 +done 
 +echo "Done." 
 + 
 +</code> 
 +</WRAP> 
 + 
 +===== shutdown_pw.sh ===== 
 + 
 +<WRAP prewrap> 
 +<code vim shutdown_pw.sh> 
 +#!/bin/sh 
 +############################################## 
 +# instance    : template 
 +# description : instance start script 
 +# date        : 2014-10-07 
 +# author      : kwlee2@linuxdata.co.kr 
 +############################################## 
 +ABSOLUTE_PATH="$(cd $(dirname "$0") && pwd -P)" 
 +PROFILE_PATH="${ABSOLUTE_PATH%/*}" 
 +DIR_NAME="${PROFILE_PATH##*/}"  # bin dir 
 +#DIR_NAME="${ABSOLUTE_PATH##*/}"        # root dir
  
 . $ABSOLUTE_PATH/jboss.env . $ABSOLUTE_PATH/jboss.env
줄 363: 줄 815:
 </code> </code>
 </WRAP> </WRAP>
 +
  
 ===== start.sh ===== ===== start.sh =====
줄 376: 줄 829:
 ############################################## ##############################################
 ABSOLUTE_PATH="$(cd $(dirname "$0") && pwd -P)" ABSOLUTE_PATH="$(cd $(dirname "$0") && pwd -P)"
-DIR_NAME="${ABSOLUTE_PATH##*/}"+PROFILE_PATH="${ABSOLUTE_PATH%/*}" 
 +DIR_NAME="${PROFILE_PATH##*/}" # bin dir 
 +#DIR_NAME="${ABSOLUTE_PATH##*/}" # root dir
  
 . $ABSOLUTE_PATH/jboss.env . $ABSOLUTE_PATH/jboss.env
줄 399: 줄 854:
 then then
  echo -e "\e[33mWARNING\e[0m : \e[32mDIRECTORY and NODE_NAME are not same\e[0m"  echo -e "\e[33mWARNING\e[0m : \e[32mDIRECTORY and NODE_NAME are not same\e[0m"
 + echo -e "ABSOLUTE_PATH=$ABSOLUTE_PATH"
 + echo -e "PROFILE_PATH=$PROFILE_PATH"
 + echo -e "DIR_NAME=$DIR_NAME"
 + echo -e "NODE_NAME=$NODE_NAME"
  echo -e "\e[33mWARNING\e[0m : Program Exit."  echo -e "\e[33mWARNING\e[0m : Program Exit."
  exit 2  exit 2
줄 419: 줄 878:
 fi fi
  
-nohup $JBOSS_HOME/bin/standalone.sh -P=$SERVER_BASE_DIR/jboss.properties >> $LOG_HOME/jboss_console.log 2>&1 &+nohup $JBOSS_HOME/bin/standalone.sh -P=$SERVER_BIN_DIR/jboss.properties >> $LOG_HOME/jboss_console.log 2>&1 &
  
 exit 0 exit 0
 # EOF # EOF
 +
 </code> </code>
 </WRAP> </WRAP>
 +===== thread_dump.sh =====
  
 +<WRAP prewrap>
 +<code vim thread_dump.sh>
 +#!/bin/sh
 +##############################################
 +# instance    : template
 +# description : java thread dump script
 +# date        : 2014-10-07
 +# author      : kwlee2@linuxdata.co.kr
 +##############################################
 +ABSOLUTE_PATH="$(cd $(dirname "$0") && pwd -P)"
 +PROFILE_PATH="${ABSOLUTE_PATH%/*}"
 +DIR_NAME="${PROFILE_PATH##*/}" # bin dir
 +#DIR_NAME="${ABSOLUTE_PATH##*/}" # root dir
 +
 +. $ABSOLUTE_PATH/jboss.env
 +
 +PID=`ps -ef | grep java | grep "NODE_NAME=$NODE_NAME" | grep "jboss.server.base.dir=$SERVER_BASE_DIR" | awk '{print $2}'`
 +echo "PID:$PID"
 +
 +if [ "$PID" == "" ]
 +then
 +    echo "$NODE_NAME is not running";
 +    exit 1;
 +fi
 +
 +for count in {1..5}
 +do
 +    echo "`date` Thread Dump : $count"
 +
 +    echo "jstack -l $PID >> $PID-thread_dump-$DATE-$count.dmp"
 +    jstack -l $PID >> $PID-thread_dump-$DATE-$count.dmp
 +
 +    echo "sleep 1 sec"
 +    sleep 1
 +done
 +
 +</code>
 +</WRAP>
  
 ===== sysctl.conf ===== ===== sysctl.conf =====
  • jboss_eap_general_configuration_script.1582779546.txt.gz
  • 마지막으로 수정됨: 2020/02/27 04:59
  • 저자 koov