Pentaho BI开源报表系统

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介:

为什么用开源报表系统?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。
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
关系型数据库 BI 分布式数据库
PolarDB NL2BI解决方案,让你不懂SQL也能进行数据查询分析并生成BI报表
无需创建和开通资源,在预置环境中免费体验PolarDB MySQL及其NL2BI解决方案
PolarDB NL2BI解决方案,让你不懂SQL也能进行数据查询分析并生成BI报表
|
存储 数据可视化 大数据
彻底搞定数据产品选型-报表平台、BI平台、大数据平台、数据中台一网打尽
彻底搞定数据产品选型-报表平台、BI平台、大数据平台、数据中台一网打尽
|
数据可视化 关系型数据库 BI
百度搜索:蓝易云【Redash可视化BI系统部署安装及简单使用】
通过以上步骤,你将成功部署和安装Redash,并可以开始使用它进行数据可视化和BI分析。请注意,上述步骤只是一个简单的示例,实际的部署和配置可能需要更多的步骤和注意事项。你可以参考Redash官方文档以获取更详细的信息和最佳实践。
365 0
|
开发框架 人工智能 数据可视化
报表工具:常见的五款BI报表介绍
Power BI是微软官方推出的数据分析和可视化工具。
报表工具:常见的五款BI报表介绍
|
27天前
|
分布式计算 大数据 BI
ClickHouse与大数据生态整合:从ETL到BI报表
【10月更文挑战第27天】在这个数据驱动的时代,企业越来越依赖于数据来做出关键决策。而高效的数据处理和分析能力则是支撑这一需求的基础。作为一位数据工程师,我有幸参与到一个项目中,该项目旨在利用ClickHouse与Hadoop、Spark、Flink等大数据处理框架的整合,构建一个从数据提取(Extract)、转换(Transform)、加载(Load)到最终生成商业智能(BI)报表的全流程解决方案。以下是我在这个项目中的经验和思考。
42 1
|
5月前
|
缓存 DataWorks 数据可视化
DataWorks 数据服务 + BI 可视化分析报表 (搭建战报)
DataWorks 数据服务提供强大的数据 API 能力,并能与多种业界流行的 BI 报表 (DataV、QuickBI、PowerBI和Grafana) 结合,使用 API 数据源的好处是统一数据接口、统一权限管理、统一数据交换以及数据服务提供强大的各式各样的插件能力 (如缓存插件、流量控制插件、日志脱敏插件、断路器插件、IP访问控制插件、三方鉴权插件等),下文介绍各热门 BI 工具接入 DataWorks 数据服务的操作方式。
185 0
DataWorks 数据服务 + BI 可视化分析报表 (搭建战报)
|
5月前
|
人工智能 关系型数据库 分布式数据库
PolarDB产品使用问题之如何将自有BI系统接入NL2BI的Web前端
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
7月前
|
数据采集 数据可视化 数据挖掘
软件体系结构 - 商业智能系统
软件体系结构 - 商业智能系统
72 1
|
存储 容灾 数据管理
商业智能系统具有的主要功能
商业智能系统具有的主要功能
154 0
|
监控 安全 BI
Bi质押系统智能合约开发逻辑规则及代码示例
Bi质押系统智能合约开发逻辑规则及代码示例

热门文章

最新文章