pentaho开源商业智能平台的搭建

为防止未经许可的转载,文章加了不少版权标识,但并不影响阅读
pentaho 开源商业智能平台的搭建
pentaho是世界上最流行的开源商务只能软件。它是一个基于java平台的商业智能(Business Intelligence,BI)套件,之因此说是套件是由于它包括一个web server平台和几个工具软件:报表,分析,图表,数据集成,数据挖掘等,能够说包括了商务智能的方方面面。整个系统的架构以下图:
clip_p_w_picpath002
根据官网的介绍,其客户包括有sun,msyql等这样知名的企业,
(版权标识:@@ yahoon @@)
真可谓“很好很强大”。更难能难得的是,它是开源的,社区版彻底免费!!
下面是几张使用界面的截图(图1,2,3)
clip_p_w_picpath004
图1
clip_p_w_picpath006
图2
clip_p_w_picpath008
图3
细心的你可能已经发现了,(##版权标识##@http://yahoon.blog.51cto.com)里面还有google maps的身影,是否是很让人兴奋呢?
Pentaho是跨平台的,linux,windows上均可以安装,并且安装十分简单,就两个步骤:解压,执行。
这样说来这篇文章也没啥好写的,可是这是默认状况:
(版权标识:@@ yahoon @@)
数据库是用的自带的HSQL,备份维护都十分不方便。这显然不是咱们所但愿的。如何利用mysql呢?很惋惜官方文档资料十分有限,并且有用的基本上只对企业用户开放。社区的资料少还不说,并且还有错误。这真的是难坏了咱们的社区用户。
这里我就以我的的经历,给你们介绍
如何在 linux 下安装基于 mysql pentaho 平台
(这里说的平台即bi-server,其余的工具软件本文不涉及,由于都是下载直接运行的。)
bi-server平台是一个基于tomcat的JSP web 程序,包含两个界面:user console和administration console,分别对应的是 用户控制台管理控制台。其做用以下:
用户控制台:供用户登陆进去对数据进行操做,如报表,分析等。
管理控制台:供管理员进去对用户,数据源(Data source),BI server等作全局设置。
1、安装预备
bi-server自己自带有tomcat server,因此不须要另外装。
bi-server自己带有测试用的sample数据,能够对它进行产生报表图表等操做,可是 初始安装时这些操做仅限本机登陆
pentaho须要JRE版本>=1.5.X,因此须要首先配置好JRE环境(配置过程见附录1)。
mysql5 安装好。(此文便是介绍
(版权标识:@@ yahoon @@)
如何使用mysql而不是自带的hsql作数据库)。
我这里的安装环境是:
操做系统:(##版权标识##@http://yahoon.blog.51cto.com) Centos 5
JAVA版本:jdk1.5.0_14
Mysql版本:Mysql-5.0.45
服务器IP:192.168.0.114
2、基本安装
1. 下载
从其sourceforge的页面上下载,下载的包为 biserver-ce-2.0.0.stable.zip 这是稳定版,推荐生产环境用这个。
(注意:官方的tar.gz包解压出来没有jre子目录,会致使tomcat没法正常启动。不知道是否是发布者的疏忽。因此请你们仔细检查下载出来的包!!)
2. 解压
我这里解压到/usr/local/pentaho目录下,
(版权标识:@@ yahoon @@)
解压出来的目录名是biserver-ce。
3. 调整权限
解压后给目录加执行权限,不然脚本执行不了。
命令chmod +x -R biserver-ce
4. 启动
(注意:必须在启动脚本所在的(##版权标识##@http://yahoon.blog.51cto.com)目录下执行启动脚本,在别的目录不行!)
①执行目录下的脚本start-pentaho.sh 来启动user console
运行命令 ./start-pentaho.sh
第一次启动的时候会提示是否启动版本检查,当有新版本可用的时候会提醒的。
clip_p_w_picpath010
须要这个功能就直接回车,不须要的就输入cancel,若是想中止启动则输入CTRL+C
输入回车后输出以下:
clip_p_w_picpath012
阅读这些启动信息,(##版权标识##@http://yahoon.blog.51cto.com)能够详细了解整个启动过程都作了些什么。
查看端口开放状况
输入netstat –ant输出以下:
clip_p_w_picpath014
其中 8080是web访问端口,9001是hsql的服务端口。
②执行administration-console目录下的脚本start.sh来启动administration console。
运行命令 ./start.sh &输出以下:
clip_p_w_picpath016
注: 命令./start.sh &里面的”&”符号表示是后台执行,若是不加会致使不能继续命令行输命令。
端口开放状况以下:
clip_p_w_picpath018
5. 登陆到web 界面
(建议从本机登陆web,由于默认安装时仅容许本机登陆的用户才能对sample data进行报表操做;若是从外部的机器访问,则把下面的localhost改成机器IP,即192.168.0.114,此时虽然能够登陆进去,
(版权标识:@@ yahoon @@)
可是不能作sample data的报表)
①登陆user console(##版权标识##@http://yahoon.blog.51cto.com)
打开连接 http://localhost:8080/pentaho,看到以下界面
clip_p_w_picpath020
选择一个用户登陆之后看到的
(版权标识:@@ yahoon @@)
界面以下
clip_p_w_picpath022
登陆进去后,你能够作生成报表图表等操做了。
②登陆administration console
打开连接 http://localhost:8099,会提示输入用户密码,分别输入admin : password
登陆进去之后显示的界面以下
clip_p_w_picpath024
6. 中止
①执行目录下的脚本stop-pentaho.sh 来中止user console。
输出以下:
clip_p_w_picpath026
端口8080,9001已经关闭
(版权标识:@@ yahoon @@)
了。
②执行administration-console(##版权标识##@http://yahoon.blog.51cto.com)目录下的脚本stop.sh来中止administration console。
输出以下:
clip_p_w_picpath028
端口8099已经关闭了。
这就是整个安装,启动,使用和中止的过程。确实很简单吧。下面要作的就是修改一些配置来使用mysql,并容许外部的机器访问。
3、配置 mysql 作数据库
1. 数据库初始化
初始化的工做就是创建相关的库,导入相关的数据。为了测试报表功能,咱们还须要有数据源(data source)。
名词解释:
数据源(data source) :也就是数据的来源。
(版权标识:@@ yahoon @@)
咱们的报表都要由这些数据生成。在基本安装的时候pentaho自带的数据源是HSQL上的名为sampledata的数据库,如今咱们须要mysql下的一个库。
pentaho自带了mysql数据库的初始化脚本,首先切换到该目录下:
cd data/mysql5/
而后下载sampledata数据库做数据源用:
导入数据脚本(注意次序不能乱)
mysql -uroot -p <(##版权标识##@http://yahoon.blog.51cto.com)create_repository_mysql.sql
mysql -uroot -p <create_quartz_mysql.sql
mysql -uroot -p <create_sample_datasource_mysql.sql
mysql -uroot -p <sampledatamysql5.sql
各个脚本的功能以下:
表名
功能
create_repository_mysql.sql
建立hibernate数据库
建用户hibuser,密码为password,对库有彻底权限
建DATASOURCE表
create_quartz_mysql.sql
建立quartz数据库
建用户pentaho_user,密码为password,对库有彻底权限
建了不少QRTZ_开头的表
create_sample_datasource_mysql.sql
向hibernate库的DATASOURCE表里面插入一个记录
数据源便是在这里定义,显示在administration console里面的Data Sources栏目里面
sampledatamysql5.sql
建立sampledata数据库和它的表
用户pentaho_user和pentaho_admin,
(版权标识:@@ yahoon @@)
密码为password,对库有彻底权限
这个库就是咱们生成报表所用的数据源
完成的上面的工做之后,mysql里面就有了 hibernate,quartz 和sampledata三个数据库和相应的用户。
2. 修改配置文件
对配置文件修改主要是修改里面的数据库链接部分(##版权标识##@http://yahoon.blog.51cto.com)和容许外部访问的部分。
(1) 配置目录 pentaho-solutions/
文件路径以下:
pentaho-solutions/
system/
applicationContext-acegi-security-jdbc.xml (要修改)
applicationContext-acegi-security-hibernate.properties (要修改)
hibernate/
hibernate-settings.xml (要修改)
mysql5.hibernate.cfg.xml (作检查,有必要的时候修改)
共有4个文件,下面针对这4个文件的修改分别加以说明:
applicationContext-acegi-security-jdbc.xml
做用:给BI server所用的Spring Security system创建JDBC认证。
修改项目
名称
旧值
新值
driverClassName
(数据库访问的驱动)
org.hsqldb.jdbcDriver
com.mysql.jdbc.Driver
 
url
(hibernate这个库的url)
jdbc:hsqldb:hsql://localhost:9001/hibernate
jdbc:mysql://localhost:3306/hibernate
 
username
(访问hibernate库的用户)
hibuser
hibuser
(或root,但不推荐)
 
password
(访问hibernate库的密码)
password
password
(或root的密码,但不推荐)
applicationContext-acegi-security-hibernate.properties
做用:设置属性参数用于(##版权标识##@http://yahoon.blog.51cto.com)Spring Security来创建数据库与hibernate的链接。
修改项目
(版权标识:@@ yahoon @@)
名称
旧值
新值
jdbc.driver
org.hsqldb.jdbcDriver
com.mysql.jdbc.Driver
 
jdbc.url
(hibernate库的url)
jdbc:hsqldb:hsql://localhost:9001/hibernate
jdbc:mysql://localhost:3306/hibernate
 
jdbc.username
(访问hibernate库的用户)
hibuser
hibuser(或root,但不推荐)
 
jdbc.password
(访问hibernate库的密码)
password
password(或root的密码,但不推荐)
 
hibernate.dialect
(数据库用的语言)
org.hibernate.dialect.HSQLDialect(##版权标识##@http://yahoon.blog.51cto.com)
org.hibernate.dialect.MySQLDialect
hibernate-settings.xml
做用:基本的hibernate设置,
(版权标识:@@ yahoon @@)
例如hibernate的数据库后台。
修改项目
名称
旧值
新值
config-file
system/hibernate/hsql.hibernate.cfg.xml
system/hibernate/mysql5.hibernate.cfg.xml
 
mysql5.hibernate.cfg.xml
做用:配置hibernate数据库的mysql链接,这样就容许BI server内部的管理链接。
由于这个配置文件已是针对mysql的了,,因此不须要修改,只是要检查确认。
名称
connection.driver_class
com.mysql.jdbc.Driver
 
connection.url
jdbc:mysql://localhost:3306/hibernate(##版权标识##@http://yahoon.blog.51cto.com)
 
connection.username
hibuser(能够改成root,但不推荐)
 
connection.password
password((能够改成root的密码,但不推荐)
 
(2) 配置目录tomcat/webapps/pentaho/
这是作修改网页相关的配置。
要修改的文件路径以下:
tomcat/
webapps/
pentaho/
WEB-INF/
(版权标识:@@ yahoon @@)
        web.xml
META-INF/
        context.xml
下面对这2个文件分别说明:
web.xml
做用:tomcat的pentaho站点启动的主配置文件(##版权标识##@http://yahoon.blog.51cto.com),如创建全部的JSP和其余各类文件。
修改项目
名称
旧值
新值
base-url
http://localhost:8080/pentaho/
将localhost保留或改成实际ip
若是是localhost
(版权标识:@@ yahoon @@)
那么仅能从本机登陆才能打开sampledata 报表, 若是是实际ip 。那样就能从别的机器登陆了。
context.xml
做用:创建hibernate和quartz二者的配置文件。
作以下修改:
对于 Resource name="jdbc/Hibernate"
username
更新为hibuser(或者root)
password
更新为password(或者root的密码 )
driverClassName
更新为com.mysql.jdbc.Driver
url
更新为jdbc:mysql://localhost/hibernate (须要的时候localhost后加端口号)
validationQuery
删掉这个值,或者填SELECT 1 (##版权标识##@http://yahoon.blog.51cto.com)(这个值是检查库是否可用的SQL查询)
 
对于 Resource name="jdbc/Quartz"
username
更新为pentaho_user (或者root)
password
更新为password(或者root的密码 )
driverClassName
更新为com.mysql.jdbc.Driver
url
更新为jdbc:mysql://localhost/quartz (须要的时候localhost后加端口号)
validationQuery
删掉这个值,或者填SELECT 1 (这个值是检查库是否可用的SQL查询)
配置文件的修改就完成了,启动user console和administration console吧!
 
3. 配置数据源
下面就须要配置数据源来使用mysql里面的sampledata作数据源,过程以下:
登陆到administration console中,
(版权标识:@@ yahoon @@)
在administration 页面的”data sources”标签下,点左边的“sampledata”,能够看到当前使用的数据源仍就是hsql里面的 sampledata库。(以下图)
clip_p_w_picpath030
进行以下操做
在General 页下(##版权标识##@http://yahoon.blog.51cto.com)
Driver Class 选"com.mysql.jdbc.Driver"
User Name: pentaho_user(默认是这个,因此不改)
Password: password(默认是这个
(版权标识:@@ yahoon @@)
,因此不改)
URL 修改成 jdbc:mysql://localhost:3306/sampledata (根据实际的mysql端口更改)
在Advanced 页下
将"Validation Query" 设为空或者SELECT 1
完成后以下图
clip_p_w_picpath032 clip_p_w_picpath034
左图为”General”页,右图为(##版权标识##@http://yahoon.blog.51cto.com)”Advanced”页。
点test按钮进行测试,
(版权标识:@@ yahoon @@)
成功的时候会显示以下窗口
clip_p_w_picpath036
点update按钮就保存了。这个时候就是更新了hibernate数据库的DATASOURCE表。
从新启动user console生效。
全部的任务到此完成,你能够看到已经没有到9001端口的连接了。全部的数据操做都是链接到mysql的端口3306的。
4、结语
鉴于pentaho的相关文章至关少,并且文档里面涉及的版本也很低,因此才写了这篇文章,但愿能对感兴趣的人有所帮助。
使用过程当中的常见问题及能够参考的资料见附录。
更多精彩文章请点击个人博客 http://yahoon.blog.51cto.com
5、附录
附录1 :JRE 环境的配置
由于jdk自己带有jre,因此就直接下jdk,
(版权标识:@@ yahoon @@)
方便之后安装相关软件,避免出现莫名其妙的问题。步骤以下:
一、从java.sun.com下载jdk包
我下载的包是jdk-1_5_0_14-linux-i586.bin
二、将包移到/usr/local下,并给执行权限
chmod a+x jdk-1_5_0_14-linux-i586.bin
四、执行自解压文件jdk-1_5_0_14-linux-i586.bin
./jdk-1_5_0_14-linux-i586.bin
阅读完license后,输入yes
五、建立必要的连接(##版权标识##@http://yahoon.blog.51cto.com)
ln -s jdk1.5.0_14 jdk
ln -s /usr/local/jdk/jre jre
6 修改环境变量
vi /etc/profile加入如下内容
PATH=$PATH:/usr/local/jdk/bin:/usr/local/jre/bin:/usr/local/jdk
JAVA_HOME=/usr/local/jdk
JAVA_OPTS=-server
export JAVA_HOME JAVA_OPTS
CLASSPATH=.:/usr/local/jdk/lib:/usr/local/jdk/jre/lib
export CLASSPATH
7 使环境变量生效
source /etc/profile
附录2 :windows 平台的配置
由于pentaho是垮平台的,因此按照本文的方法也适用于windows。
附录3 :google maps 没法显示的问题(##版权标识##@http://yahoon.blog.51cto.com)
从客户端登陆user console之后,点击”打开”按钮或者从菜单选择”打开”,依次选择”车轮的生产销售分析”——”仪表盘”——”Google Maps”,若没法显示google地图,只获得以下的提示信息:
clip_p_w_picpath038
只须要按照提示的说明到google申请key。(须要说明的是,必需要有google的帐号才能申请)。申请完成后将获得的key填入到文件(##版权标识##@http://yahoon.blog.51cto.com)
/usr/local/pentaho/biserver-ce/pentaho-solutions/system/google/googlesettings.xml中(以下图) clip_p_w_picpath040
重启pentaho,就能够正常显示了(以下图)。
clip_p_w_picpath042
附录4 :生成report 时弹出”business models” 没法显示的问题
登陆到user console时点击”New Report”,显示以下对话框
clip_p_w_picpath044
这是因为登陆的用户的权限不够所致使的,不能打开”business model”里面的栏目。
你用其余的用户(例如joe)登陆进去就能够看到里面的(##版权标识##@http://yahoon.blog.51cto.com)栏目了(以下图)。并且用不一样的用户登陆会发现,不一样的权限的用户,能够看到不一样的内容。
clip_p_w_picpath046
附录:5 有用的资源
http://forums.pentaho.org/
官方论坛,注册起来有点麻烦,里面有一些有用的文档和提问解答。
http://wiki.pentaho.com/
wiki社区,提供一些文档,可是有些仅对企业用户开放,并且文档的更新速度通常。
http://wiki.pentaho.com/download/p_w_uploads/1838/community_user_guide.pdf
介绍手册
(全文完)
by yahoon
相关文章
相关标签/搜索