Nov 15, 2011

Αυτόματη εκκίνηση Node Manager, Administrator Server και Managed Server στο Linux

Ας καταγράψουμε ένα παράδειγμα αυτόματου (automatic) startup script για μια τοπολογία Weblogic με Node Manager, έναν Managed Server και έναν Administrator Server. To περιβάλλον είναι βασισμένο σε Oracle Enterprise Linux 5 (5.6) ενώ το Weblogic domain είναι ρυθμισμένο σε production mode. Προτού ξεκινήσουμε φροντίζουμε να αποθηκεύσουμε για τον Administrator Server μας τα security credentials στο περιβόητο AdminServer/security/boot.properties αρχείο με την δομή:

username=<username>
password=<password>

Έπειτα δημιουργούμε το αρχείο /etc/init.d/weblogic που θα αναλάβει την αυτόματη εκκίνηση των στοιχείων του domain μας. Ενδεικτικά τα περιεχόμενα του έχουν ως εξής:

#! /bin/bash
#
# Automatic start of Weblogic services
#
# chkconfig: 345 20 80
# description: Starts and stops the Oracle Weblogic
#
# /etc/rc.d/init.d/oracle
MIDDLEWARE_HOME=
/opt/app/Oracle/Middleware
DOMAIN_HOME=$MIDDLEWARE_HOME/user_projects/domains/my_domain

start() {
echo -n $"Starting Oracle Weblogic: "
# Start Admin Server
/bin/su - weblogic -c "nohup $DOMAIN_HOME/startWebLogic.sh > /dev/null &"
# Start Node Manager
/bin/su - weblogic -c "nohup $MIDDLEWARE_HOME/wlserver_10.3/server/bin/startNodeManager.sh
>
/dev/null &"
# Start Managed Server
/bin/su - weblogic -c "nohup $DOMAIN_HOME/bin/startManagedWebLogic.sh managed_server
> /dev/null &"
}

stop() {
echo -n $"Stopping Oracle Weblogic: "
# Stop node manager
ps -ef|grep -i NodeManager|grep java |grep -v grep|awk '{print $2}'|xargs kill -9 && sleep 5
# Stop managed server
/bin/su - weblogic -c "nohup $DOMAIN_HOME/bin/stopManagedWebLogic.sh managed_server
> /dev/null &"
sleep 15
# Stop admin server
/bin/su - weblogic -c "nohup $DOMAIN_HOME/bin/stopManagedWebLogic.sh AdminServer > /dev/null &"
}

status() {
STATUS=`ps -ef|grep -i weblogic|grep java |wc -l`
echo "Number of weblogic processes running:$STATUS"
}

case $1 in
start)
start
;;
stop)
stop
;;
status)
status
;;
*)
echo "Usage $0 {start|stop|status}" > &2
exit 1
;;
esac

exit 0

Ορίζουμε το script μας ως job της εκκίνησης:
chmod +x /etc/init.d/weblogic
/sbin/chkconfig --add weblogic

Περισσότερες πληροφορίες ή προσεγγίσεις για την αυτόματη εκκίνηση υπηρεσιών του weblogic θα βρείτε εδώ και εδώ.

2 comments:

Spyros Doulgeridis said...

Οπως παντα εξαιρετικο post!
Ερωτηση: Τα credential ειναι plain text στο boot.properties. Μπορουμε να τα εχουμε και σε encrypted μορφη?

Thanx!

Serafeim Karapatis said...

Ευχαριστώ !

Με την πρώτη εκκίνηση του managed server, τα αρχικά credentials στο boot.properties θα κρυπτογραφηθούν αυτόματα.