Выполнение JBoss-5.1.0. GA как услуга / демон на Red Hat?

Если необходимо отключить репликацию по какой-либо причине и перезапустить ее (или, только начав в первый раз) она имеет тенденцию заставлять ОБА сервера становиться почти небыстро реагирующими в то время как в процессе. Однажды и работающий (и оставленный в покое), это не примечательно хотя (по крайней мере, не для нас).

3
задан 28 July 2009 в 11:52
6 ответов

Какая-то конкретная причина, что Вы испытываете неприязнь к использованию сценария bin/jboss_init_redhat.sh SysV init, который уже появляется с JBoss 5.1.0. Общедоступная версия? Я использую его на нескольких RHEL и системах CentOS и не имею абсолютно никакой проблемы с JBoss, запускающим на перезагрузке.

Я только должен был сделать незначительное изменение, чтобы заставить это обрабатывать chkconfig без любых проблем. Это изменение состояло из следующей близости верхняя часть сценария:

--- bin/jboss_init_redhat.sh    2009-05-22 11:01:22.000000000 -0400
+++ /etc/rc.d/init.d/jboss  2009-06-07 22:05:17.000000000 -0400
@@ -4,6 +4,10 @@
 #
 # JBoss Control Script
 #
+# chkconfig: - 85 15
+# description: JBoss Application Server
+# processname: jboss
+
 # To use this script run it as root - it will switch to the specified user
 #
 # Here is a little (and extremely primitive) startup/shutdown script

Я затем просто скопировал его в/etc/rc.d/init.d как jboss и работал chkconfig --add jboss. Можно проверить, что это работает в chkconfig --list jboss и посмотрите, что это установлено на на для runlevels, который Вы хотите, обычно 2-5, который это активирует.

2
ответ дан 3 December 2019 в 06:24

Удалите оценку из строки запуска. Кроме того, набор JBOSS_CONSOLE, таким образом, это не перенаправляет все ошибки к/dev/null.

0
ответ дан 3 December 2019 в 06:24

Необходимо будет добавить jboss пользователя для него для выполнения правильно. Согласно сценарию, как дали выше, это назвали бы "jboss" (без кавычек).

[root@destination-host ~]# /usr/sbin/useradd jboss

Единственным способом заставить сценарий работать как пользователь root состоит в том, чтобы быть пользователь root при запуске его, или через sudo. Я категорически не рекомендовал бы выполнение JBoss по сути как корень.

0
ответ дан 3 December 2019 в 06:24

Предоставленный init сценарий довольно ужасен, и не очень надежен.

Я создал альтернативу init сценарий, который должен быть более устойчивым: https://jira.jboss.org/jira/browse/JBPAPP-3194

Вся обратная связь приветствуется!

1
ответ дан 3 December 2019 в 06:24

По некоторым причинам распределение JBoss 5.1 EAP Red Hat пропускает bin/jboss_init_redhat.sh, хотя HPUX и версии Соляриса там, который немного сбивает с толку распределение Red Hat

Я полностью зарегистрировал процедуры установки демона здесь... http://www.forwardslashbin.com/?p=108

1
ответ дан 3 December 2019 в 06:24

In doing and working around same requirement I have come to following very brief changes

#!/bin/sh

# chkconfig: 345 90 10
# description: Runs the JBoss Application Server 5
# processname: jboss # pidfile: /var/run/jboss_m2i.pid

1 - The above points are made are made for chkconfig utility for service.

# $Id: jboss_init_redhat.sh 81068 2008-11-14 15:14:35Z dimitris@jboss.org $ # JBoss Control Script # To use this script run it as root - it will switch to the specified user # Here is a little (and extremely primitive) startup/shutdown script # for RedHat systems. It assumes that JBoss lives in /usr/local/jboss, # it's run by user 'jboss' and JDK binaries are in /usr/local/jdk/bin. # All this can be changed in the script itself. # # Either modify this script for your requirements or just ensure that # the following variables are set correctly before calling the script.

#define where jboss is - this is the directory containing directories log, bin, conf etc 2 - Here you have to give your jboss server home location. JBOSS_HOME=${JBOSS_HOME:-"/home/jboss_user/servers/jboss/jboss-5.1.0.GA"}

3- point three of modification

#define the user under which jboss will run, or use 'RUNASIS' to run as the current user JBOSS_USER=${JBOSS_USER:-"jboss_user"}

#make sure java is in your path JAVAPTH=${JAVAPTH:-"/usr/java/jdk1.7.0_04/bin"}

4 - Point 4 where server profile is specified #configuration to use, usually one of 'minimal', 'default', 'all' , 'test' JBOSS_CONF=${JBOSS_CONF:-"test"}

5 - point 5 where binding address is specified. This point is very important if you assign it 0.0.0.0 the rmi / jndi exception will be raised.

#if JBOSS_HOST specified, use -b to bind jboss services to that address JBOSS_BIND_ADDR=${JBOSS_HOST:-"10.168.1.10"}

6 - Point 6 variables which should be defined to shutdown the server. here 1299 depends on your port off-set change into your binding configuration $JBOSS_HOME/server/server_def_profile/conf/bindingservice.beans/META-INF/bindings-jboss-beans.xml 6.0 this can be checked by -- netstat command

# porta do JNDI service do JBoss (usada para shutdown) JBOSS_JNP_PORT=${JBOSS_JNP_PORT:-"1299"} JBOSS_ADMIN_USER=${JMX_USER:-"admin"} JBOSS_ADMIN_PWD=${JMX_PWD:-"admin"}

#define the classpath for the shutdown class JBOSSCP=${JBOSSCP:-"$JBOSS_HOME/bin/shutdown.jar:$JBOSS_HOME/client/jnet.jar"}

7 . Point 7 of modification. in running script. This different from standard distribution.

#define the script to use to start jboss JBOSSSH=${JBOSSSH:-"$JBOSS_HOME/bin/run.sh -c $JBOSS_CONF -b $JBOSS_BIND_ADDR"}

if [ "$JBOSS_USER" = "RUNASIS" ]; then SUBIT="" else SUBIT="su - $JBOSS_USER -c " fi

if [ -n "$JBOSS_CONSOLE" -a ! -d "$JBOSS_CONSOLE" ]; then # ensure the file exists touch $JBOSS_CONSOLE if [ ! -z "$SUBIT" ]; then chown $JBOSS_USER $JBOSS_CONSOLE fi fi

if [ -n "$JBOSS_CONSOLE" -a ! -f "$JBOSS_CONSOLE" ]; then echo "WARNING: location for saving console log invalid: $JBOSS_CONSOLE" echo "WARNING: ignoring it and using /dev/null" JBOSS_CONSOLE="/dev/null" fi

#define what will be done with the console log JBOSS_CONSOLE=${JBOSS_CONSOLE:-"/dev/null"}

JBOSS_CMD_START="cd $JBOSS_HOME/bin; $JBOSSSH"

8 - Point 8 , one of the major modification to shutdown the server using service command.

JBOSS_CMD_STOP=${JBOSS_CMD_STOP:-"java -classpath $JBOSSCP org.jboss.Shutdown --shutdown \ -s jnp://$JBOSS_BIND_ADDR:$JBOSS_JNP_PORT \ -u $JBOSS_ADMIN_USER -p $JBOSS_ADMIN_PWD"} if [ -z "echo $PATH | grep $JAVAPTH" ]; then export PATH=$PATH:$JAVAPTH fi

if [ ! -d "$JBOSS_HOME" ]; then echo JBOSS_HOME does not exist as a valid directory : $JBOSS_HOME exit 1 fi

echo JBOSS_CMD_START = $JBOSS_CMD_START

case "$1" in start) cd $JBOSS_HOME/bin if [ -z "$SUBIT" ]; then eval $JBOSS_CMD_START >${JBOSS_CONSOLE} 2>&1 & else $SUBIT "$JBOSS_CMD_START >${JBOSS_CONSOLE} 2>&1 &" fi ;; stop) if [ -z "$SUBIT" ]; then $JBOSS_CMD_STOP else $SUBIT "$JBOSS_CMD_STOP" fi ;; restart) $0 stop $0 start ;; *) echo "usage: $0 (start|stop|restart|help)" esac

Use following command to add this script to chkconfig service and test

chkconfig --add jboss - to add

chkconfig --list jboss - to list

Use following command to run and stop the services.

service jboss start

service jboss stop

0
ответ дан 3 December 2019 в 06:24

Теги

Похожие вопросы