こんにちは。完全自動化研究所の小佐井です。
「Spoon.batを実行してもPentaho Data Integration(以下PDI)が起動しないぞ!」という場合のデバッグ方法について解説します。
僕の書いているPentahoのインストール方法の記事の通りに行っていて、[Spoon.bat]は「C:¥pentaho¥data-integration」に配置されているものとして説明します。
それではどうぞ!
デバッグテキストを生成する
それでは、さっそくデバッグ方法を解説します。
「C:¥pentaho¥data-integration」に「SpoonDebug.bat」というバッチファイルがありますので、これを見つけて、ダブルクリックしてください。
コマンドプロンプトが起動し、ウィザード形式で質問されますので、すべて「Y(yes)」でこたえてください。
SpoonDebug.batの実行が完了すると、「C:¥pentaho¥data-integration」の直下に「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”に変えて保存してのち、実行してください。