JBoss EAP General configuration script
add-user.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)" PROFILE_PATH="${ABSOLUTE_PATH%/*}" DIR_NAME="${PROFILE_PATH##*/}" # bin dir #DIR_NAME="${ABSOLUTE_PATH##*/}" # root dir . $ABSOLUTE_PATH/jboss.env JAVA_OPTS="$JAVA_OPTS -Djboss.server.config.user.dir=$SERVER_BASE_DIR/configuration " #$JBOSS_HOME/bin/add-user.sh $@ $JBOSS_HOME/bin/add-user.sh
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
jboss.env
JDK 1.8 이상 버전을 위한 환경파일
################################################## # 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" ################################################## # 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
JDK 1.4 ~ 11버전을 위한 환경파일
################################################## # description : JBoss EAP 7.x Standalone # date : 2017-05-11 # 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" # "cms", "parallel", "g1"(only jdk 7u4 or greater) USE_LARGEPAGE="false" # "true", "false" ################################################## # 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 -XX:+DoEscapeAnalysis" JAVA_OPTS="$JAVA_OPTS -Xms2048m" JAVA_OPTS="$JAVA_OPTS -Xmx4096m" ### Garbage Collection Options JAVA_OPTS="$JAVA_OPTS -verbose:gc" JAVA_OPTS="$JAVA_OPTS -XX:+HeapDumpOnOutOfMemoryError" JAVA_OPTS="$JAVA_OPTS -XX:HeapDumpPath=$LOG_HOME/" # Use on x86_64 JAVA_OPTS="$JAVA_OPTS -XX:+UseCompressedOops" ### Collector type : CMS(low pause) if [ $GC_TYPE == "cms" ]; then JAVA_OPTS="$JAVA_OPTS -XX:+UseConcMarkSweepGC" JAVA_OPTS="$JAVA_OPTS -XX:+CMSClassUnloadingEnabled" JAVA_OPTS="$JAVA_OPTS -XX:+UseParNewGC" JAVA_OPTS="$JAVA_OPTS -XX:+ExplicitGCInvokesConcurrent" JAVA_OPTS="$JAVA_OPTS -XX:CMSInitiatingOccupancyFraction=80" JAVA_OPTS="$JAVA_OPTS -XX:CMSIncrementalSafetyFactor=20" JAVA_OPTS="$JAVA_OPTS -XX:+UseCMSInitiatingOccupancyOnly" ### Collector type : Parallel (throughput) elif [ $GC_TYPE == "parallel" ]; then JAVA_OPTS="$JAVA_OPTS -XX:+UseParallelGC" JAVA_OPTS="$JAVA_OPTS -XX:+UseParallelOldGC" ### Collector type : G1 (low pause) ONLY USE for JDK 7u4 or greater elif [ $GC_TYPE == "g1" ]; then JAVA_OPTS="$JAVA_OPTS -XX:+UseG1GC" JAVA_OPTS="$JAVA_OPTS -XX:+ExplicitGCInvokesConcurrent" JAVA_OPTS="$JAVA_OPTS -XX:MaxGCPauseMillis=500" else echo "ERROR: GC_TYPE is NOT SET!!!"; exit 1; fi ########################### # Setting for JVM Versions if [ $JAVA_VER_MAJOR -ge 11 ]; then JAVA_OPTS="$JAVA_OPTS -Xlog:gc*:file=$LOG_HOME/gc-%p-%t.log:tags,uptime,time,level:filecount=10,filesize=50m" else 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" 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 ### Linux Large Page Setting if [ $USE_LARGEPAGE == "true" ]; then JAVA_OPTS="$JAVA_OPTS -XX:+UseLargePages"; 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" ################################################## # 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
jboss.properties
JBoss EAP 7 이후 버전에서는
org.apache.catalina.connector.URI_ENCODING=UTF-8
org.apache.catalina.connector.USE_BODY_ENCODING_FOR_QUERY_STRING=true
두가지 프로퍼티가 사용되지 않으므로 사실상 무시된다.
org.apache.catalina.connector.URI_ENCODING=UTF-8 org.apache.catalina.connector.USE_BODY_ENCODING_FOR_QUERY_STRING=true org.hornetq.core.message.impl.HDR_DUPLICATE_DETECTION_ID=$NODE_NAME # Cluster Property jvmRoute=$NODE_NAME
jboss-cli.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 #export JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=false " if [ "$MGNT_ADDR" == "0.0.0.0" ] then MGNT_ADDR=127.0.0.1 fi 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 $@
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
kill.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; fi #ps -ef | grep java | grep "NODE_NAME=$NODE_NAME" | grep "jboss.server.base.dir=$SERVER_BASE_DIR" | awk {'print "kill -9 " $2'} | sh -x kill -9 $PID echo "Killing down SERVER $NODE_NAME..." sleep 10
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
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
multicast_recv.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
shutdown.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 " | 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."
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 PID=`ps -ef | grep java | grep "NODE_NAME=$NODE_NAME " | awk '{print $2}'` echo $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 --user=$USERNAME --password=$PASSWORD --command=shutdown" $JBOSS_HOME/bin/jboss-cli.sh --connect --controller=$MGNT_ADDR:$MGNT_HTTP_PORT --user=$USERNAME --password=$PASSWORD --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 break fi sleep 2 done echo "Done."
start.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 " | awk '{print $2}'` echo $PID if [ "$PID" != "" ] then echo "JBoss SERVER - [$NODE_NAME] is already RUNNING..." exit 1; fi if [ -z "$NODE_NAME" ] then echo -e "\e[33mWARNING\e[0m : \e[32mjboss.env is not configured.\e[0m" echo -e "\e[33mWARNING\e[0m : Program Exit." exit 1 fi if [ "$DIR_NAME" != "$NODE_NAME" ] then 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." exit 2 fi if [ "$JBOSS_USER" != "$UNAME" ] then echo -e "\e[33mWARNING\e[0m : Current User is [\e[31m$UNAME\e[0m]. MUST run to [\e[32m$JBOSS_USER\e[0m]." echo -e "\e[33mWARNING\e[0m : Program Exit." exit 3 fi if [ ! -e "$JBOSS_HOME" -o ! -e "$SERVER_HOME" ]; then echo "JBOSS_HOME or SERVER_HOME is not Exists"; exit 4 fi if [ ! -d "$LOG_HOME" ]; then mkdir -p $LOG_HOME fi nohup $JBOSS_HOME/bin/standalone.sh -P=$SERVER_BIN_DIR/jboss.properties >> $LOG_HOME/jboss_console.log 2>&1 & exit 0 # EOF
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
sysctl.conf
# Allow a 25MB UDP receive buffer for JGroups net.core.rmem_max = 26214400 # Allow a 1MB UDP send buffer for JGroups net.core.wmem_max = 1048576 # 기본값도 같이 변경해준다. net.core.rmem_default = 26214400 net.core.wmem_default = 1048576
로그인하면 댓글을 남길 수 있습니다.