Pentaho BI开源报表系统

为什么用开源报表系统?http://reporting.pentaho.com/

做好配置数据源后不需要做代码的开发就可以展示各种报表

 

http://www.pentaho.com/download/这个用的是企业版,证书过期了,只能系统重装,再试用30天吧,推荐使用社区版

 

pentaho 是世界上最流行的开源商务智能软件。它是一个基于 Java 平台的商业智能 (Business Intelligence,BI) 套件,之所以说是套件是因为它包括一个 web server 平台和几个工具软件:报表,分析,图表,数据集成,数据挖掘等,可以说包括了商务智能的方方面面。Pentaho 是跨平台的, linux,windows 上都可以安装,而且安装十分简单,就两个步骤:解压,执行。

 

增加CATALINA_OPTS环境变量,让Apache-Tomcat服务器能使用比默认值更多的内存

Java代码  

  1. CATALINA_OPTS= Dsun.rmi.dgc.server.gcInterval=3600000  

配置jdk环境变量

Java代码  

  1. PATH = C:\Program Files (x86)\Java\jdk1.6.0_05\bin;C:\Program Files (x86)\Java\jdk1.6.0_05\jre\bin;C:\Program Files\Java\jdk1.6.0_05  
  2. JAVA_HOME = C:\Program Files (x86)\Java\jdk1.6.0_05  
  3. CLASSPATH = C:\Program Files (x86)\Java\jdk1.6.0_05\lib\tools.jar    

bi-server平台是一个基于tomcat的JSP web 程序,包含两个界面:user console和administration console,分别对应的是用户控制台和管理控制台。其作用如下:

用户控制台:供用户登录进去对数据进行操作,如报表,分析等。localhost:8080

管理控制台:供管理员进去对用户,数据源(Data source),BI server等做全局设置。localhost:8099

 

创建样例数据库 (样例不报错)
进入MySQL控制台,导入sql命令:顺序如下:

Java代码  

  1. source  E:\BI\pentaho\biserver-ce\data\mysql5\create_repository_mysql.sql  
  2. source  E:\BI\pentaho\biserver-ce\data\mysql5\create_quartz_mysql.sql  
  3. source  E:\BI\pentaho\biserver-ce\data\mysql5\load_sample_users_mysql.sql  
  4. source  E:\BI\pentaho\biserver-ce\data\mysql5\migration.sql  

导入成功可以查看样例程序报表

sample_data_mysql.sql,最后一个sql文件貌似没有,需要大家额外到pentaho官网下载,比较费事。接下我给大家一个集成版的sql脚本文件见附件,只需运行它便可以完成以上所以脚本文件的工作。

登录到administration console中,在administration 页面的”data sources”标签下,点左边的“sampledata”,可以看到当前使用的数据源仍就是hsql里面的 sampledata库。
在General页下
Driver Class 选"com.mysql.jdbc.Driver"
User Name: pentaho_user(默认是这个,所以不改)
Password: password(默认是这个,所以不改)
URL 修改为  jdbc:mysql://localhost:3306/sampledata (根据实际的mysql端口更改)
在Advanced页下
将"Validation Query" 设为空或者SELECT 1

下面将Pentaho BI平台指向MySQL数据库服务器 ,不再使用自带的HSQL数据库。下面,你将需要修改几个配置文件:

A、将biserver-ce\pentaho-solutions\system\applicationContext-spring-security-hibernate.properties

Java代码  

  1. jdbc.driver=org.hsqldb.jdbcDriver  
  2. jdbc.url=jdbc:hsqldb:hsql://localhost:9001/hibernate  
  3. jdbc.username=hibuser  
  4. jdbc.password=password  
  5. hibernate.dialect=org.hibernate.dialect.HSQLDialect  

改成:

Java代码  

  1. jdbc.driver=com.mysql.jdbc.Driver  
  2. jdbc.url=jdbc:mysql://localhost:3306/hibernate  
  3. jdbc.username=hibuser  
  4. jdbc.password=password  
  5. hibernate.dialect=org.hibernate.dialect.MySQLDialect  

 B、将biserver-ce\pentaho-solutions\system\applicationContext-spring-security-jdbc.xml

Java代码  

  1. <!--  This is only for Hypersonic. Please update this section for any other database you are using -->  
  2. <bean id="dataSource"  
  3.     class="org.springframework.jdbc.datasource.DriverManagerDataSource">  
  4.     <property name="driverClassName" value="org.hsqldb.jdbcDriver" />  
  5.     <property name="url"  
  6.         value="jdbc:hsqldb:hsql://localhost:9001/hibernate" />  
  7.     <property name="username" value="hibuser" />  
  8.     <property name="password" value="password" />  
  9. </bean>  

 将高亮部分替换为:

Java代码  

  1. .....................  
  2.    <property name="driverClassName" value="com.mysql.jdbc.Driver" />  
  3.    <property name="url"  
  4.         value="jdbc:mysql://localhost:3306/hibernate" />  
  5.    <property name="username" value="hibuser" />  
  6.    <property name="password" value="password"/>  
  7. </bean>  

C. 如果修改以上username/password后,进入biserver-ce\pentaho-solutions\system\hibernate目录:将mysql5.hibernate.cfg.xml中的也要修改:

Java代码  

  1. <property name="connection.username">hibuser</property>  
  2. <property name="connection.password">password</property>  

 biserver-ce\pentaho-solutions\bi-developers\datasources下的HQL_Datasource_MySQL.cfg.xml也要修改用户名密码

Java代码  

  1. <property name="connection.username">hibuser</property>  
  2. <property name="connection.password">password</property>  

D、将biserver-ce\pentaho-solutions\system\hibernate/hibernate-settings.xml中的:

Java代码  

  1. <config-file>system/hibernate/hsql.hibernate.cfg.xml</config-file>  

 改成:

Java代码  

  1. <config-file>system/hibernate/mysql5.hibernate.cfg.xml</config-file>  

配置 Hibernate和Quartz 
Hibernate和Quartz需使用创建在MySQL服务器上的相应数据库。因此,需要修改biserver-ce\tomcat\webapps\pentaho\META-INF目录里的context.xml文件,将内容改为: 

Java代码  

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <Context path="/pentaho" docbase="webapps/pentaho/">  
  3.     <Resource name="jdbc/Hibernate" auth="Container" type="javax.sql.DataSource"  
  4.         factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20" maxIdle="5"  
  5.         maxWait="10000" username="hibuser" password="password"  
  6.         driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/hibernate"  
  7.         validationQuery="select 1" />  
  8.                    
  9.     <Resource name="jdbc/Quartz" auth="Container" type="javax.sql.DataSource"  
  10.         factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20" maxIdle="5"  
  11.         maxWait="10000" username="pentaho_user" password="password"  
  12.         driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/quartz"  
  13.         validationQuery="select 1"/>  
  14. </Context>  

 修改biserver-ce\tomcat\webapps\pentaho\WEB_INF\目录里的 web.xml 文件,可以对Pentaho BI 平台进行以下配置:

pentaho-solutions 的位置

Java代码  

  1. <context-param>  
  2.     <param-name>solution-path</param-name>  
  3.     <param-value></param-value>  
  4. </context-param>  

根据你的安装情况,进行相关参数配置改为

Java代码  

  1. <context-param>  
  2.     <param-name>solution-path</param-name>  
  3.     <param-value>yourpath\to\biserver-ce\pentaho-solutions</param-value>  
  4. </context-param>  

URL找到下面这段代码:

Java代码  

  1. <param-value>http://localhost:8080/pentaho/</param-value>  

修改样例(根据你的电脑或服务器的域名或IP地址修改):

Java代码  

  1. <param-value>http://www.prashantraju.com:8080/pentaho/</param-value>  
  2.     <!-- or -->  
  3. <param-value>http://192.168.1.10:8080/pentaho/</param-value>  

配置Email 修改文件biserver-ce\pentaho-solutions\system\smtp-email\email_config.xml
   配置<mail.smtp.host>项,设置为SMTP发送服务器的名称或IP
   配置<mail.smtp.auth>项,如果需要认证则设置为true
   配置<mail.from.default>项,用于当发送邮件时配置谁发的邮件,需要写一个可用的Email地址
   配置<mail.userid>和<mail.password>,登录邮箱的用户名和密码

配置发布密码Publishing

默认设置下,发布功能是禁止的,要打开它,需设置一个密码。

在biserver-ce\pentaho-solutions\system\目录找到publisher_config.xml文件
找到下面代码:

Java代码  

  1. <publisher-config>  
  2. <publisher-password></publisher-password>  
  3. </publisher-config>  

修改样例(以后,要把内容发布到Pentaho BI平台,就需要下面设置的密码了):

Java代码  

  1. <publisher-config>  
  2. <publisher-password>password</publisher-password>  
  3. </publisher-config>  

 

①下载解压biserver-ce-XX-stable.zip,执行目录下的脚本start-pentaho.sh 来启动user console

运行命令 ./start-pentaho.sh ( start-pentaho.bat) 输出如下:
   

②执行administration-console目录下的脚本start.sh来启动administration console。

运行命令./start-pac.sh & 输出如下:

Java代码  

  1. DEBUG: Using JAVA_HOME  
  2. DEBUG: _PENTAHO_JAVA_HOME=C:\Program Files (x86)\Java\jdk1.6.0_05  
  3. DEBUG: _PENTAHO_JAVA=C:\Program Files (x86)\Java\jdk1.6.0_05\bin\java.exe  
  4. 17:28:48,762 INFO  [JettyServer] Console is starting  
  5. 17:28:48,786 INFO  [/] org.pentaho.pac.server.BrowserLocaleServlet-1259414: init  
  6.   
  7. 17:28:48,786 INFO  [/] org.pentaho.pac.server.DefaultConsoleServlet-16416372: in  
  8. it  
  9. 17:28:48,786 INFO  [/] org.pentaho.pac.server.PacServiceImpl-6609937: init  
  10. 17:28:48,787 INFO  [/] org.pentaho.pac.server.SchedulerServiceImpl-32481053: ini  
  11. t  
  12. 17:28:48,787 INFO  [/] org.pentaho.pac.server.SolutionRepositoryServiceImpl-5256  
  13. 233: init  
  14. 17:28:48,787 INFO  [/] org.pentaho.pac.server.SubscriptionServiceImpl-24669796:  
  15. init  
  16. 17:28:48,787 INFO  [/] org.pentaho.pac.server.common.HibernateConfigurationServi  
  17. ceImpl-1012673: init  
  18. 17:28:48,787 INFO  [/] org.pentaho.pac.server.common.JdbcDriverDiscoveryServiceI  
  19. mpl-32960703: init  
  20. 17:28:48,797 INFO  [JettyServer] Console is now started. It can be accessed usin  
  21. g http://admin-PC:8099 or http://192.168.1.123:8099  

①登录user console

打开链接http://localhost:8080/pentaho ,看到如下界面

 

②登录administration console

打开链接http://localhost:8099 ,会提示输入用户密码,分别输入admin : password

登录进去以后显示的界面如下

 

6.停止
①执行目录下的脚本stop-pentaho.sh 来停止user console。
②执行administration-console目录下的脚本stop.sh来停止administration console。

时间: 2024-11-02 20:03:36

Pentaho BI开源报表系统的相关文章

AgileEAS.NET SOA 中间件平台 5.2 发布说明-包含Silverlight及报表系统的开源代码下载

一.AgileEAS.NET SOA 中间件简介      AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市场快速变化的开发团队,以达到节省开发成本.缩短开发时间,快速适应市场变化的目的.      AgileEAS.NET SOA中间件平台提供了敏捷快速开发软件工程的最佳实践,通过提供大量的基础支撑功能如IOC.ORM.SOA.分布式体系及敏捷并发开发方

OSS报表系统实训笔记

笔记    OSS报表系统 实训笔记                   实训公司:中科天地 (王海格,老师超好)                                     Edited by Hen Egg ,Michelangelo 2005-2-21 8:00 JasperReport 开支 面向OO 应用服务器 Java 开源数据库 J2EE 需求分析     成绩: 课堂表现 项目     项目: l         Java平台 (1)       (编程语言)开发环境

Java开源缓存系统的介绍

缓存 几种java开源缓存系统的性能比较: 以下是几个著名java开源缓存系统的介绍: OSCacheOSCache是个一个广泛采用的高性能的J2EE缓存框架,OSCache能用于任何Java应用程序的普通的缓存解决方案.OSCache有以下特点:缓存任何对象,你可以不受限制的缓存部分jsp页面或HTTP请求,任何java对象都可以缓存.拥有全面的API--OSCache API给你全面的程序来控制所有的OSCache特性.永久缓存--缓存能随意的写入硬盘,因此允许昂贵的创建(expensive

一款比较好用的开源报表--百灵报表(birt)

问题描述 最近接触了一款比较好用的开源报表,介绍给大家,如果有问题希望大家互相学习和讨论!BIRT报表设计器是一个基于Eclipse的开源报表插件,功能也很强大,给J2EE的WEB应用程序创建漂亮醒目的PDF或者HTML格式的报表插件.BIRT具有报表系统的核心功能特征,如报表版面设计.支持数据库访问和简单控制脚本等.详情请参见: 解决方案 解决方案二:兄弟们有需要润乾报表软件的么,小弟近日破解了润乾的报表软件,可以承接二次开发,E-mail:runqianpojie@163.com解决方案三:

grafana 开源图标系统 &amp;amp; InfluxDB 介绍。

1,开源图表系统grafana grafana提供的监控列表效果非常的漂亮.直接部署在nginx上面就行,使用node.js 实现的数据抓取. http://grafana.org/ demo页面: http://play.grafana.org/ 这个报表展示可以跑在 Graphite, InfluxDB & OpenTSDB. 监控的数据库上面. 其中InfluxDB 是用golang编写的比感兴趣. 2,InfluxDB InfluxDB 是一个开源,分布式,时间序列,事件,可度量和无外部

犀利的报表系统,发票据与报表开发的快速利器,AgileEAS.NET SOA中间件GReport使用指南

一.前言      AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市场快速变化的开发团队,以达到节省开发成本.缩短开发时间,快速适应市场变化的目的.      AgileEAS.NET SOA中间件平台提供了敏捷快速开发软件工程的最佳实践,通过提供大量的基础支撑功能如IOC.ORM.SOA.分布式体系及敏捷并发开发方法所支撑的插件开发体系,以及提供了大量的

盘点2010年开源cms系统

提起开源cms,大家第一想到的是php的cms,因为php开源的最早,也最为用户和站长们认可,随着各大cms系统的功能的不断完善和各式各样的开源cms的出现,.net和java的高端的cms系统也逐渐的走上了开源的路线,尤其是 .net的cms系统,从最早国外的开源,到现在国内致力于.net的cms系统的研发的公司和团队也渐渐认清楚开源路线的必然性,于是乎竞相的提出开源战略路线,但有的还是并不是全部的源码开放,其核心源码还是有所保留.  现在站长们选择cms的首要因素就是看其是否开源,是否真正的

Logback 1.0.1发布 开源日志系统

Logback 是一个作为log4j项目的继任者,是由Log4j的创始人Ceki Gulcu设计成一款开源日志系统. Logback 配备基本架构以通用于不同情况下的需求,它分为三个模块:Core module.Classic module 和 Access module.Core module核心模块是为其他两个模块设计的一个基础模块.Classic module类似于log4j的改进版本,实现了SLF4J API使你可以很容易地在logback和其它日志系统(log4j 或 JDK14 )之

怎么用java去控制报表系统 。

问题描述 怎么用java去控制报表系统 . 10C 有一个Hyperion报表系统.这个报表系统不是我做的.他们也没提供接口给我,然后我想用java实现对 Hyperion报表系统中的 列表框.按钮等控件进行操作,就像是选中列表框中的值,选中按钮 这样. 这个要怎么实现啊?求大神们帮帮忙 解决方案 http://www.doc88.com/p-475112062430.html 解决方案二: 用jQuery可以轻松做到 解决方案三: 砾阳报表综合系统