ユーザ用ツール

サイト用ツール


pentaho:start

文書の過去の版を表示しています。


Pentaho

オープンソースで開発されているBIツール「Pentaho」のインストール記録。

Pentahoはオープンソース形式で開発されているが、サポート付の有償版もある。無償版の「Community Edition」は、いわゆる便利機能が利用できないものの、中心となるサーバの主要機能は利用できるためそれなりに使えるが、技術や工夫が必要となる。充実したドキュメントが公開されているが、有償版を前提に作成されているため、Community Editionとは異なる部分もある。また、マニュアルの一部に不備があったり、落とし穴があるため注意も必要。ここでは、Community EdisionでBI基盤を構築する手順を記録しておく。

PentahoはJavaベースのソフトウェアで、Tomcatないしはアプリケーションサーバで稼働するBAサーバを中心として、いくつかのツールからなっている。ツールは、デスクトップアプリケーションとして利用するGUIツールと、BAサーバのプラグインとして利用するものがある。有償版の多くは、BAサーバ上のプラグインであるようだ。

BAサーバのインストール

準備

  • Linuxサーバ(Gentoo Linux)
  • JDK
  • PostgreSQL

 PentahoはJavaで書かれているため、JDKをインストールしておく。データベースサーバについては、MySQL、PostgreSQL、MS-SQLサーバ、Oracleなど主要なものに対応しているが、ここではマニュアルでお勧めされているPostgreSQLでインストールする。なお、データベースサーバがなくても内臓のHSQLDBで作動するため、データベースサーバの設定は必須ではないようである。ユーザとして試用する程度ならば、これで十分だろう。PostgreSQLについてはパッケージでインストールし、必要に応じてネットワークからアクセスできるように適当に設定をしておく。

 Linuxサーバ上に、「pentaho」ユーザを作成しておく。以降は、このユーザで作業を進める。

BAサーバダウンロード

 Community Editionをダウンロードする。

 コミュニティサイトの画面下部「Main Downloads」以下の「Business Analytics Platform」からBAサーバをダウンロードする。ダウンロードはSourceforgeから行われる。今回利用するバージョンは、Pentaho 7.0。バージョンによってインストール方法などが変更になっていたり、機能が増減していたりする一方で、マニュアルに反映されていない部分もあったりと、試行錯誤が必要。

 zipファイルでダウンロードしたら、アーカイブを解凍する。解凍すると「pentaho-server」フォルダができるので、以降はこのフォルダを起点に記述していく。pentahoにはTomcatが同梱されており、今回はこれを利用する。既にアプリケーションサーバやTomcatが利用できる場合は、sourceforgeからpemtaho-manualというファイルを落とせばよいようである。

$ unzip pentaho-server-ce-7.0.0.0-25.zip 

インストールと設定

 以下のドキュメントを参考に設定していく。一部、落とし穴がある。以下、パスはすべてpentaho-serverを起点にする。

 ディスプレイが接続されていない、ないしはGUIが設定されていない環境向けにJAVAの起動オプションを設定する。Community Editionの同梱のTomcatはstart-pentaho.shで起動するため、このファイルを編集する。ファイル内の「CATALINA_OPTS」に「-Djava.awt.headless=true」というパラメータを追加しておく。ただし、実際に利用してみてオプションの効果はよくわからない。

 以下のスクリプトを利用して、PostgreSQLに必要なデータベースを作成する。マニュアルには4つのファイルが記載されているが、Community Editionには3つしかない。

  • data/postgresql
    • create_jcr_postgresql.sql
    • create_quartz_postgresql.sql
    • create_repository_postgresql.sql

 これらのファイル内に、作成されるデータベースユーザとパスワードが記載されているため、必要に応じて編集する。以降、各所のDB設定では、ここで修正した内容に置き換える。ファイルはすべてSQLであるため、どのような形でもPostgreSQLで実行すればよいが、コマンドラインツール「psql」を利用する場合は、以下。

$ psql -U postgres -f data/postgresql/{ターゲットファイル}

 ここでマニュアルにない落とし穴。Quartzデータベースに不具合があり、そのままではpentahoの起動に失敗する。後の設定でテーブルのPrefixを設定するが、起動時の確認の際にはこの設定がうまく効いていないようで、テーブルの確認が失敗するようだ。なので、ダミーのテーブルを作成してやる必要がある。バグなのか?ソースを共有しているはずであるが、有償版では問題ないのだろうか?

 先ほど作成したquartzデータベースに、以下のSQLでダミーのテーブルを作成する。

CREATE TABLE "QRTZ" (
  "NAME" character varying(200) NOT NULL
);

Quartzの設定

 以下のファイルを修正。PostgreSQL向けに設定されているので、確認のみで良い。

  • pentaho-solutions/system/quartz/quartz.properties

 以下のようになっているか確認。

org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
org.quartz.dataSource.myDS.jndiURL = Quartz

Hibernateの設定

 以下のファイルを修正。

  • pentaho-solutions/system/hibernate/hibernate-settings.xml
<config-file>system/hibernate/postgresql.hibernate.cfg.xml</config-file>

 上記修正後、そこで設定したファイル内のPostgreSQLの接続先、ユーザ名、パスワードなど接続情報を確認する。

  • pentaho-solutions/system/hibernate/postgresql.hibernate.cfg.xml

Jackrabbit Repositoryの設定

 以下のファイルを編集し、PostgreSQLを利用するようにする。また、各セクションの既存の設定はコメントアウトか削除しておく。既にファイル内に各種データベース用の設定がコメントアウトされているので、PostgreSQLの部分を有効にする。また、必要に応じて接続情報を修正する。

  • pentaho-solutions/system/jackrabbit/repository.xml

 マニュアルには「DatabaseJournal」の設定も記載されているが、Community Editionでは必要ないようである。マニュアルに記載されている設定を記載しても、該当するデータベースが作成されていないので動作しない。また、「di_jackrabbit」データベースを作成する手順とスクリプトも見当たらない。

Tomcatのデータベース接続設定

 次に、データベースに必要なJDBCドライバをインストールする。

  • tomcat/lib

 上記のパスにドライバのjarファイルを置く。

 以下のファイルに接続情報を記載する。注意しなければならないのは、マニュアルをそのままコピーしてしまうと、一部で大文字と小文字が間違っていて、動かない。一見すると問題ないように見えるので厄介である。ファイル内にある既存の接続設定をよく参照して、大文字・小文字の区別まで含めてきっちり設定を作成する。

  • tomcat/webapps/pentaho/META-INF/context.xml
<Resource name="jdbc/Hibernate" auth="Container" type="javax.sql.DataSource"
          factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxTotal="20" maxIdle="5"
          maxWaitMillis="10000" username="hibuser" password="password"
          driverClassName="org.hsqldb.jdbcDriver" url="jdbc:postgresql://localhost:5432/hibernate"
          validationQuery="select 1" />

<Resource name="jdbc/Quartz" auth="Container" type="javax.sql.DataSource"
          factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxTotal="20" maxIdle="5"
          maxWaitMillis="10000" username="pentaho_user" password="password"
          driverClassName="org.hsqldb.jdbcDriver" url="jdbc:postgresql://localhost:5432/quartz"
          validationQuery="select 1" />

<Resource name="jdbc/Audit" auth="Container" type="javax.sql.DataSource"
          factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxTotal="20" maxIdle="5"
          maxWaitMillis="10000" username="hibuser" password="password"
          driverClassName="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432/hibernate"
          validationQuery="select 1" />

 マニュアルには「pentaho_operations_mart」「PDI_Operations_Mart」の設定もあるが、Community Editionでは必要ないか、利用できないため記述しなくてもよい(と思う)。

Audit Log Fileの置換

 マニュアルのPostgreSQLの部分に記載はないが、MySQLでは記載がある。MySQLをPostgreSQLに読み替えて作業をする。Audit LogのためのSQLの設定らしい。

$ cp pentaho-solutions/system/dialects/postgresql/audit_sql.xml pentaho-solutions/system/

同梱のTomcatの起動と終了

 pentaho-server以下のstart-pentaho.shでTomcatを起動する。JavaVMのメモリ割り当てなどもこのファイルに設定する。初回起動時はバージョン確認のプロンプトが出るので、一読してenterキーを押せばしばらくしてTomcatが起動する。やや時間がかかる。うまく起動しない場合は、Tomcatのログやデータベースサーバのログを確認して、うまく接続できているかなどを確認していく。Tomcatのcontext.xmlの大文字・小文字の違いに気づかず、データベースに接続できなくてハマった。。。

 pentaho-serverの終了は「stop-pentaho.sh」を使う。

 Tomcatの再起動に時間がかかる場合があるので、Tomcatに以下の設定をしておく。Tomcatは「WEB-INF/libのアノテーションをVMがスキャンするので」再起動が遅いらしい。これを回避するには、web.xmlに以下を記述する。pentaho-server内にはいくつかweb.xmlがあるが、とりあえず全部に記載しておく。

$ find . -name "web.xml" -print
  ./tomcat/webapps/pentaho-style/WEB-INF/web.xml
  ./tomcat/webapps/ROOT/WEB-INF/web.xml
  ./tomcat/webapps/pentaho/WEB-INF/web.xml
  ./tomcat/webapps/sw-style/WEB-INF/web.xml
  ./tomcat/conf/web.xml

 web.xmlの<web-app>要素内に、以下のmetadata-complete=“true”属性と<absolute-ordering />要素を加える。

<web-app metadata-complete="true">
  <absolute-ordering />....
  ....
  ....
  

 BAサーバが起動したら、そのホストの8080ポートにアクセスし、ユーザ名「admin」、パスワード「password」でログインする。

  • http:{インストール先のホスト名}:8080/
pentaho/start.1480485661.txt.bz2 · 最終更新: 2016/11/30 15:01 by Wiki Editor

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki