Pentaho Data Integration(PDI)が起動しない場合のデバッグ方法

こんにちは。完全自動化研究所の小佐井です。

「Spoon.batを実行してもPentaho Data Integration(以下PDI)が起動しないぞ!」という場合のデバッグ方法について解説します。

僕の書いているPentahoのインストール方法の記事の通りに行っていて、[Spoon.bat]は「C:¥pentaho¥data-integration」に配置されているものとして説明します。

Pentaho Data Integrationのことを本記事ではPentahoと呼びます。本来PDIと省略して呼ぶのが正しいでしょうけど、僕はPentahoと呼んでいるので、この呼び名で通します。

それではどうぞ!

この記事を書いた人
この記事を書いた人
こさい
こさい

(株)完全自動化研究所代表のこさいです。

1) エンジニア歴25年超。RPA支援8年超
2) RPA関連の書籍を6冊出版。
3)ご質問・お仕事のご依頼はこちら

デバッグテキストを生成する

それでは、さっそくデバッグ方法を解説します。

「C:¥pentaho¥data-integration」に「SpoonDebug.bat」というバッチファイルがありますので、これを見つけて、ダブルクリックしてください。

SpoonDebug.batをダブルクリック
SpoonDebug.batをダブルクリック

コマンドプロンプトが起動し、ウィザード形式で質問されますので、すべて「Y(yes)」でこたえてください。

SpoonDebug.batの実行
SpoonDebug.batの実行

SpoonDebug.batの実行が完了すると、「C:¥pentaho¥data-integration」の直下に「SpoonDebug.txt」が生成されます。

SpoonDebug.txtをダブルクリックして、開いてください。

SpoonDebug.txtを開く
SpoonDebug.txtを開く

原因を特定して対応する

SpoonDebug.txtが開きましたね?

SpoonDebug.txtにはPDI起動時のログが記録されていますので、起動しない原因を特定する助けになります。2つ例を紹介します。僕が経験したのは、今のところ、この2つだけですね。

パスが正しく認識されていない

JAVA_HOMEが正しく認識されていない場合は環境変数を調整してください。

パスを通す最も確実な方法はコンピュータの環境変数「PENTAHO_JAVA_HOME」にjava.exe(javaw.exe)へのフルパスを指定する方法です。

その他にPentaho 専用のJAVAを用意する方法もあります。「data-integration」フォルダ内にjava やjre という名前でJava のランタイムを入れておきます。

例えば、以下のように表示されれば、パスが正しく設定されています。

DEBUG: Using JAVA_HOME
 DEBUG: _PENTAHO_JAVA_HOME=C:\Program Files\Java\jre1.8.0_111
 DEBUG: _PENTAHO_JAVA=C:\Program Files\Java\jre1.8.0_111\bin\java.exe

メモリが確保できない

以下のようなエラーが表示される場合は、-Xmxで指定されたJavaヒープサイズ(メモリ割り当てプールの最大値)が連続した領域として確保できないために出力されたメッセージです。

Error occurred during initialization of VM
 Could not reserve enough space for 2097152KB object heap
 Java HotSpot(TM) Client VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0

Spoon.batを開いて、94行目あたり
if “%PENTAHO_DI_JAVA_OPTIONS%”==”” set PENTAHO_DI_JAVA_OPTIONS=”-Xms1024m” “-Xmx2048m” “-XX:MaxPermSize=256m”

の “-Xmx2048m” を “-Xmx1024m”に変えて保存してのち、実行してください。