JBoss setup within OSR environment
Howto setup a jboss node within an OSR environment
Abstract
Howto setup a jboss node within an OSR environment.
Setup a JBoss clusternode
Normally you would just copy the template for the node from $JBOSS_HOME/server (all, default, ..) and configure your server.xml according to this.
Possible hostdependencies:
- {JBOSS_HOME}/server/{NODENAME}/tmp: Create manually
- {JBOSS_HOME}/server/{NODENAME}/log: Create manually
- {JBOSS_HOME}/server/{NODENAME}/data: Create manually
- {JBOSS_HOME}/server/{NODENAME}/work: Create manually
- {JBOSS_HOME}/server/{NODENAME}/deploy/jbossweb.sar/server.xml
Create clusterglobal environment:
[root@axqad120-4 server]# cp -a node01 clusternodeglobal
[root@axqad120-4 server]#
[root@axqad120-4 server]# rm -rf clusternodeglobal/{data,log,tmp,work}
[root@axqad120-4 server]# mkdir clusternodeglobal/{data,log,tmp,work}
[root@axqad120-4 server]# com-mkcdsl -a /server/java/jboss-5.1.0.GA/server/clusternodeglobal/log
[root@axqad120-4 server]# com-mkcdsl -a /server/java/jboss-5.1.0.GA/server/clusternodeglobal/data
[root@axqad120-4 server]# com-mkcdsl -a /server/java/jboss-5.1.0.GA/server/clusternodeglobal/tmp
[root@axqad120-4 server]# com-mkcdsl -a /server/java/jboss-5.1.0.GA/server/clusternodeglobal/work
[root@axqad120-4 server]# ls -l clusternodeglobal/
total 40
drwxr-xr-x 6 root root 3864 May 22 2009 conf
lrwxrwxrwx 1 root root 82 Dec 8 16:11 data -> ../../../../../cdsl.local/server/java/jboss-5.1.0.GA/server/clusternodeglobal/data
drwxr-xr-x 19 root root 3864 Dec 8 12:07 deploy
drwxr-xr-x 12 root root 3864 May 22 2009 deployers
drwxr-xr-x 2 root root 3864 May 22 2009 deploy-hasingleton
drwxr-xr-x 2 root root 3864 May 22 2009 farm
drwxr-xr-x 2 root root 3864 May 22 2009 lib
lrwxrwxrwx 1 root root 81 Dec 8 16:11 log -> ../../../../../cdsl.local/server/java/jboss-5.1.0.GA/server/clusternodeglobal/log
lrwxrwxrwx 1 root root 81 Dec 8 16:11 tmp -> ../../../../../cdsl.local/server/java/jboss-5.1.0.GA/server/clusternodeglobal/tmp
lrwxrwxrwx 1 root root 82 Dec 8 16:11 work -> ../../../../../cdsl.local/server/java/jboss-5.1.0.GA/server/clusternodeglobal/work
[root@axqad120-4 server]# ln -s clusternodeglobal axqad120-1
[root@axqad120-4 server]# ln -s clusternodeglobal axqad120-2
[root@axqad120-4 server]# ls -l
total 40
drwxr-xr-x 8 root root 3864 May 22 2009 all
lrwxrwxrwx 1 root root 17 Dec 8 16:16 axqad120-1 -> clusternodeglobal
lrwxrwxrwx 1 root root 17 Dec 8 16:16 axqad120-2 -> clusternodeglobal
drwxr-xr-x 8 root root 3864 Dec 8 16:16 clusternodeglobal
drwxr-xr-x 6 root root 3864 May 22 2009 default
drwxr-xr-x 6 root root 3864 May 22 2009 minimal
drwxr-xr-x 12 root root 3864 Nov 5 15:50 node01
drwxr-xr-x 12 root root 3864 Dec 8 15:55 node02
drwxr-xr-x 6 root root 3864 May 22 2009 standard
drwxr-xr-x 6 root root 3864 May 22 2009 web
Generic startup /server/java/jboss/bin/run-clusternode.sh:
This only runs with Red Hat Cluster as the called commands are dependent on it.
#!/bin/bash
DIR=$(dirname $0)
INTERNALNIC=eth0
PUBLICNIC=eth1
PEERID=$(cman_tool status | grep "Node ID:" | sed -e 's/^Node ID:\s*//i')
NODENAME=$(cman_tool status | grep "Node name:" | sed -e 's/^Node name:\s*//i')
INTERNALNET=$(ip addr show dev $INTERNALNIC | grep "inet " | awk '{ print $2;}' | sed -e 's/\/[0-9]*$//')
PUBLICNET=$(ip addr show dev $PUBLICNIC | grep "inet " | awk '{ print $2;}' | sed -e 's/\/[0-9]*$//')
$DIR/run.sh -c $NODENAME -Djgroups.bind_addr=$INTERNALNET -Djboss.messaging.ServerPeerID=$PEERID -Dprotix.jvmroute=$NODENAME -b $PUBLICNET
Generic server.xml /server/java/jboss/server/clusternodeglobal/deploy/jbossweb.sar/server.xml:
..
<Engine name="jboss.web" defaultHost="localhost" jvmRoute="${protix.jvmroute}">
..