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
改变服务器端口 服务器
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 应用服务器,其中已经为你配置好了一切。若是想尽快省力的配置运行,咱们推荐使用预配置安装包。这个指南为那些想在本身的环境中设置平台的人提供了一种选择。
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.4。Pentaho 社区和开发组欢迎各类反馈–不论是面临的问题,仍是仅仅想让咱们知道你成功配置了环境–关于在其它应用程序服务器上的配置。请使用 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
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 被安装为一个服务,启动服务的用户帐户也须要有建立权限。 |
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 |
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"
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”,指向你想使用的端口号。若是你愿意的话,你也能够改变其余链接器的端口。
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"/> |
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"/> |