サーバー基盤

【仮想サーバー構築】JBoss-EAPを設定する!【ドメイン構成】

RHEL7.5上にJBoss EAPを導入した後は、複数サーバーを一元管理できる「ドメイン構成」へと発展させることで、業務システムとしての運用性と拡張性を高めることができます。

ドメイン構成は、1台のマスター(Domain Controller)が全ノードの設定と起動を統制する仕組みで、環境全体を一括で管理できるのが特徴です。

本稿では、JBoss EAP 7.2を題材に、ドメイン構成の基本概念から、管理ユーザーの追加、host-master.xmlおよびhost-slave.xmlの設定、サービス自動起動の登録までを順を追って整理します。

Web-AP間の連携を安定稼働させるうえで欠かせない、AP層の中核的構成です。

現在のRHEL8以降の環境では、起動・停止スクリプト(init.d方式)はsystemd対応へ変更が必須です。
systemctlコマンドを用いたユニット管理へ移行することで、最新環境でも安定的に運用できます。

想定する構築環境

本記事では、クラスタ環境としてノード2台(ap01、ap02)での「ドメイン構成」を想定しています。また、1ノード2インスタンス構成をとり、障害発生時に自動縮退を行うものとして進めます。

jboss-eap設定の流れ

  1. クラスタ環境設定
  2. JBOSS-EAPの起動
  3. 管理コンソール設定
  4. サービス画面の表示確認
  5. JBOSS-EAP起動・停止・状態表示スクリプトの修正

JBoss-EAPを設定する

クラスタ環境設定

本記事では、ドメイン構成として、jboss-eapへクラスタ環境を構築していきます。

マスタ側(ap01)の設定

「$JBOSS_HOME/domain/configuration/host-master.xml」へドメインコントローラの設定を行います。 「ap01」側で作業を行います。

<host xmlns="urn:jboss:domain:8.0" name="ap01">
<domain-controller>
    <local/>
</domain-controller>
<interfaces>
    <interface name="management">
        <inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
    </interface>
    <interface name="public">
        <inet-address value="${jboss.bind.address:127.0.0.1}"/>
    </interface>
</interfaces>

1行目:「name」属性にマスタノード名を入力 例)「ap01」
3行目:「<local/>」となっていればドメインコントローラーとして動作します。
<local/>要素が含まれているとそのホストがドメインコントローラーとなるため、<local/>要素が有効になっていることを確認します。

スレイブ側(ap02)の設定

「$JBOSS_HOME/domain/configuration/host-slave.xml」へドメインコントローラの設定を行います。 「ap02」側で作業を行います。

<host xmlns="urn:jboss:domain:8.0" name="ap02">
<management>
    <security-realms>
        <security-realm name="ManagementRealm">
            <server-identities>
                <secret value="UEBzc1cwcmQ="/>
            </server-identities>
            <authentication>
(省略)
<domain-controller>
    <remote security-realm="ManagementRealm">
        <discovery-options>
            <static-discovery name="primary" protocol="${jboss.domain.master.protocol:remote+http}" host="${jboss.domain.master.address}" port="${jboss.domain.master.port:9990}"/>
        </discovery-options>
    </remote>
</domain-controller>
<interfaces>
    <interface name="management">
        <inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
    </interface>
    <interface name="public">
        <inet-address value="${jboss.bind.address:127.0.0.1}"/>
    </interface>
</interfaces>

1行目:「name」属性にマスタノード名を入力 例)「ap02」
5-7行目:jboss-eapでユーザー作成時に出力されたパスワードを記入します。
例)「 <secret value="UEBzc1cwcmQ=" /> 」
スレイブは、上記のパスワードを使用してマスタ側の管理CLIへアクセスします。

下記のログは「【仮想サーバ構築】サーブレットコンテナ(JBOSS)の導入【APサーバー】」の記事で、「8.JBOSS-EAP7.2.0の導入」⇒「④ スレイブ側の接続ユーザ(ap02)作成」時のログになります。
-bash-4.2$ cd /opt/jboss/EAP-7.2.0/bin
-bash-4.2$ pwd
/opt/jboss/EAP-7.2.0/bin
-bash-4.2$ ./add-user.sh

どのようなユーザータイプを追加しますか?
 a) 管理ユーザー (mgmt-users.properties)
 b) アプリケーションユーザー (application-users.properties)
(a): a

追加する新規ユーザーの詳細を入力します。
レルム 'ManagementRealm' を既存のプロパティーファイルで見つかったとおりに使用しています。
ユーザ名 : ap02
パスワードの推奨事項は以下のとおりです。この制限を変更するには、add-user.properties 設定ファイルを編集します。
 - パスワードとユーザー名は異なるものにする必要があります
 - パスワードは、制限された次の値のいずれかでない必要があります {root, admin, administrator}
 - パスワードは 8 文字, 1 英字, 1 文字, 1 文字 (英数字以外) 文字以上である必要があります
パスワード :
パスワードを再度入力してください。 :
このユーザーが所属するグループはどれですか? (カンマ区切りリストを入力してください。所属グループがない場合は空白のままにしてください。)[  ]: jboss
レルム 'ManagementRealm' にユーザー 'ap02' を追加します。
正しいですか yes/no? y
ユーザー 'ap02' をファイル '/opt/jboss/EAP-7.2.0/standalone/configuration/mgmt-users.properties' に 追加しました。
ユーザー 'ap02' をファイル '/opt/jboss/EAP-7.2.0/domain/configuration/mgmt-users.properties' に追加 しました。
グループ 'jboss' のユーザー 'ap02' をファイル '/opt/jboss/EAP-7.2.0/standalone/configuration/mgmt-groups.properties' に追加しました
グループ 'jboss' のユーザー 'ap02' をファイル '/opt/jboss/EAP-7.2.0/domain/configuration/mgmt-groups.properties' に追加しました
Is this new user going to be used for one AS process to connect to another AS process?
e.g. for a slave host controller connecting to the master or for a Remoting connection for server to server EJB calls.
yes/no? y
ユーザーを参照するには、server-identities 定義に以下を追加します。 <secret value="UEBzc1cwcmQ=" />
-bash-4.2$

30行目を右へにスクロールさせると、スレイブがマスターへアクセスする際のパスワードが出力されているのが分かります。<secret value="UEBzc1cwcmQ=" />

JBOSS-EAPの起動

マスター、スレイブの設定が完了したら、一旦jboss-eapを起動し、動作に問題がないことを確認します。

jbossの起動はマスタ→スレイブの順で起動します。
本記事では、起動コマンドでIPをそれぞれバインドする方式を用いるため、各設定ファイルへのIP情報は記述しません。

JBOSS-EAP (マスタ)起動

次のコマンドを実行して、jboss-eap(マスタ)側を起動します。

# 1行で入力します。

$ /opt/jboss/EAP-7.2.0/bin/domain.sh --host-config=host-master.xml -Djboss.bind.address.management=192.168.109.151 -Djboss.bind.address=192.168.109.151

実行後、コンソールへ下記のログが出力されていれば、正常起動が出来ています。

jboss-eap(マスタ)側サーバが起動しました。

エラーが出力される場合は、設定を再度見直してください。

JBOSS-EAP (スレイブ)起動

次のコマンドを実行して、jboss-eap(スレイブ)側を起動します。

# 1行で入力します。

$ /opt/jboss/EAP-7.2.0/bin/domain.sh --host-config=host-slave.xml -Djboss.domain.master.address=192.168.109.151 -Djboss.bind.address=192.168.109.152

実行後、コンソールへ下記のログが出力されていれば、正常起動が出来ています。

jboss-eap(スレイブ)側サーバが起動しました。

エラーが出力される場合は、設定を再度見直してください。

クラスタ環境の疎通ログ確認

スレイブ側のjboss-eapを起動すると、マスタ側のコンソールへ下記のログが出力されます。

スレイブ側(ap02)の接続が認識される。

JBOSS-EAP (スレイブ)起動後に、上記ログが出力されていれば、クラスタ環境が正常に認識されています。

管理コンソール設定

ここからは、管理コンソール(ブラウザ画面)による設定になります。

本環境はドメイン構成の為、全インスタンスの設定は、ホスト「ap01」の管理コンソールから行います。

管理コンソールへログイン

次のURLをブラウザへ入力して、jboss-eap(マスタ)管理コンソールへアクセスします。

URL:「<ap01のIPアドレス>:9990」

ログインダイアログボックスが表示されるため、下記の情報を入力してログインします。

ユーザー名:jboss-eap導入時に作成したユーザー(jb7admin)
パスワード: jboss-eap導入時に設定したパスワード(P@ssW0rd)

サーバー(インスタンス)の登録

ログイン成功後、管理コンソールのトップ画面が表示されます。

ログインに成功後、表示されるjboss-eapの管理コンソールトップ画面

サーバー(インスタンス)の登録

クラスタ環境が認識されている為、「ap01」「ap02」がホストとして登録されていることが分かります。

トップメニューから「Runtime」⇒「hosts」で「ap01」「ap02」が認識されていいます。

下記の情報を基に、各サーバー(インスタンス)を登録していきます。

NodeGroupName
(Server)
offsetInterfaceAutoStartsocket
ap01main-server-groupjbs110publicOFFfull-ha-sockets
jbs22100
ap02other-server-groupjbs210
jbs12100

「Runtime」⇒「Hosts」⇒「Host」⇒「ap01」⇒「+(追加)」をクリックし、サーバーを登録します。

Hostから「ap01」⇒「+」ボタンをクリック

設定項目

  • Name:インスタンス名
  • Auto Start:jboss-eap起動時にインスタンスの自動起動有無
  • Group:サーバーグループ名
  • Socket Binding Default Inteface:public(固定)
  • Socket Binding Group:full-ha-sockets
  • Socket Binding Port Offset:主系は「0」、復系は「100」
  • Update Auto Start With Server Status:OFF(固定)

すべてを登録すると以下のイメージの状態になります。
サーバー(インスタンス)はまだ起動していないため、黒いアイコンが表示されます。

main-server-group:「jbs11」「jbs22」

other-server-group:「jbs21」「jbs12」

サーバー(インスタンス)の起動

「Runtime」⇒「Hosts」⇒「Host」⇒「ap01」 ⇒「Start」でサーバを起動します。

ホスト「ap01」の「jbs11」を起動します。

同様に残る「jbs22」「jbs21」「jbs12」も起動します。

ホスト「ap01」の「jbs11」「jbs22」が起動している。
ホスト「ap02」の「jbs12」「jbs21」が起動している。

全インスタンスが起動しました。

サービス画面の表示確認

すべてのインスタンスが正常に画面表示できることを確認します。

URL:「 http://192.168.109.151:8080/ 」(ap01:jbs11)
URL:「 http://192.168.109.151:8180/ 」(ap01:jbs22)
URL:「 http://192.168.109.152:8080/ 」(ap02:jbs21)
URL:「 http://192.168.109.152:8180/ 」(ap02:jbs12)

すべてのURLで下記の画面が表示されていれば、正常に動作しています。

jboss-eapのサービス画面 例)は「jbs11」の画面

JBOSS-EAP起動・停止・状態表示スクリプトの修正

現在までに行ってきた設定でも、jboss-eapの起動に問題はないのですが、起動コマンドが長すぎる為、ちょっとめんどくさいですね。

jboss-eapの起動シェルは下記のディレクトリに準備されています。

起動シェルスクリプトの配置

/opt/jboss/EAP-7.2.0/bin/init.d

  • jboss-eap.conf(設定ファイル)
  • jboss-eap-rhel.sh(起動シェル)

デフォルトのままでは実用に耐えられないため、少し手を入れます。

JBOSS-EAPのログ出力及びPID用のディレクトリ作成

出力されるログとPIDのディレクトリを作成します。

# mkdir /var/run/jboss-eap
# chown jboss:jboss /var/run/jboss-eap/
# mkdir /var/log/jboss-eap/
# chown jboss:jboss /var/log/jboss-eap/

JBOSS-EAP設定ファイルの編集

起動の都度、いちいちコマンドを入力していくのは非常に大変です。

予め必要な情報を設定ファイルにまとめておくことにします。

下記の要素を設定ファイルに盛り込みます。

変数名使用有無
default location/etc/default/jboss-eap未使用
JAVA_HOME"/usr/lib/jvm/default-java"未使用
JBOSS_HOME/opt/jboss/EAP-7.2.0使用
JBOSS_USERjboss使用
JBOSS_PIDFILE/var/run/jboss-eap/jboss-eap.pid使用
JBOSS_MODEdomain使用
JBOSS_CONFIGstandalone.xml未使用
JBOSS_DOMAIN_CONFIGdomain.xml使用
JBOSS_HOST_CONFIGhost-master.xmlマスタ時
host-slave.xmlスレイブ時
STARTUP_WAIT60使用
SHUTDOWN_WAIT60未使用
JBOSS_CONSOLE_LOG/var/log/jboss-eap/console.log使用
JBOSS_MNGap01使用
JBOSS_OPTS--admin-only -b 127.0.0.1未使用

作成した設定ファイルを既存の「 jboss-eap.conf 」と差し替えます。
既存の「 jboss-eap.conf 」は「 jboss-eap.conf.old」とリネームして保存しておきます。

起動シェルスクリプトの配置

  • /opt/jboss/EAP-7.2.0/bin/init.d
    • jboss-eap.conf(設定ファイル)664
    • jboss-eap.conf.old(既存設定ファイル)
    • jboss-eap-rhel.sh(起動シェル)755
# General configuration for the init.d scripts,
# not necessarily for JBoss EAP itself.
# default location: /etc/default/jboss-eap

## Location of JDK
# JAVA_HOME="/usr/lib/jvm/default-java"

## Location of JBoss EAP
JBOSS_HOME="/opt/jboss/EAP-7.2.0"

## The username who should own the process.
JBOSS_USER=jboss

## PIDFILE
JBOSS_PIDFILE="/var/run/jboss-eap/jboss-eap.pid"

## The mode JBoss EAP should start, standalone or domain
JBOSS_MODE=domain

## Configuration for standalone mode
# JBOSS_CONFIG=standalone.xml

## Configuration for domain mode
JBOSS_DOMAIN_CONFIG=domain.xml
JBOSS_HOST_CONFIG=host-master.xml

## The amount of time to wait for startup
STARTUP_WAIT=60

## The amount of time to wait for shutdown
# SHUTDOWN_WAIT=60

## Location to keep the console log
JBOSS_CONSOLE_LOG="/var/log/jboss-eap/console.log"

## Management hostname
JBOSS_MNG="ap01"

## Additionals args to include in startup
# JBOSS_OPTS="--admin-only -b 127.0.0.1"

JBOSS_HOST_CONFIG」については、マスタ側で起動の場合「host-master.xml」、スレイブ側で起動の場合「host-slave.xml」と設定します。

JBOSS-EAP起動・停止・状態表示スクリプトの編集

JBOSS-EAP起動・停止・状態表示スクリプトを実用に耐えるように修正します。

作成した設定ファイルを既存の「 jboss-eap-rhel.sh 」と差し替えます。
既存の「 jboss-eap.conf 」は「 jboss-eap.conf.old」とリネームして保存しておきます。

起動シェルスクリプトの配置

  • /opt/jboss/EAP-7.2.0/bin/init.d
    • jboss-eap.conf(設定ファイル)664
    • jboss-eap.conf.old(既存設定ファイル)
    • jboss-eap-rhel.sh(起動シェル)755
    • jboss-eap-rhel.sh.old(既存起動シェル)
#!/bin/sh
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#
#  ver.1.0.0 2020.03.24
#
# Usage:
#     /opt/jboss/EAP-7.2.0/bin/init.d/jboss-eap-rhel.sh
#
# Description:
# JBoss EAP control script
#
# 	chkconfig: - 80 20
# 	description: JBoss EAP startup script
# 	processname: jboss-eap
# 	pidfile: /var/run/jboss-eap/jboss-eap.pid
# 	config: /opt/jboss/EAP-7.2.0/bin/init.d/jboss-eap.conf
#
# 設計書
#     
#
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

# Source function library.
. /etc/init.d/functions

# Load Java configuration.
[ -r /etc/java/java.conf ] && . /etc/java/java.conf
export JAVA_HOME

if [ -z "$JBOSS_NAME" ]; then
  JBOSS_NAME='jboss-eap'
fi

# Load JBoss EAP init.d configuration.
if [ -z "$JBOSS_CONF" ]; then
    JBOSS_CONF="/opt/jboss/EAP-7.2.0/bin/init.d/jboss-eap.conf"
fi

[ -r "$JBOSS_CONF" ] && . "${JBOSS_CONF}"

# Set defaults.

if [ -z "$JBOSS_HOME" ]; then
  JBOSS_HOME=/opt/$JBOSS_NAME
fi
export JBOSS_HOME

if [ -z "$JBOSS_PIDFILE" ]; then
  JBOSS_PIDFILE=/var/run/jboss-eap/$JBOSS_NAME.pid
fi
export JBOSS_PIDFILE

if [ -z "$JBOSS_CONSOLE_LOG" ]; then
  JBOSS_CONSOLE_LOG=/var/log/$JBOSS_NAME/console.log
fi

if [ -z "$STARTUP_WAIT" ]; then
  STARTUP_WAIT=30
fi

if [ -z "$SHUTDOWN_WAIT" ]; then
  SHUTDOWN_WAIT=30
fi

if [ -z "$JBOSS_LOCKFILE" ]; then
  JBOSS_LOCKFILE=/var/lock/subsys/$JBOSS_NAME
fi

# Startup mode of jboss-eap
if [ -z "$JBOSS_MODE" ]; then
  JBOSS_MODE=standalone
fi

if [ -z "$JBOSS_MNG" ]; then
  echo -n "JBOSS_MNG not found."
fi

HOSTNAME=`hostname -s`
if [ "host-master.xml" = "$JBOSS_HOST_CONFIG" ]; then
  JBOSS_BIND_ADDR="-Djboss.bind.address.management=$JBOSS_MNG -Djboss.bind.address=$JBOSS_MNG"
else
   JBOSS_BIND_ADDR="-Djboss.domain.master.address=$JBOSS_MNG -Djboss.bind.address=`hostname -s`"
fi

# Startup mode script
if [ "$JBOSS_MODE" = "standalone" ]; then
  JBOSS_SCRIPT=$JBOSS_HOME/bin/standalone.sh
  if [ -z "$JBOSS_CONFIG" ]; then
    JBOSS_CONFIG=standalone.xml
  fi
  JBOSS_MARKERFILE=$JBOSS_HOME/standalone/tmp/startup-marker
else
  JBOSS_SCRIPT="$JBOSS_HOME/bin/domain.sh"
  if [ -z "$JBOSS_DOMAIN_CONFIG" ]; then
    JBOSS_DOMAIN_CONFIG=domain.xml
  fi
  if [ -z "$JBOSS_HOST_CONFIG" ]; then
    JBOSS_HOST_CONFIG=host.xml
  fi
  JBOSS_MARKERFILE=$JBOSS_HOME/domain/tmp/startup-marker
fi

prog=$JBOSS_NAME
currenttime=$(date +%s%N | cut -b1-13)

start() {
  echo -n "Starting $prog: "
  if [ -f $JBOSS_PIDFILE ]; then
    read ppid < $JBOSS_PIDFILE
    if [ `ps --pid $ppid 2> /dev/null | grep -c $ppid 2> /dev/null` -eq '1' ]; then
      echo -n "$prog is already running"
      failure
  echo
    return 1
  else
    rm -f $JBOSS_PIDFILE
  fi
  fi
  mkdir -p $(dirname $JBOSS_CONSOLE_LOG)
  cat /dev/null > $JBOSS_CONSOLE_LOG

  mkdir -p $(dirname $JBOSS_PIDFILE)
  chown $JBOSS_USER $(dirname $JBOSS_PIDFILE) || true

  if [ ! -z "$JBOSS_USER" ]; then
    if [ "$JBOSS_MODE" = "standalone" ]; then
      if [ -r /etc/rc.d/init.d/functions ]; then
        cd $JBOSS_HOME
        daemon --user $JBOSS_USER LAUNCH_JBOSS_IN_BACKGROUND=1 JBOSS_PIDFILE=$JBOSS_PIDFILE "$JBOSS_SCRIPT -c $JBOSS_CONFIG $JBOSS_OPTS &" >> $JBOSS_CONSOLE_LOG 2>&1
        cd -
      else
        su - $JBOSS_USER -c "cd $JBOSS_HOME; LAUNCH_JBOSS_IN_BACKGROUND=1 JBOSS_PIDFILE=$JBOSS_PIDFILE $JBOSS_SCRIPT -c $JBOSS_CONFIG $JBOSS_OPTS" >> $JBOSS_CONSOLE_LOG 2>&1 &
      fi
    else
      if [ -r /etc/rc.d/init.d/functions ]; then
echo -n "$JBOSS_SCRIPT --domain-config=$JBOSS_DOMAIN_CONFIG --host-config=$JBOSS_HOST_CONFIG $JBOSS_BIND_ADDR $JBOSS_OPTS"
        cd $JBOSS_HOME
        daemon --user $JBOSS_USER LAUNCH_JBOSS_IN_BACKGROUND=1 JBOSS_PIDFILE=$JBOSS_PIDFILE "$JBOSS_SCRIPT --domain-config=$JBOSS_DOMAIN_CONFIG --host-config=$JBOSS_HOST_CONFIG $JBOSS_BIND_ADDR $JBOSS_OPTS &" >> $JBOSS_CONSOLE_LOG 2>&1
        cd -
      else
        su - $JBOSS_USER -c "cd $JBOSS_HOME; LAUNCH_JBOSS_IN_BACKGROUND=1 JBOSS_PIDFILE=$JBOSS_PIDFILE $JBOSS_SCRIPT --domain-config=$JBOSS_DOMAIN_CONFIG --host-config=$JBOSS_HOST_CONFIG $JBOSS_BIND_ADDR $JBOSS_OPTS" >> $JBOSS_CONSOLE_LOG 2>&1 &
      fi
    fi
  fi
echo
  count=0
  launched=false

  until [ $count -gt $STARTUP_WAIT ]
  do
    sleep 1
    let count=$count+1;
    if [ -f $JBOSS_MARKERFILE ]; then
      markerfiletimestamp=$(grep -o '[0-9]*' $JBOSS_MARKERFILE) > /dev/null
      if [ "$markerfiletimestamp" -gt "$currenttime" ] ; then
        grep -i 'success:' $JBOSS_MARKERFILE > /dev/null
        if [ $? -eq 0 ] ; then
          launched=true
          break
        fi
      fi
    fi
  done

  if [ "$launched" = "false" ] ; then
    echo "$prog started with errors, please see server log for details"
  fi

  touch $JBOSS_LOCKFILE
  success
  echo
  return 0
}

stop() {
  echo -n $"Stopping $prog: "
  count=0;

  if [ -f $JBOSS_PIDFILE ]; then
    read kpid < $JBOSS_PIDFILE
    let kwait=$SHUTDOWN_WAIT

    # Try issuing SIGTERM
    kill -15 $kpid
    until [ `ps --pid $kpid 2> /dev/null | grep -c $kpid 2> /dev/null` -eq '0' ] || [ $count -gt $kwait ]
      do
      sleep 1
      let count=$count+1;
    done

    if [ $count -gt $kwait ]; then
      kill -9 $kpid
    fi
  fi
  rm -f $JBOSS_PIDFILE
  rm -f $JBOSS_LOCKFILE
  success
  echo
}

status() {
  if [ -f $JBOSS_PIDFILE ]; then
    read ppid < $JBOSS_PIDFILE
    if [ `ps --pid $ppid 2> /dev/null | grep -c $ppid 2> /dev/null` -eq '1' ]; then
      echo "$prog is running (pid $ppid)"
      return 0
    else
      echo "$prog dead but pid file exists"
      return 1
    fi
  fi
  echo "$prog is not running"
  return 3
}

case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    $0 stop
    $0 start
    ;;
  status)
    status
    ;;
  *)
    ## If no parameters are given, print which are avaiable.
    echo "Usage: $0 {start|stop|status|restart}"
    exit 1
    ;;
esac

 本スクリプト利用により発生した利用者の損害全てに対し、いかなる責任をも負わないものとし、損害賠償をする一切の義務はないものとします。

起動シェルを使用したJBOSS-EAPの起動

ここでいったん、起動シェルが正常に動作することを確認します。

シェルの所有権は「jboss」にありますが、ここでは「root」権限で実行します。
シェルの中身でPID出力先等、「root」権限以外無効の為!

ホスト「ap01」「ap02」で下記のコマンドを実行します。

sh /opt/jboss/EAP-7.2.0/bin/init.d/jboss-eap-rhel.sh start

ホスト「ap01」「ap02」 で設定ファイルの内容が、一部異なることに注意してください。
  JBOSS_HOST_CONFIG」の設定値が、マスタ側で起動の場合「host-master.xml」、スレイブ側で起動の場合「host-slave.xml」と設定します。

「ap01」で、Jboss-eap(マスタ)が正常に起動されている。
「ap02」で、Jboss-eap(スレイブ)が正常に起動されている。

一応、「/var/log/jboss-eap/console.log」の中身に、エラーが無いことを確認します。

JBOSS-EAP状態確認

Jboss-eapの状態を確認します。

ホスト「ap01」「ap02」で下記のコマンドを実行します。

# sh /opt/jboss/EAP-7.2.0/bin/init.d/jboss-eap-rhel.sh status

正常に起動されていれば、「jboss-eap is running (pid 〇〇〇〇)」と出力されます。

「ap01」で、Jboss-eap(マスタ)プロセスがPID:7051で、正常に起動されている。
「ap02」で、Jboss-eap(スレイブ)プロセスがPID:4986正常に起動されている。

以上で「JBOSS-EAPドメイン構成」の設定は完了です。

次のおすすめ記事

よく読まれている記事

1

「私たちが日々利用しているスマートフォンやインターネット、そしてスーパーコンピュータやクラウドサービス――これらの多くがLinuxの力で動いていることをご存じですか? 無料で使えるだけでなく、高い柔軟 ...

2

Linux環境でよく目にする「Vim」という名前。サーバーにログインしたら突然Vimが開いてしまい、「どうやって入力するの?」「保存や終了ができない!」と困った経験をした人も多いのではないでしょうか。 ...

3

ネットワーク技術は現代のITインフラにおいて不可欠な要素となっています。しかし、ネットワークを深く理解するためには、その基本となる「プロトコル」と「レイヤ」の概念をしっかり把握することが重要です。 こ ...

4

この記事は、Linuxについて勉強している初心者の方向けに「Shellスクリプト」について解説します。最後まで読んで頂けましたら、Shellスクリプトはどのような役割を担っているのか?を理解出来るよう ...

5

Javaは世界中で広く使われているプログラミング言語であり、特に業務システムやWebアプリケーションの開発において欠かせない存在です。本記事では、初心者向けにJavaの基礎知識を網羅し、環境構築から基 ...

-サーバー基盤