轉-pentato技術白皮書中文版(九)--Pentaho 的手動配置

目錄 html

Pentaho 的手動配置 java

01. 在你開始前 mysql

02. 下載 J2EE Deployment Distribution web

04. 配置 Solutions sql

05. 構建應用 archives 數據庫

06. 配置應用 Archives apache

Enabling SSL in Tomcat55 & JBoss 瀏覽器

JBoss 4.0.4 tomcat

改變服務器端口 服務器

Tomcat 5.0

Tomcat 5.5

Pentaho 的手動配置

This page last changed on Jan 28, 2007 by bhagan.

爲了配置 Pentaho BI 平臺,首先你必須有一個 J2EE 兼容的 archive 文件,其包含了平臺的全部文件和資源。若是你使用 JBoss 或 Tomcat 做爲你的應用服務器,這個指南會幫助你構建 archive。若是你正使用一個不一樣的應用服務器,你須要編寫你本身的 Ant 任務來構建你須要的 archive,並添加特定於你的應用服務器的配置文件。

若是你願意的話,咱們很高興將你的應用程序服務器的 Ant 任務放進咱們的包中。參與 Pentaho 的細節信息請參考 http://www.pentaho.org/contributions

Pentaho 有一個預配置的 JBoss 應用服務器,其中已經爲你配置好了一切。若是想盡快省力的配置運行,咱們推薦使用預配置安裝包。這個指南爲那些想在本身的環境中設置平臺的人提供了一種選擇。

01. 在你開始前

This page last changed on Jan 30, 2007 by bhagan.

你也須要確保你已經有:

Ø         這個指南須要已經安裝了 Java SDK 或 JRE。Pentaho BI 平臺在 Java SDK 1.4 上構建和測試過,Java SDK 1.4 的各類平臺上的版本可在此處下載http://java.sun.com/j2ee/1.4/download.html#sdk

Ø         確保環境變量 JAVA_HOME 指向 JDK 被安裝的目錄。

Ø         這個下載也須要安裝了 Apache Ant,開放源碼的基於 Java 的構建工具。你將須要 Ant 的 1.6.2 版本或更高。你可從 http://ant.apache.org/ 下載 Ant。

Ø         確保 Ant 的 bin 目錄在你的系統 path 上。

02. 下載 J2EE Deployment Distribution

This page last changed on Jan 30, 2007 by bhagan.

J2EE Deployment Distribution 是一個包,容許你爲某種應用程序服務器構造多種不一樣的 web 應用archives 和/或企業應用 archives。到目前爲止,咱們有構建如下 archives (經過 Ant targets)的腳本:

Ø         Tomcat 5.x .war 文件

Ø         JBoss 4.0.4 .war 文件

Ø         JBoss 4.0.4 .ear 文件

可在 downloads page 上找到這個包,其名爲 pentahoj2ee_deployments。

若是你想將之配置到一個沒有列出的應用程序服務器時,這也是一個好的起點。你須要的全部 Pentaho 文件均存在於這個包中,你所須要作的就是編寫你本身的 Ant target,並添加你的環境必需的配置文件。

咱們主要的應用服務器測試環境是 JBoss 4.0.4Pentaho 社區和開發組歡迎各類反饋不論是面臨的問題,仍是僅僅想讓咱們知道你成功配置了環境關於在其它應用程序服務器上的配置。請使用 http://forums.pentaho.org 上的論壇共享你的經歷。

03. 配置 Sample 數據

This page last changed on Jan 30, 2007 by bhagan.

這很簡單。下載和解壓你在 Sourceforge 找到的 pentaho_data-<version>.zip 文件。

在資源樹的根目錄上,你會看見啓動和關閉腳本。爲啓動數據庫服務器,運行 start-hypersonic (.bat 用於 Windows,.sh 用於 *nix) 腳本。爲中止數據庫服務器,運行 stop-hypersonic (.bat 用於Windows,.sh 用於 *nix) 腳本。

建議的目錄結構以下:

 /pentaho

/appserver

/pentaho-data

/pentaho-solutions

04. 配置 Solutions

This page last changed on Jan 30, 2007 by bhagan.

你也須要下載和解壓在 Sourceforge 找到的 pentaho-solutions-<version>.zip 文件。

Pentaho web 應用將查找你的 pentaho-solutions 目錄,只要 pentaho-solutions 目錄是 appserver 目錄的同級目錄。

建議的目錄結構以下:

/pentaho

/appserver

/pentaho-data

/pentaho-solutions

可選的 solutions 配置

若是應用不能找到 sample solutions 或若是你想將 sample solutions 放在別處,如 pentaho-solutions 目錄不是你的應用服務器的根目錄的同級目錄,你可輸入配置參數指向它。

如下是如何操做的步驟:

1.         抽取 web.xml 文件 (從 .war)。

2.         找到值爲 "solution-path." 的 <param-name> 元素。

3.         直接在 <param-name> 元素後,輸入一個 <param-value> 元素,將它的值設置成 "pentaho-solutions" 目錄的絕對路徑便可。

<param-value>d: \ pentaho\ pentaho-solutions</param-value>

而後從新構建 .war 文件。

啓動 BI 平臺的用戶帳戶須要有在 pentaho-demo/pentaho-solutions/system/content 目錄中建立目錄和文件的權限。若是 JBoss 被安裝爲一個服務,啓動服務的用戶帳戶也須要有建立權限。

05. 構建應用 archives

This page last changed on Mar 16, 2007 by bhagan.

pentaho.war 和 pentaho.ear

pentaho_j2ee_deployments-<version>.zip 將構建兩種不一樣的 archives - .war 文件或.ear 文件。.ear 文件有在應用服務器上成功運行 Pentaho 平臺 demo 和 samples 所必需的全部文件。.war 文件僅僅包含 Pentaho web 應用程序,在這種狀況下,在你配置 Pentaho .war 文件後,還有更多要完成的工做。 archives 將運行於 hypersonic 或 mysql 上。所以,必須用你的數據庫的 HOST 和PORT 信息來配置許多文件,包括:

Ø         hibernate.cfg.xml

Ø         *-ds.xml 文件 (用於 jboss)

構建過程將基於在 build.properties 文件中找到的值進行這些替換。特定的,將會尋找如下屬性:

Ø         hsqldb.jdbc.port

Ø         mysql.jdbc.port

Ø         hsqldb.jdbc.host

Ø         mysql.jdbc.host

不用進行任何修改,這些屬性被設置成它們的默認值:

Ø         hsqldb.jdbc.port=9001

Ø         mysql.jdbc.port=3306

Ø         hsqldb.jdbc.host=localhost

Ø         mysql.jdbc.host=localhost

如下是如何操做:

1.  下載和解壓 pentahoj2ee_deployments-<version>.zip 文件進一個目錄。對於此處的實例,使用D:\work.

2.  肯定你須要構建哪一個 archive:

Ø         爲 Tomcat 5.X and hypersonic 配置的 .war 文件

Ø         爲 Tomcat 5.X 和 mysql 配置的 .war 文件

Ø         爲 JBoss 4.0.4 (安裝了 jboss portal) 和 hypersonic 配置的 .war 文件

Ø         爲 JBoss 4.0.4 (安裝了jboss portal) 和 mysql 配置的 .war 文件

Ø         爲 JBoss 4.0.4 (沒安裝 jboss portal) 和 hypersonic 配置的 .war 文件

Ø         爲 JBoss 4.0.4 (沒安裝 jboss portal) 和 mysql 配置的 .war 文件

Ø         爲 JBoss 4.0.4 和 hypersonic 配置的 .ear 文件

Ø         爲 JBoss 4.0.4 和 mysql 配置的 .ear 文件

3.    打開一個終端窗口(*nix) 或命令提示窗口 (Windows)。

4.    切換到你將 deployment 包解壓進的目錄。

5.    執行適合於你選擇的 archive 的 Ant 命令。

命令以下:

ant <ant _target>

此處 <ant_target> 是如下之一:

Ø         war-pentaho-tomcat-hypersonic

Ø         war-pentaho-tomcat-mysql

Ø         war-pentaho-jboss-hypersonic - 用於安裝了 jboss portal 的 jboss 服務器。

Ø         war-pentaho-jboss-hypersonic-no-portal - 用於沒安裝 jboss portal 的 jboss 服務器。

Ø         war-pentaho-jboss-mysql - 用於安裝了 jboss portal 的 jboss 服務器。

Ø         war-pentaho-jboss-mysql-no-portal - 用於沒安裝 jboss portal 的 jboss 服務器。

Ø         ear-pentaho-jboss-hypersonic - 用於安裝了 jboss portal 的 jboss 服務器。

Ø         ear-pentaho-jboss-hypersonic-no-portal - 用於沒安裝 jboss portal 的 jboss 服務器。

Ø         ear-pentaho-jboss-mysql - 用於安裝了 jboss portal 的 jboss 服務器。

Ø         ear-pentaho-jboss-mysql-no-portal - 用於沒安裝 jboss portal 的 jboss 服務器。

所以例如,若是你想爲 Windows 上的 Tomcat 構建一個 .war 文件,命令應該以下所示:

D:\work> ant war-pentaho-tomcat-hypersonic

等待構建腳本完成。生成的 .ear 或 .war 文件位於 /build/pentaho-wars/<appserver> 子目錄,其建立於你的 work 目錄中。

pentaho-style.war 和 sw-style.war

若是你將平臺配置爲一個.war 文件,你可能會漏掉其餘主要組件 – pentaho-style.war, steel-wheels-style.war 和 pentaho-portal-layout.war。爲了簡單的和可維護的 style 定製,咱們已經將平臺的 content styling 遷移進單獨的 styles web 應用程序。

若是你構建和部署了 .ear 文件,就沒必要擔憂這個 –.ear 文件包括了平臺須要的全部額外 web 資源。

所以此處你所須要做的就是部署 pentaho-style.war,steel-wheels-style.war 和 pentaho-portal-layout.war. 進和平臺同一個應用服務器。

執行如下命令:

ant zip-pentaho-style-war

當其完成時,執行如下命令:

ant zip-pentaho-steel-wheels-style-war

當其完成時,執行如下命令:

ant zip-pentaho-portal-layout-war

在如下路徑中可找到全部 wars/ears:/work/build/pentaho-wars。

既然你已爲你的應用服務器構建了合適的 archive,你就可部署平臺了。部署步驟取決於你使用的應用服務器,咱們假設你已經很熟悉了。

記住:若是你在配置平臺時遇到了任何的問題,將你的問題發佈到咱們的論壇: http://forums.pentaho.org,極可能別人已經找到了一個解決方法,或能夠幫助解決。也可發佈你的成功案例,以及你怎麼解決的!

你可當即構建一切,並僅使用你須要的,執行如下命令便可:ant build-all

06. 配置應用 Archives

This page last changed on Jan 30, 2007 by bhagan.

使用如下連接查找將 pentaho 應用 archives 部署進如下應用服務器的命令:

Ø         Enabling SSL in Tomcat55 & JBoss

Ø         JBoss 4.0.4

Ø         Tomcat 5.0

Ø         Tomcat 5.5

Enabling SSL in Tomcat55 & JBoss

This page last changed on Feb 01, 2007 by mdamour.

介紹

這是一個小小的指南,幫助你在你的 Tomcat 應用服務器上激活 SSL 模式。此處提供的信息基於Tomcat 5.5 和 JBoss 4.0.4,但應該在其餘版本上也是通用的。

證書

在一個生產環境中,你應該從一個受信任的證書權威獲取證書。

但對於此處的實例,則是採起必需的步驟來建立你本身的 self-signed 證書,主要是使用 Java Development Kit 自帶的 keytool。

爲生成你的證書,輸入如下命令:

keytool -genkey -alias tomcat -keyalg RSA

你會被提示輸入你的名字和組織,僅僅輸入要求的信息,將會在你的 keystore 中建立你的證書。你必須在磁盤上找到其位置,其一般是你的根目錄中的 .keystore 文件。

如今將.keystore 文件移到 {JBOSS}/server/default/conf。這是一個任意位置,但其是在 tomcat 5.5 配置中指定的默認位置。若是你將 keystore 放在一個不一樣的位置,確保要記住它。

Tomcat server.xml 配置

編輯 {JBOSS}/server/default/deploy/jbossweb-tomcat55.sar 中的 server.xml 文件。找到這節:

<!-- SSL/TLS Connector configuration using admin devl guide keystore <Connector port="8443" address="${ jboss.bind.address}"

maxThreads="100" strategy="ms" maxHttpHeaderSize="8192"

emptySessionPath="true"

scheme="https" secure="true" clientAuth="false"

keystoreFile="${ jboss.server.home .dir} /conf/chap8.keystore"

keystorePass="rmi+ssl" sslProtocol = "TLS" />

->

注意這個節點使用 <!-- 和 --> 進行了註釋,你須要取消這個節點的註釋。端口默認是 8443,若是你想使用默認 SSL 端口,你應該將之改爲 443。修改 keystoreFile 屬性匹配你的keystore 文件的位置和文件名。

最後,將 keystorePass 修改爲你建立證書時使用的信息。

部署

如今你準備好啓動 JBoss / Tomcat,並使用 SSL 了。正常啓動你的服務器,用 https url 啓動你的 web 應用。例如:

https://localhost/pentaho/Home

Errata

取決於你的運氣和 Java 版本,你可能會在你的 server.Log 上發現錯誤,如:

HTTPS hostname wrong: should be <localhost>

以後是 stack trace,阻止你使用 SSL。咱們已經在 PentahoSystem 中解決了這個問題,經過註冊咱們本身的 hostname verifier。若是你看到這樣的錯誤信息,那就意味着 PentahoSystem 尚未正常初始化。

你可能碰到的另外一個問題是:

Caused by: sun.security.validator.ValidatorException: PKIX path building failed:

sun. security.provider.certpath. SunCertPathBuilderException: unable to find valid certification path to requested target

爲解決這個問題,在 {JBOSS}/bin/run .conf 中的 JAVA_OPTS 上添加如下設置:

-Djavax. net .ssl. keyStore=/home/mdamour/workspace/pentaho-preconfiguredinstall/server/default/conf / . keystore

-Djavax. net .ssl. keyStorePas sword=changeit

-Dj avax. net .ssl. trustStore=/home/mdamour/workspace/pentaho-preconfiguredinstall/server/default/conf/. keysto

-Djavax. net .ssl. trustStorePassword=changeit"

JBoss 4.0.4

This page last changed on Feb 05, 2007 by bhagan.

若是你正配置 Pentaho BI 平臺到一個 vanilla JBoss 4.0.4,你應按照以下提示進行操做。

Datasource Naming

Pentaho web 應用程序中數據源的命名依賴於 JNDI,所以爲了成功運行平臺和 samples,你須要定義 Jboss 下的這些數據源。JBoss 4.0.4 中的標準是使用一個帶有 –ds.xml 命名約定的 xml 文件。若是你部署一個 .ear 文件,你沒必要定義這些 datasources,但若是你部署一個 .war,你可以使用在 pentahoj2ee_deployments-<version>.zip 中爲你提供的 datasource 定義。在解壓了 zip 文件後,你可在 pentaho-res/jboss/datasources 文件夾中找到這些文件:

Ø         PentahoHibernate-ds.xml

Ø         quartz-ds.xml

Ø         sampledata-ds.xml

Ø         sampledata_admin-ds.xml

Ø         shark-ds.xml

Ø         datasourceX-ds.xml (X = 數字 1 到 5)

Ø         solutionX-ds.xml (X = 數字 1 到 5)

Jar 替換

爲使 Pentaho 運行於 Jboss,必須添加/替換幾個 jars:

Ø         jaxen - Pentaho 平臺依賴於 jaxen 庫的版本 1.1beta4。JBoss 不包括 jaxen 庫,這個庫是用來正常顯示平臺用戶接口的。

Ø         dom4j - Pentaho 平臺也依賴於 dom4j 庫的版本 1.6.1 來呈現平臺。默認的,JBoss 4.0.4 自帶了 dom4j 1.5.2。

Ø         mail.jar – 另外,用 pentahoj2ee_deployments-<version> .zip 中的 pentaho-third-party 目錄中的 mail.jar 替換 JBoss 自帶的 mail.jar。

如下是如何進行操做:

1.       中止服務器,若是其正運行。

2.       從 http://jaxen.org/releases.html 下載 jaxen 1.1 beta 4,或使用pentahoj2ee_deployments-<version>.zip 中的 jaxen.jar 包。

3.       從 http://dom4j.org/download.html,下載 dom4j 1.6.1,或使用 pentahoj2ee_deployments-<version>.zip 包中根目錄的 dom4j_1.6.1.jar。

4.      重命名 jaxen 1.1 beta 4 jar 成 jaxen.jar,將 jaxen.jar 文件複製進 <jboss_home>/lib 目錄。

5.       從 <jboss_home>/lib 目錄刪除 dom4j.jar 文件。

6.      重命名 dom4j_1.6.1.jar 成 dom4j.jar,將新的 dom4j.jar 文件複製進 <jboss_home>/lib 目錄。

7.用 pentahoj2ee_deployments-<version> .zip 中的 mail.jar 替換<jboss_home>/server/default/lib 中的 mail.jar。

8.       從如下網址下載 commons-http_3.0.1.jar:http://jakarta.apache.org/site/downloads/downloads commons-httpclient.cgi.

9.       將 commons-http_3 .0.1 .jar 複製進 <jboss_home>/server/default/lib。

10.        刪除 commons-http.jar (已經在那裏的舊版本),將commons-http_3.0.1.jar 重命名成 commons-http.jar。

11.        部署.war 或 .ear。若是部署 .war,確保你將之命名爲 pentaho.war。

12.        若是部署 pentaho.war 文件,在 <jboss_home>/server/default/deploy 目錄中添加以上列出的 *-ds.xml 文件。若是你沒使用默認服務器,那將文件複製進你的服務器的deploy目錄。

13.        確保你的數據庫正運行。

14.        重啓服務器。

JBoss 4.0.4 應用服務器沒有部署 JBoss Portal(若是你沒獲取 JBoss' portal 包),所以任何 Pentaho portal 功能或samples 均不工做。隨後將提供設置帶有一個預存在的 Jboss Portal 的 Pentaho 平臺的指令。那些提示屬於 Jboss的 pentaho.war 文件,僅應用於平臺的 .war archive。相反,若是你爲 Jboss 構建pentaho.ear 的話,會少不少麻煩。其爲你集成了幾個步驟,不然的話,還要手動操做。

改變服務器端口

This page last changed on Jan 30, 2007 by bhagan.

默認的,平臺 web 應用程序被配置使用 8080 端口。若是你已經有另外一個服務器使用了 8080 端口,你可修改你的服務器配置,這樣它可以使用一個不一樣的端口。每一個應用服務器在設置服務器端口上都有獨特的需求。由於咱們的參考實現運行於 Jboss,所以咱們包含了在 Jboss 上修改端口的指令。對於其餘的應用服務器,配置端口的信息請參考你的服務器的文檔。爲修改服務器端口,咱們將修改 pentaho web 應用的 web.xml 和 Jboss 的 server.xml。

如下是如何操做:

1.    抽取 web.xml 文件(從.war,位於 pentaho.war/WEB-INF/web.xml)。若是你使用預配置安裝包,web.xml 位於 pentaho-demo/jboss/server/default/deploy/pentaho.war/WEB-INF/web.xml。

2.    添加或編輯 base-url 上下文參數

3.       將 server-name 改爲用於訪問服務器的名稱或 IP 地址。若是你僅僅在相同的機器上運行服務器和 web 瀏覽器,你可將之設置成 localhost。

4.       將 port 改爲你想使用的端口號。

<context-param>

<param-name>base-url< /param-name>

<param-value>http://server-name :port/pentaho</param-value> </context-param>

 deployment descriptor 中有 base-urlsetting 的緣由是這樣應用服務器可生成包含服務器的 URLs 的內容(例如,e-mailing 內容)

如下是關於如何編輯 JBoss server.xml:

1.    編輯 <jboss-home>/server/default/deploy/jbossweb-tomcat55.sar/server.xml。server.xml 位於 jboss/server/default/deploy/jbossweb-tomcat55.sar/server.xml。若是你使用 Tomcat 5.0 或 Tomcat 5.5,也能夠應用如下命令,可是 server.xml 的位置不一樣。

2.    server.xml 文件頂部的幾行,你會看到如下行:

<!-- A HTTP/1.1 Connector on port 8080 -->

<Connector port="8080" address="${ jboss.bind.address}"

修改文本 port=」8080」,指向你想使用的端口號。若是你願意的話,你也能夠改變其餘鏈接器的端口。

Tomcat 5.0

This page last changed on Jan 30, 2007 by bhagan.

若是你將 Pentaho BI 平臺部署進 Tomcat 5.0,你可能須要如下提示。爲了訪問平臺和samples 使用的默認數據庫,你必須在 Tomcat 5.0 的 common/lib 目錄添加 hsqldb.jar (Hypersonic 數據庫 drivers)。Pentaho web 應用依賴於 JNDI 進行 datasource naming,所以爲了成功運行平臺和 samples,你須要爲 Tomcat 定義這些 datasources,使用 server.xml文件中的 xml 條目來實現。

如下是如何完成的步驟:

1.       中止 Tomcat 服務器。

2.       將 pentaho-third-party 目錄中的 hsqldb.jar 複製到 <tomcat-home>/common/lib 目錄,此處 <tomcat-home> 是你的 Tomcat 應用服務器的根目錄。你可從 pentaho-third-party目錄獲得 hsqldb.jar,其是 'pentahoj2ee_deployments-<version> .zip' 的一部分。

3.       打開 server.xml 文件,其位於 <tomcat-home>/conf 目錄。

4.      在 server.xml 文件的 <DefaultContext></DefaultContext> 節點中仔細複製和粘帖如下列出的 xml。若是你沒有 <DefaultContext></DefaultContext> 節點,建立它,並將新的 xml 粘帖在上面。

5.       保存並關閉 server.xml 文件。

6.       啓動你的數據庫,若是尚未啓動的話。

7.       重啓 Tomcat 服務器。

Sample JNDI Datasource Mappings for Tomcat 5.0

<Resource name="jdbc/SampleData" auth="Container" type="javax. sql.DataSource"/> <ResourceParams name="j dbc/SampleData">

<parameter><name>factory</name><value>org. apache. commons. dbcp . BasicDataSourceFactory</value></param <parameter><name>maxActive< /name><value>20< /value>< /parameter> <parameter><name>maxIdle</name><value>5</value></parameter> <parameter><name>maxWait</name><value>1 0000</value></parameter> <parameter><name>us ername< /name><value>pentaho _user< /value>< /parameter> <parameter><name>password</name><value>password</value></parameter> <parameter><name>driverClassName</name><value>org . hsqldb. j dbcDriver</value></parameter> <parameter><name>url</name><value>jdbc:hsqldb:hsql: //localhost/sampledata</value></parameter>

</ResourceParams>

<Resource name="j dbc/SampleDataAdmin" auth="Container" type="j avax. sql. DataSource" />

<ResourceParams name="j dbc/SampleDataAdmin">

<parameter><name>factory</name><value>org. apache. commons. dbcp . BasicDataSourceFactory</value></param <parameter><name>maxActive< /name><value>20< /value>< /parameter> <parameter><name>maxIdle</name><value>5</value></parameter>

<parameter><name>maxWait</name><value>1 0000</value></parameter>

<parameter><name>us ername< /name><value>pentaho _admin< /value>< /parameter> <parameter><name>password</name><value>password</value></parameter><parameter><name>driverClassName</name><value>org . hsqldb. j dbcDriver</value></parameter> <parameter><name>url</name><value>jdbc:hsqldb:hsql: //localhost/sampledata</value></parameter>

</ResourceParams>

<Resource name="jdbc/Hibernate" auth="Container" type="javax. sql.DataSource"/>

<ResourceParams name="j dbc/Hibernate">

<parameter><name>factory</name><value>org. apache. commons. dbcp . BasicDataSourceFactory</val ue></param <parameter><name>maxActive< /name><value>20< /value>< /parameter> <parameter><name>maxIdle</name><value>5</value></parameter>

<parameter><name>maxWait</name><value>1 0000</value></parameter> <parameter><name>username</name><value>hibuser< /value>< /parameter>

<parameter><name>password</name><value>password</value></parameter> <parameter><name>driverClassName</name><value>org . hsqldb. j dbcDriver</value></parameter> <parameter><name>url</name><value>jdbc:hsqldb:hsql: //localhost/hibernate</value></parameter>

</ResourceParams>

<Resource name="jdbc/Quartz" auth="Container" type="javax. sql.DataSource"/> <ResourceParams name="j dbc/Quartz">

<parameter><name>factory</name><value>org. apache. commons. dbcp . BasicDataSourceFactory</val ue></param <parameter><name>maxActive< /name><value>20< /value>< /parameter> <parameter><name>maxIdle</name><value>5</value></parameter> <parameter><name>maxWait</name><value>1 0000</value></parameter> <parameter><name>us ername< /name><value>pentaho _user< /value>< /parameter> <parameter><name>password</name><value>password</value></parameter> <parameter><name>driverClassName</name><value>org . hsqldb. j dbcDriver</value></parameter> <parameter><name>url</name><value>jdbc:hsqldb:hsql: //localhost/quartz</value></parameter>

</ResourceParams>

<Resource name="jdbc/Shark" auth="Container" type="javax. sql.DataSource"/> <ResourceParams name="j dbc/ Shark">

<parameter><name>factory</name><value>org. apache. commons. dbcp . BasicDataSourceFactory</val ue></param <parameter><name>maxActive< /name><value>20< /value>< /parameter> <parameter><name>maxIdle</name><value>5</value></parameter> <parameter><name>maxWait</name><value>1 0000</value></parameter> <parameter><name>username</name><value> sa</value></parameter> <parameter><name>pas sword< /name><value>< /value>< /parameter> <parameter><name>driverClassName</name><value>org . hsqldb. j dbcDriver</value></parameter> <parameter><name>url</name><value>jdbc:hsqldb:hsql: //localhost/shark</value></parameter>

</ResourceParams>

<Resource name="jdbc/datasource1" auth="Container" type="javax. sql. DataSource"/>

<ResourceParams name="j dbc/datasource1">

<parameter><name>factory</name><value>org. apache. commons. dbcp . BasicDataSourceFactory</value></param <parameter><name>maxActive< /name><value>20< /value>< /parameter> <parameter><name>maxIdle</name><value>5</value></parameter>

<parameter><name>maxWait</name><value>1 0000</value></parameter>

<parameter><name>us ername< /name><value>pentaho _user< /value>< /parameter> <parameter><name>password</name><value>password</value></parameter><parameter><name>driverClassName</name><value>org . hsqldb. j dbcDriver</value></parameter> <parameter><name>url</name><value>jdbc:hsqldb:hsql: //localhost/sampledata</value></parameter>

</ResourceParams>

<Resource name="jdbc/datasource2" auth="Container" type="javax. sql. DataSource"/>

<ResourceParams name="j dbc/datasource2">

<parameter><name>factory</name><value>org. apache. commons. dbcp . BasicDataSourceFactory</val ue></param <parameter><name>maxActive< /name><value>20< /value>< /parameter> <parameter><name>maxIdle</name><value>5</value></parameter>

<parameter><name>maxWait</name><value>1 0000</value></parameter>

<parameter><name>us ername< /name><value>pentaho _user< /value>< /parameter> <parameter><name>password</name><value>password</value></parameter><parameter><name>driverClassName</name><value>org . hsqldb. j dbcDriver</value></parameter> <parameter><name>url</name><value>jdbc:hsqldb:hsql: //localhost/sampledata</value></parameter>

</ResourceParams>

<Resource name="jdbc/datasource3" auth="Container" type="javax. sql. DataSource"/>

<ResourceParams name="j dbc/datasource3">

<parameter><name>factory</name><value>org. apache. commons. dbcp . BasicDataSourceFactory</val ue></param <parameter><name>maxActive< /name><value>20< /value>< /parameter> <parameter><name>maxIdle</name><value>5</value></parameter>

<parameter><name>maxWait</name><value>1 0000</value></parameter>

<parameter><name>us ername< /name><value>pentaho _user< /value>< /parameter> <parameter><name>password</name><value>password</value></parameter><parameter><name>driverClassName</name><value>org . hsqldb. j dbcDriver</value></parameter> <parameter><name>url</name><value>jdbc:hsqldb:hsql: //localhost/sampledata</value></parameter>

</ResourceParams>

<Resource name="jdbc/datasource4" auth="Container" type="javax. sql. DataSource"/>

<ResourceParams name="j dbc/datasource4">

<parameter><name>factory</name><value>org. apache. commons. dbcp . BasicDataSourceFactory</val ue></param <parameter><name>maxActive< /name><value>20< /value>< /parameter> <parameter><name>maxIdle</name><value>5</value></parameter>

<parameter><name>maxWait</name><value>1 0000</value></parameter>

<parameter><name>us ername< /name><value>pentaho _user< /value>< /parameter> <parameter><name>password</name><value>password</value></parameter><parameter><name>driverClassName</name><value>org . hsqldb. j dbcDriver</value></parameter> <parameter><name>url</name><value>jdbc:hsqldb:hsql: //localhost/sampledata</value></parameter>

</ResourceParams>

<ResourceParams name="j dbc/datasource5">

<parameter><name>factory</name><value>org. apache. commons. dbcp . BasicDataSourceFactory</val ue></param <parameter><name>maxActive< /name><value>20< /value>< /parameter> <parameter><name>maxIdle</name><value>5</value></parameter>

<parameter><name>maxWait</name><value>1 0000</value></parameter>

<parameter><name>us ername< /name><value>pentaho _user< /value>< /parameter> <parameter><name>password</name><value>password</value></parameter><parameter><name>driverClassName</name><value>org . hsqldb. j dbcDriver</value></parameter> <parameter><name>url</name><value>jdbc:hsqldb:hsql: //localhost/sampledata</value></parameter>

</ResourceParams>

<Resource name="jdbc/solution1" auth="Container" type="javax. sql.DataSource"/>

<ResourceParams name="j dbc/solution1">

<parameter><name>factory</name><value>org. apache. commons. dbcp . BasicDataSourceFactory</val ue></param <parameter><name>maxActive< /name><value>20< /value>< /parameter> <parameter><name>maxIdle</name><value>5</value></parameter>

<parameter><name>maxWait</name><value>1 0000</value></parameter>

<parameter><name>us ername< /name><value>pentaho _user< /value>< /parameter> <parameter><name>password</name><value>password</value></parameter><parameter><name>driverClassName</name><value>org . hsqldb. j dbcDriver</value></parameter> <parameter><name>url</name><value>jdbc:hsqldb:hsql: //localhost/sampledata</value></parameter>

</ResourceParams>

<Resource name="jdbc/solution2" auth="Container" type="javax. sql.DataSource"/>

<ResourceParams name="j dbc/solution2">

<parameter><name>factory</name><value>org. apache. commons. dbcp . BasicDataSourceFactory</value></param <parameter><name>maxActive< /name><value>20< /value>< /parameter> <parameter><name>maxIdle</name><value>5</value></parameter>

<parameter><name>maxWait</name><value>1 0000</value></parameter>

<parameter><name>us ername< /name><value>pentaho _user< /value>< /parameter> <parameter><name>password</name><value>password</value></parameter><parameter><name>driverClassName</name><value>org . hsqldb. j dbcDriver</value></parameter> <parameter><name>url</name><value>jdbc:hsqldb:hsql: //localhost/sampledata</value></parameter>

</ResourceParams>

<Resource name="jdbc/solution3" auth="Container" type="javax. sql.DataSource"/>

<ResourceParams name="j dbc/solution3">

<parameter><name>factory</name><value>org. apache. commons. dbcp . BasicDataSourceFactory</value></param <parameter><name>maxActive< /name><value>20< /value>< /parameter> <parameter><name>maxIdle</name><value>5</value></parameter>

<parameter><name>maxWait</name><value>1 0000</value></parameter>

<parameter><name>us ername< /name><value>pentaho _user< /value>< /parameter> <parameter><name>password</name><value>password</value></parameter><parameter><name>driverClassName</name><value>org . hsqldb. j dbcDriver</value></parameter> <parameter><name>url</name><value>jdbc:hsqldb:hsql: //localhost/sampledata</value></parameter>

</ResourceParams>

<Resource name="jdbc/solution4" auth="Container" type="javax. sql.DataSource"/>

<ResourceParams name="j dbc/solution4">

<parameter><name>factory</name><value>org. apache. commons. dbcp . BasicDataSourceFactory</val ue></param <parameter><name>maxActive< /name><value>20< /value>< /parameter> <parameter><name>maxIdle</name><value>5</value></parameter>

<parameter><name>maxWait</name><value>1 0000</value></parameter>

<parameter><name>us ername< /name><value>pentaho _user< /value>< /parameter> <parameter><name>password</name><value>password</value></parameter><parameter><name>driverClassName</name><value>org . hsqldb. j dbcDriver</value></parameter> <parameter><name>url</name><value>jdbc:hsqldb:hsql: //localhost/sampledata</value></parameter>

</ResourceParams>

<Resource name="jdbc/solution5" auth="Container" type="javax. sql.DataSource"/>

<ResourceParams name="j dbc/solution5">

<parameter><name>factory</name><value>org. apache. commons. dbcp . BasicDataSourceFactory</val ue></param <parameter><name>maxActive< /name><value>20< /value>< /parameter> <parameter><name>maxIdle</name><value>5</value></parameter>

<parameter><name>maxWait</name><value>1 0000</value></parameter>

<parameter><name>us ername< /name><value>pentaho _user< /value>< /parameter> <parameter><name>password</name><value>password</value></parameter><parameter><name>driverClassName</name><value>org . hsqldb. j dbcDriver</value></parameter> <parameter><name>url</name><value>jdbc:hsqldb:hsql: //localhost/sampledata</value></parameter>

</ResourceParams>

<Resource name="jdbc/datasource5" auth="Container" type="javax. sql. DataSource"/>

 sample PCI 中,提供了 datasourceX  solutionX JNDI 名,這使得用戶易於配置服務器和他們的數據源進行通訊,而沒必要修改 Pentaho web.xml然而,在一個資源受限的環境中,在相同的服務器上定義多個 JNDI 鏈接可能會用盡有價值的數據庫服務器鏈接(依賴於服務器的 JNDI 實現)。若是你選擇不包括 datasourceX  solutionX 數據源,你必須從 web 應用 deployment descriptor (web.xml) 手動刪除聲明。在 web.xml 底部,你查找全部引用了datasourceX/solutionX JNDI 名的 resource reference (resource-ref) 條目。

在這個步驟中,假設 Tomcat 被設置成自動部署新的 web 應用。

Tomcat 5.5 (在本文成文時還不是一個 JSR168 兼容的 portlet 容器,所以任何 Pentaho portal 功能或 samples不會運行。Stringbeans 是一個開源的 JSR-168 portal,其和 Apache Tomcat 一塊兒運行。但願社區人員能提供如何在 Tomcat 5.5 上(或其餘 portals)集成 Stringbeans 的命令。

若是你在裝載持久會話時,出現相似於 IOException 的錯誤,在 <Context> 元素上添加如下代碼:

<Manager className= "org.apache.catalina.session .PersistentManager" saveOnRestart= "false"/>

Tomcat 5.5

This page last changed on Jan 30, 2007 by bhagan.

若是你將 Pentaho BI 平臺部署進 Tomcat 5.5,按照下面的提示來操做。爲了訪問平臺和 samples 的默認數據庫,你必須在 Tomcat 5.5 的 common/lib 目錄中添加 hsqldb.jar (Hypersonic 數據庫 drivers)。Pentaho web 應用依賴於 JNDI 進行 datasource naming,所以爲了成功運行平臺和 samples,你須要爲 Tomcat 定義這些 datasources。咱們發如今內嵌於 <Host> 元素的<Context> 元素上添加 resources 也很好。如下提供了一些實例 xml。

如下是操做步驟:

1.       中止 Tomcat 服務器。

2.       將 pentaho.war 複製進 <tomcat-home>/webapps。

3.     將 pentaho-third-party 目錄中的 hsqldb.jar 複製到 <tomcat-home>/common/lib 目錄,此處 <tomcat-home> 是你的 Tomcat 應用服務器的根目錄。你可從 pentaho-third-party 目錄獲得hsqldb.jar,其是 'pentahoj2ee_deployments-<version> .zip' 的一部分。

4.       打開 server.xml 文件,其位於 <tomcat-home>/conf 目錄。

5.       server.xml 文件的 <Host></Host> 元素中仔細添加如下列出的 xml。

6.       保存並關閉 server.xml 文件。

7.       啓動你的數據庫,若是它還沒啓動的話。

8.       重啓 Tomcat 服務器。

Tomcat 5.5 的實例 JNDI Datasource mappings

<Context path="/pentaho" docbase="webapps/pentaho/">

<Resource name="jdbc/SampleData" auth="Container" type="javax. sql .DataSource" maxActive="20" maxIdle="5" maxWait="10000" username="pentaho _user" password="password" factory="org. apache. commons . dbcp . BasicDataSourceFactory"

driverClassName="org . hsqldb . jdbcDriver"

url="jdbc:hsqldb:hsql://localhost/sampledata" />

<Resource name="jdbc/Hibernate" auth="Container" type="javax. sql. DataSource" factory="org.apache .commons .dbcp.BasicDataSourceFactory" maxActive="20" maxIdle="5" maxWait="10000" username="hibuser" password="password" driverClassName="org.hsqldb.jdbcDriver" url="jdbc:hsqldb:hsql: //localhost/hibernate" />

<Resource name="jdbc/Quartz" auth="Container" type="javax. sql .DataSource" factory="org.apache .commons .dbcp.BasicDataSourceFactory" maxActive="20" maxIdle="5" maxWait="10000" username="pentaho _user" password="password" driverClassName="org.hsqldb.jdbcDriver" url="jdbc:hsqldb:hsql: //localhost/quartz" />

<Resource name="j dbc/ Shark" auth="Container" type="j avax. sql. DataSource" factory="org.apache .commons .dbcp.BasicDataSourceFactory" maxActive="20" maxIdle="5" maxWait="10000" username="sa" password="" driverClassName="org.hsqldb.jdbcDriver"url="jdbc:hsqldb:hsql://localhost/shark" />

<Resource name="jdbc/SampleDataAdmin" auth="Container" type="javax. sql.DataSource" maxActive="20"

maxIdle="5" maxWait="10000" username="pentaho_admin" password="password" factory="org. apache. commons . dbcp . BasicDataSourceFactory"

driverClassName="org . hsqldb . j dbcDriver"

url="jdbc:hsqldb:hsql://localhost/sampledata" />

<Resource name="jdbc/solution1" auth="Container" type="javax. sql. DataSource" maxActive="20" maxIdle="5" maxWait="10000" username="pentaho _user" password="password" factory="org. apache. commons . dbcp . BasicDataSourceFactory"

driverClassName="org . hsqldb . j dbcDriver"

url="jdbc:hsqldb:hsql://localhost/sampledata" />

<Resource name="jdbc/solution2" auth="Container" type="javax. sql. DataSource" maxActive="20" maxIdle="5" maxWait="10000" username="pentaho _user" password="password" factory="org. apache. commons . dbcp . BasicDataSourceFactory"

driverClassName="org . hsqldb . j dbcDriver"

url="jdbc:hsqldb:hsql://localhost/sampledata" />

<Resource name="jdbc/solution3" auth="Container" type="javax. sql. DataSource" maxActive="20" maxIdle="5" maxWait="10000" username="pentaho _user" password="password"

factory="org. apache. commons . dbcp . BasicDataSourceFactory" driverClassName="org . hsqldb . j dbcDriver"

url="jdbc:hsqldb:hsql://localhost/sampledata" />

<Resource name="jdbc/solution4" auth="Container" type="javax. sql. DataSource" maxActive="20" maxIdle="5" maxWait="10000" username="pentaho _user" password="password"

factory="org. apache. commons . dbcp . BasicDataSourceFactory" driverClassName="org . hsqldb . j dbcDriver"

url="jdbc:hsqldb:hsql://localhost/sampledata" />

<Resource name="jdbc/solution5" auth="Container" type="javax. sql. DataSource" maxActive="20" maxIdle="5" maxWait="10000" username="pentaho _user" password="password"

factory="org. apache. commons . dbcp . BasicDataSourceFactory" driverClassName="org . hsqldb . j dbcDriver"

url="jdbc:hsqldb:hsql://localhost/sampledata" />

<Resource name="jdbc/datasource1" auth="Container" type="javax. sql.DataSource" maxActive="20" maxIdle="5" maxWait="10000" username="pentaho _user" password="password"

factory="org. apache. commons . dbcp . BasicDataSourceFactory" driverClassName="org . hsqldb . jdbcDriver"

url="jdbc:hsqldb:hsql://localhost/sampledata" />

<Resource name="jdbc/datasource2" auth="Container" type="javax. sql.DataSource" maxActive="20" maxIdle="5" maxWait="10000" username="pentaho _user" password="password"

factory="org. apache. commons . dbcp . BasicDataSourceFactory"

driverClassName="org . hsqldb . jdbcDriver"

url="jdbc:hsqldb:hsql://localhost/sampledata" />

<Resource name="jdbc/datasource3" auth="Container" type="javax. sql.DataSource" maxActive="20" maxIdle="5" maxWait="10000" username="pentaho _user" password="password"

factory="org. apache. commons . dbcp . BasicDataSourceFactory" driverClassName="org . hsqldb . jdbcDriver"

url="jdbc:hsqldb:hsql://localhost/sampledata" />

<Resource name="jdbc/datasource4" auth="Container" type="javax. sql.DataSource" maxActive="20" maxIdle="5" maxWait="10000" username="pentaho _user" password="password"

factory="org. apache. commons . dbcp . BasicDataSourceFactory" driverClassName="org . hsqldb . jdbcDriver"

url="jdbc:hsqldb:hsql://localhost/sampledata" />

<Resource name="jdbc/datasource5" auth="Container" type="javax. sql.DataSource" maxActive="20" maxIdle="5" maxWait="10000" username="pentaho _user" password="password"

factory="org. apache. commons . dbcp . BasicDataSourceFactory" driverClassName="org . hsqldb . jdbcDriver"

url="jdbc:hsqldb:hsql://localhost/sampledata" /> </Context>

 sample PCI 中,提供了 datasourceX  solutionX JNDI 名,這使得用戶易於配置服務器和他們的數據源進行通訊,而沒必要修改 Pentaho web.xml然而,在一個資源受限的環境中,在相同的服務器上定義多個 JNDI 鏈接可能會用盡有價值的數據庫服務器鏈接(依賴於服務器的 JNDI 實現)。若是你選擇不包括 datasourceX  solutionX 數據源,你必須從 web 應用 deployment descriptor (web.xml) 手動刪除聲明。在 web.xml 底部,你查找全部引用了datasourceX/solutionX JNDI 名的 resource reference (resource-ref) 條目。

在這個步驟中,假設 Tomcat 被設置成自動部署新的 web 應用。

Tomcat 5.5 (在本文成文時還不是一個 JSR168 兼容的 portlet 容器,所以任何 Pentaho portal 功能或 samples不會運行。Stringbeans 是一個開源的 JSR-168 portal,其和 Apache Tomcat 一塊兒運行。但願社區人員能提供如何在 Tomcat 5.5 上(或其餘 portals)集成 Stringbeans 的命令。

若是你在裝載持久會話時,出現相似於 IOException 的錯誤,在 <Context> 元素上添加如下代碼:

<Manager className= "org.apache.catalina.session .PersistentManager" saveOnRestart= "false"/>

相關文章
相關標籤/搜索