论坛首页 Java企业应用论坛

在tomcat上部署pentaho 1.5.3

浏览 7078 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-06-02  
在tomcat上部署pentaho 1.5.3
最近一直在做mondrian的foodmart的实验,有位朋友的公司要部署一个pentaho的demo来做演示,我跟他说直接运行demo就可以了,但是他们公司非要自己从头配一个,所以我就自己做了一下实验基于最新的1.5.3的,其实步骤都差不多,其他版本也应该可以,希望能给喜欢pentaho的朋友一点帮助。

1 . 首先需要下载pentaho-j2ee-deployment-<version> , pentaho-data-<version> 和 pentaho-solution-<version> 三个包,分别解压到三个不同的地方
2 . 从命令行进入pentaho-j2ee-deployment 目录,运行ant -p 会列出所有的ant 任务,执行war-pentaho-tomcat-hypersonic任务,成功之后会生成4个war包,pentaho-portal-layout.war , pentaho-style.war 和 sw-style.war ,(sw-style.war 是steel-wheel-style ,是可选项,可能是pentaho的一个例子或者是pentaho的一种style风格),还有多出一个tomcat目录下的hsqldb目录下有一个pentaho.war ,如果你执行的是war-pentaho-mysql就是在tomcat目录下有个mysql5目录,里面一样是pentaho.war.我选用的是hsqldb .
3 . 在你的tomcat的安装目录下找到conf / server.xml 文件,在其中的host 元素下加上如下这一段,这一段是从pentaho的文档里面抄来的,manual-deployment-pentaho-<version> ,其中它列出来的有些多余,这个文档应该使用confluence 用pdf 方式导出的,抄的时候注意检查一下xml 元素排版上的问题.它列出的resource 元素太多了,你查看pentaho-data-<version> 包里面,应该只有四个数据库hibernate,sampledata,shark,quartz ,把不用的resource元素都删掉,(应该是最上面的四个).如果你的tomcat启动不了了,检查一下你添加的部分是不是有错。

</version></version></version></version></version>
xml 代码
  1. <Context path="/pentaho" docbase="webapps/pentaho/">
  2. <Resource name="jdbc/SampleData" auth="Container"
  3. type="javax.sql.DataSource" maxActive="20" maxIdle="5" maxWait="10000"
  4. username="pentaho_user" password="password"
  5. factory="org.apache.commons.dbcp.BasicDataSourceFactory"
  6. driverClassName="org.hsqldb.jdbcDriver"
  7. url="jdbc:hsqldb:hsql://localhost/sampledata" />
  8. <Resource name="jdbc/Hibernate" auth="Container"
  9. type="javax.sql.DataSource"
  10. factory="org.apache.commons.dbcp.BasicDataSourceFactory"
  11. maxActive="20" maxIdle="5" maxWait="10000" username="hibuser"
  12. password="password" driverClassName="org.hsqldb.jdbcDriver"
  13. url="jdbc:hsqldb:hsql://localhost/hibernate" />
  14. <Resource name="jdbc/Quartz" auth="Container"
  15. type="javax.sql.DataSource"
  16. factory="org.apache.commons.dbcp.BasicDataSourceFactory"
  17. maxActive="20" maxIdle="5" maxWait="10000" username="pentaho_user"
  18. password="password" driverClassName="org.hsqldb.jdbcDriver"
  19. url="jdbc:hsqldb:hsql://localhost/quartz" />
  20. <Resource name="jdbc/Shark" auth="Container"
  21. type="javax.sql.DataSource"
  22. factory="org.apache.commons.dbcp.BasicDataSourceFactory"
  23. maxActive="20" maxIdle="5" maxWait="10000" username="sa" password=""
  24. driverClassName="org.hsqldb.jdbcDriver"
  25. url="jdbc:hsqldb:hsql://localhost/shark" />
  26. <!---->Context>

<context path="/pentaho" docbase="webapps/pentaho/"><context docbase="webapps/pentaho/" path="/pentaho"><resource auth="Container" name="jdbc/SampleData"><resource name="jdbc/SampleData" auth="Container"><resource name="jdbc/Hibernate" auth="Container"><resource auth="Container" name="jdbc/Hibernate"><resource name="jdbc/Quartz" auth="Container"><resource auth="Container" name="jdbc/Quartz"><resource name="jdbc/Shark" auth="Container"><context docbase="webapps/pentaho/" path="/pentaho"><resource auth="Container" name="jdbc/Hibernate"><resource auth="Container" name="jdbc/Quartz"><resource auth="Container" name="jdbc/Shark"></resource></resource></resource></context></resource></resource></resource></resource></resource></resource></resource></context></context>
4 . 把pentaho.war copy到tomcat 的webapps目录下,它会自动解压的,然后关闭tomcat , 找到pentaho/WEB-INF/web.xml 文件,找到solution-path元素,指向你解压后的pentaho-solution-<version> 目录,注意java里面是用正斜杠 / ,如果你从windows的地址栏copy的话注意把反斜杠改一下.
5 . 修改pentaho/WEB-INF/classes 目录下的log4j.xml文件,把<appender 这一段的="" name="CONSOLE"> 里面的value改成INFO,或者更高,这一步是可选项,主要是启动的时候出现很多不必要的debug 信息.如果你启动的时候出错了,再改回来。(一般都是solution-path没有找对,我用7-zip解压的时候老是解压到一个新的目录,所以后来指定 solution-path 的时候,目录地址高了一级.)
6 . 启动pentaho-data-<version> 目录里面的hsqldb数据库.
7 . 这个时候启动tomcat ,应该是不报任何错误的.你把浏览器指向http://localhost:8080/pentaho ,会看到pentaho的界面的,只不过是没有什么颜色的那种.
8 . 把编译後的三个war文件copy到tomcat 的webapps目录下,等它们自动解压之后,再进去看,发现有了样式了。安装就完成了.

贴几张图:
pentaho成功启动后应该有 Pentaho BI 平台服务器就绪 这句话.


安装了style 和 portal 包之后的登录界面


在pentaho-data-<version> 目录的lib 目录下执行java -cp hsqldb.jar org.hsqldb.util.DatabaseManager 出现的hsqldb 的manager 登录画面
用户名和密码都在相应目录的数据库文件里面,hsqldb的数据库文件是可以用
文本编辑器打开的,搜索password就可以找到用户名和密码了


sampledata 里面的数据




我在安装的时候也碰到了诸多的问题,
1 . 一开始编译的时候使用的ant war-pentaho-tomcat 任务,它直接报错,说找不到rdbms目录,后来猜想这个任务应该是留给其他数据库编译的时候扩展的.直接就换了war-pentaho-tomcat-hypersonic 任务重新编译了一次
2 . 后来从文档里copy出数据源的那句话出错了,导致tomcat启动不了,因为从pdf文件copy的那段话排版有问题,后来把它粘贴到eclipse(装了WTP插件的)里面,一格式化就看出来了,context 元素和后面的属性path中间的空格没了,还有多出来了几个resource元素.
3 . 指定solution-path的时候目录高了一级.
4 . 启动tomcat的时候出现了很多不必要的debug信息,修改log4j文件就可以了,它在tomcat/bin 目录下还会生成几个log文件,像是server.log 和ReportEngine_<data time="">.log 文件。


写这篇文章的目的更多的是希望喜欢pentaho的朋友在用pentaho做实验的时候能够学会思考,出现了问题先在网上找资料,而不是无论遇到什么问题都求别人来回答你,知识是长期积累的过程,新技术总是不断的出现,比如最近火的不得了的JavaFX,
也许将来pentaho可能会用JavaFX 来做OLAP 和 DashBoard 也不一定的 。关键还是要掌握学习的方法,学会思考问题 . 我安装的时候也遇到了很多问题,但是只要你细细的分析问题的原因,总是可以找出解决的办法的.
</data></version></version></appender></version>
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics