Java8へのアップグレード

Sm@rtDB Ver.3.4.3よりJava 8のサポートを開始しています。

Java7をJava8へアップグレードする場合は、以降の手順に従い、実施してください。

準備・注意事項

ご使用のOSに対応したJDK8のインストーラーをオラクル社のサイトから入手してください。

(例)以降の説明ではアップデートの数字を “XX” で表記します。

OSが64bitの場合:jdk-8uXX-linux-x64.tar.gz

OSが32bitの場合:jdk-8u_XX_-linux-i586.tar.gz

Javaのバージョンアップには、tomcatサービスの再起動が必要です。

Java8からMaxPermSizeが撤廃されたために指定不要となる、Tomcatの起動パラメータの中で従来 “-XX:MaxPermSize=256M” として追加していたオプションはJava8からは無視されます。※オプションを従来通り指定したままでも警告メッセージが表示されるだけで動作に影響はありません。

アップグレード手順

各Sm@rtDB APサーバにてアップグレード作業を実施します。(以下は64bitOSでの実施例)

1. JDKの準備

オラクル社からJDK8のインストーラーを入手し、Sm@rtDB APサーバの任意のディレクトリに保存します。

※本手順では、/opt 配下に保存したものとして記載します。

2. JDKの解凍

保存したJDK8を解凍します。解凍したフォルダには、root権限を付与してください。

# cd /opt
# tar zxvf jdk-8u_XX_-linux-x64.tar.gz
# chown -R root:root jdk1.8.0_XX

3. tomcat サービスの停止

JDKのアップグレードをする前に全てのSm@rtDB AP サーバのtomcat サービスを停止します。

各Sm@rtDB APサーバにroot ユーザでログインし、tomcat を停止してください。

また、cron でインデックス最適化処理を設定している場合には、インデックス最適化処理をロックしてください。

# service tomcat stop
# cd /var/hibiki/data/cabinet/index/
# touch optimize.lock.new
# mv -i optimize.lock.new optimize.lock  

tomcat サービスは停止信号を送り、コンソールが入力待ちに戻った後でも

プロセスが完全に終了するまでに時間がかかる場合があります。

以下の手順へ進む前にプロセスが完全に停止していることを確認して下さい。

# ps -ef|grep java

4. リンクの作成

以下のシンボリックリンクを作成します。

# cd /opt
# ln -s jdk1.8.0_XX jdk18

5. tomcatの起動スクリプト変更

インストールされたjdkを使用できるようにtomcat の起動スクリプトを修正します。

tomcatのJAVA_HOMEのディレクトリをjdk17からjdk18に変更してください。

変更前の記述はご使用の環境の設定に合わせて読み替えてください。

/etc/init.d/tomcat の以下の記述を変更します。

変更前: export JAVA_HOME=/opt/jdk17

変更後: export JAVA_HOME=/opt/jdk18

6. Sm@rtDB Toolの起動スクリプト変更

インストールされたjdkを使用できるようにSm@rtDB Toolの起動スクリプトを修正します。

smartdb_tool.shのJAVA_HOMEのディレクトリをjdk17からjdk18に変更してください。

変更前の記述はご使用の環境の設定に合わせて読み替えてください。

/home/hibiki/bin/smartdb_tool.shの以下の記述を変更します。

変更前: export JAVA_HOME=/opt/jdk17

変更後: export JAVA_HOME=/opt/jdk18

7. tomcat サービスの起動

各Sm@rtDB AP サーバのtomcat を起動します。

また、インデックス最適化処理をロックしている場合は、ロックファイルを削除してください。

# service tomcat start

Sm@rtDBが起動していることを確認します。

8. 動作確認

ブラウザに以下のURLを入力し、モジュールの読み込みが完了していることを確認します。

http://【サーバ名】/hibiki/About.do

以上でJava8へのアップグレードは完了です。