Try   HackMD

JBoss EAP 7.0 Install Process

環境情報

  • RHEL7.0
  • Java7
  • OracleJDK 1.8.0_202-b08

インストール手順

  1. Zip展開

  2. jboss-eap.conf編集

    ​​​​cd /home/work/JBoss_7.0.0/jboss-eap-7.0/bin/init.d
    ​​​​vi jboss-eap.conf
    
    ​​​​# 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"
    ​​​​JAVA_HOME="/usr/java/default"
    
    ​​​​## Location of JBoss EAP
    ​​​​# JBOSS_HOME="/opt/jboss-eap"
    ​​​​JBOSS_HOME="/home/work/JBoss_7.0.0/jboss-eap-7.0"
    
    ​​​​## The username who should own the process.
    ​​​​JBOSS_USER=jboss-eap
    
    ​​​​## The mode JBoss EAP should start, standalone or domain
    ​​​​# JBOSS_MODE=standalone
    
    ​​​​## 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=600
    
    ​​​​## The amount of time to wait for shutdown
    ​​​​SHUTDOWN_WAIT=600
    
    ​​​​## Location to keep the console log
    ​​​​# JBOSS_CONSOLE_LOG="/var/log/jboss-eap/console.log"
    
    ​​​​## Additionals args to include in startup
    ​​​​# JBOSS_OPTS="--admin-only -b 127.0.0.1"
    
    変更内容
    ​Location of JDK
    ​使用するJDK構成フォルダパスに変更
    ​
    ​Location of JBoss EAP
    ​EAP展開後のフォルダパス(以下jboss_home)に変更
    ​
    ​STARTUP_WAIT=600
    ​アプリ起動のタイムアウト値
    ​
    ​SHUTDOWN_WAIT=600
    ​アプリ終了のタイムアウト値
    
  3. jboss-eap-rhel.sh編集

    ​vi jboss-eap-rhel.sh
    ​​​​
    ​# Load JBoss EAP init.d configuration.
    ​if [ -z "$JBOSS_CONF" ]; then
    ​#       JBOSS_CONF="/etc/default/jboss-eap.conf"
    ​        JBOSS_CONF="/home/work/JBoss_7.0.0/jboss-eap-7.0/bin/init.d/jboss-eap.conf"
    
    変更内容
    ​Load JBoss EAP init.d configuration.
    ​JBoss設定ファイルをどこから読み込むか
    ​編集したjboss-eap.confのパスを指定
    
  4. standalone.conf編集

    ​vi /home/work/JBoss_7.0.0/jboss-eap-7.0/bin/standalone.conf
    
    ​Before
    ​#
    ​# Specify options to pass to the Java VM.
    ​#
    ​if [ "x$JAVA_OPTS" = "x" ]; then
    ​   JAVA_OPTS="-Xms1303m -Xmx1303m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true"
    ​   JAVA_OPTS="$JAVA_OPTS -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS -Djava.awt.headless=true"
    ​else
    ​   echo "JAVA_OPTS already set in environment; overriding default settings with values: $JAVA_OPTS"
    ​fi
    
    ​After
    ​#
    ​# Specify options to pass to the Java VM.
    ​#
    ​if [ "x$JAVA_OPTS" = "x" ]; then
    ​   JAVA_OPTS="-Xms1303m -Xmx1303m -Djava.net.preferIPv4Stack=true"
    ​   JAVA_OPTS="$JAVA_OPTS -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS -Djava.awt.headless=true"
    ​else
    ​   echo "JAVA_OPTS already set in environment; overriding default settings with values: $JAVA_OPTS"
    ​fi
    

※ MetaspaceSize=96M -XX:MaxMetaspaceSize=256m
  上記はJava7では対応していないOptionの為、削除する。

  1. 実行User作成,権限変更

    ​useradd -d /home/work/JBoss_7.0.0/jboss-eap-7.0 -s /sbin/nologin jboss-eap
    ​cd /home/work/JBoss_7.0.0/
    ​chown -R jboss-eap:jboss-eap ./jboss-eap-7.0
    ​cd /var/log/
    ​chown jboss-eap:jboss-eap ./jboss-eap
    
  2. 起動ログ情報

    ​別ターミナルにて
    ​tail -f /var/log/jboss-eap/console.log
    
  3. 起動確認

    ​cd /home/work/JBoss_7.0.0/jboss-eap-7.0/bin/init.d
    ​./jboss-eap-rhel.sh start
    

systemdサービス追加

systemctlでの有効サービスとして登録を行う

cd /etc/systemd/system/
vi jboss-eap.service    ※下記参照
chmod a+x jboss-eap.service
systemctl start jboss-eap.service
systemctl restart jboss-eap.service
systemctl enable jboss-eap.service


jboss-eap.service
※ここから
[Unit]
Description=JBoss EAP Systemctl script
After=NetworkManager.service

[Service]
Type=forking
ExecStart=/home/work/JBoss_7.0.0/jboss-eap-7.0/bin/init.d/jboss-eap-rhel.sh start
ExecStop=/home/work/JBoss_7.0.0/jboss-eap-7.0/bin/init.d/jboss-eap-rhel.sh stop
ExecReload=/home/work/JBoss_7.0.0/jboss-eap-7.0/bin/init.d/jboss-eap-rhel.sh restart
PIDFile=/var/run/jboss-eap/jboss-eap.pid

[Install]
WantedBy=multi-user.target

[Service]
TimeoutStartSec=600
TimeoutStopSec=600

インスタンス接続手順

jboss-cliでのインスタンス接続手順

systemctl start jboss-eap.service
cd /home/work/JBoss_7.0.0/jboss-eap-7.0/bin
./jboss-cli.sh --connect

patch適用コマンド

./jboss-cli.sh --connect --controller=127.0.0.1:9990 "patch apply /home/work/JBoss/jboss-eap-7.1.1-patch.zip"

Datasource接続手順

Web consoleでの手順

  • Web console接続
    http://10.176.108.97:9990

  • JDBC Driver Deploy

    • Deployment -> Add
    • Upload a new deployment
    • 対象のJDBCをローカルよりアップロード -> Next
    • Verify Upload
      • Name
      • Runtime Name
      • Enable
  • Datasources接続

    • Configuration -> Subsystem -> Datasources -> Non-XA -> Add
    • Choose Datasource
      • Oracle Datasource -> Next
    • Datasource Attributes
      • Name
      • JNDI Name
        java:/java:jboss/で始める、基本はDefault値で問題ない
    • JDBC Driver
      • Specify Driver
        Default
      • Detected Driver
        Driver選択
    • Connection Settings
      • Connection URL
        jdbc:oracle:thin:@//10.176.108.98:6001/FLDBP01
      • Username
        admin
      • Password
        ss2002
      • Security Domain
        blank
  • Test Connection

    • Configuration -> Subsystem -> Datasources -> Non-XA -> OracleDS(作成したDS) -> View
    • Test Connection

トラブルシューティング

Unsupported major.minor version エラーの解消

Shellファイルの実行時等に表示される場合がある
複数のJDKやJavaがインストールされている場合し別のJavaが適用されている場合がある。
下記は古いJava7が適用されており実行時にエラーが表示された。

現在適用されているJavaの確認

echo $JAVA_HOME
/etc/alternatives/jre_1.7.0

下記手順により解消する

vi ~/.bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs
export JAVA_HOME=/usr/java/jdk1.8.0_202-amd64
PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH
source ~/.bash_profile
echo $JAVA_HOME
/usr/java/jdk1.8.0_202-amd6