pentaho Bi开源商业智能平台的搭建.docx
- 文档编号:9697699
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:21
- 大小:773.48KB
pentaho Bi开源商业智能平台的搭建.docx
《pentaho Bi开源商业智能平台的搭建.docx》由会员分享,可在线阅读,更多相关《pentaho Bi开源商业智能平台的搭建.docx(21页珍藏版)》请在冰点文库上搜索。
pentahoBi开源商业智能平台的搭建
pentahobi开源商业智能平台的搭建
摘要:
pentaho是世界上最流行的开源商务只能软件。
它是一个基于java平台的商业智能(BusinessIntelligence,BI)套件,之所以说是套件是因为它包括一个webserver平台和几个工具软件:
报表,分析,图表,数据集成,数据挖掘等,可以说包括了商务智能的方方面面。
pentaho是世界上最流行的开源商务只能软件。
它是一个基于java平台的商业智能(BusinessIntelligence,BI)套件,之所以说是套件是因为它包括一个webserver平台和几个工具软件:
报表,分析,图表,数据集成,数据挖掘等,可以说包括了商务智能的方方面面。
整个系统的架构如下图:
根据官网的介绍,其客户包括有sun,msyql等这样知名的企业,真可谓“很好很强大”。
更难能可贵的是,它是开源的,社区版完全免费!
!
官网:
sourceforge项目:
下面是几张使用界面的截图(图1,2,3)
图1
图2
图3
细心的你可能已经发现了,里面还有googlemaps的身影,是不是很让人兴奋呢?
Pentaho是跨平台的,linux,windows上都可以安装,而且安装十分简单,就两个步骤:
解压,执行。
这样说来这篇文章也没啥好写的,但是这是默认情况:
数据库是用的自带的HSQL,备份维护都十分不方便。
这显然不是我们所希望的。
如何利用mysql呢?
很可惜官方文档资料十分有限,而且有用的基本上只对企业用户开放。
社区的资料少还不说,而且还有错误。
这真的是难坏了我们的社区用户。
这里我就以个人的经历,给大家介绍。
(这里说的平台即bi-server,其他的工具软件本文不涉及,因为都是下载直接运行的。
)
bi-server平台是一个基于tomcat的JSPweb程序,包含两个界面:
userconsole和administrationconsole,分别对应的是用户控制台和管理控制台。
其作用如下:
用户控制台:
供用户登录进去对数据进行操作,如报表,分析等。
管理控制台:
供管理员进去对用户,数据源(Datasource),BIserver等做全局设置。
一、安装预备
bi-server本身自带有tomcatserver,所以不需要另外装。
bi-server本身带有测试用的sample数据,可以对它进行产生报表图表等操作,但是初始安装时这些操作仅限本机登录。
pentaho需要JRE版本>=1.5.X,所以需要首先配置好JRE环境(配置过程见附录1)。
mysql5安装好。
(此文即是介绍如何使用mysql而不是自带的hsql做数据库)。
我这里的安装环境是:
操作系统:
Centos5
JAVA版本:
jdk1.5.0_14
Mysql版本:
Mysql-5.0.45
服务器IP:
192.168.0.114
二、基本安装
1.下载
从其sourceforge的页面上下载,下载的包为biserver-ce-2.0.0.stable.zip这是稳定版,推荐生产环境用这个。
(注意:
官方的tar.gz包解压出来没有jre子目录,会导致tomcat无法正常启动。
不知道是不是发布者的疏忽。
所以请大家仔细检查下载出来的包!
!
)
2.解压
我这里解压到/usr/local/pentaho目录下,解压出来的目录名是biserver-ce。
3.调整权限
解压后给目录加执行权限,否则脚本执行不了。
命令chmod +x -R biserver-ce
4.启动
(注意:
必须在启动脚本所在的目录下执行启动脚本,在别的目录不行!
)
①执行目录下的脚本start-pentaho.sh来启动userconsole
运行命令./start-pentaho.sh
第一次启动的时候会提示是否启动版本检查,当有新版本可用的时候会提醒的。
需要这个功能就直接回车,不需要的就输入cancel,如果想停止启动则输入CTRL+C
输入回车后输出如下:
阅读这些启动信息,可以详细了解整个启动过程都做了些什么。
查看端口开放情况
输入netstat–ant输出如下:
其中 8080是web访问端口,9001是hsql的服务端口。
②执行administration-console目录下的脚本start.sh来启动administrationconsole。
运行命令./start.sh&输出如下:
注:
命令./start.sh&里面的”&”符号表示是后台执行,如果不加会导致不能继续命令行输命令。
端口开放情况如下:
5.登录到web界面
(建议从本机登录web,因为默认安装时仅允许本机登录的用户才能对sampledata进行报表操作;如果从外部的机器访问,则把下面的localhost改为机器IP,即192.168.0.114,此时虽然可以登录进去,但是不能做sampledata的报表)
①登录userconsole
打开链接http:
//localhost:
8080/pentaho,看到如下界面
选择一个用户登录以后看到的界面如下
登录进去后,你可以做生成报表图表等操作了。
②登录administrationconsole
打开链接http:
//localhost:
8099,会提示输入用户密码,分别输入admin :
password
登录进去以后显示的界面如下
6.停止
①执行目录下的脚本stop-pentaho.sh 来停止userconsole。
输出如下:
端口8099已经关闭了。
这就是整个安装,启动,使用和停止的过程。
确实很简单吧。
下面要做的就是修改一些配置来使用mysql,并允许外部的机器访问。
1.数据库初始化
初始化的工作就是建立相关的库,导入相关的数据。
为了测试报表功能,我们还需要有数据源(datasource)。
名词解释:
数据源(datasource):
也就是数据的来源。
我们的报表都要由这些数据生成。
在基本安装的时候pentaho自带的数据源是HSQL上的名为sampledata的数据库,现在我们需要mysql下的一个库。
pentaho自带了mysql数据库的初始化脚本,首先切换到该目录下:
cddata/mysql5/
然后下载sampledata数据库作数据源用:
wget
导入数据脚本(注意次序不能乱)
mysql-uroot-p
mysql-uroot-p
mysql-uroot-p
mysql-uroot-p
各个脚本的功能如下:
表名
功能
create_repository_mysql.sql
创建hibernate数据库
建用户hibuser,密码为password,对库有完全权限
建DATASOURCE表
create_quartz_mysql.sql
创建quartz数据库
建用户pentaho_user,密码为password,对库有完全权限
建了很多QRTZ_开头的表
create_sample_datasource_mysql.sql
向hibernate库的DATASOURCE表里面插入一个记录
数据源即是在这里定义,显示在administrationconsole里面的DataSources栏目里面
sampledatamysql5.sql
创建sampledata数据库和它的表
用户pentaho_user和pentaho_admin,密码为password,对库有完全权限
这个库就是我们生成报表所用的数据源
完成的上面的工作以后,mysql里面就有了hibernate,quartz和sampledata三个数据库和相应的用户。
2.修改配置文件
对配置文件修改主要是修改里面的数据库连接部分和允许外部访问的部分。
(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
作用:
给BIserver所用的SpringSecuritysystem建立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
作用:
设置属性参数用于SpringSecurity来建立数据库与hibernate的连接。
名称
旧值
新值
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
org.hibernate.dialect.MySQLDialect
修改项目
hibernate-settings.xml
作用:
基本的hibernate设置,例如hibernate的数据库后台。
修改项目
名称
旧值
新值
config-file
system/hibernate/hsql.hibernate.cfg.xml
system/hibernate/mysql5.hibernate.cfg.xml
mysql5.hibernate.cfg.xml
作用:
配置hibernate数据库的mysql连接,这样就允许BIserver内部的管理连接。
因为这个配置文件已经是针对mysql的了,,所以不需要修改,只是要检查确认。
名称
值
connection.driver_class
com.mysql.jdbc.Driver
connection.url
jdbc:
mysql:
//localhost:
3306/hibernate
connection.username
hibuser(可以改为root,但不推荐)
connection.password
password((可以改为root的密码,但不推荐)
(2) 配置目录tomcat/webapps/pentaho/
这是做修改网页相关的配置。
要修改的文件路径如下:
tomcat/
webapps/
pentaho/
WEB-INF/
web.xml
META-INF/
context.xml
下面对这2个文件分别说明:
web.xml
作用:
tomcat的pentaho站点启动的主配置文件,如建立所有的JSP和其他各种文件。
修改项目
名称
旧值
新值
base-url
http:
//localhost:
8080/pentaho/
将localhost保留或改为实际ip
如果是localhost,那么仅能从本机登录才能打开sampledata报表,如果是实际ip。
那样就能从别的机器登录了。
context.xml
作用:
建立hibernate和quartz两者的配置文件。
做如下修改:
对于Resourcename="jdbc/Hibernate"
username
更新为hibuser(或者root)
password
更新为password(或者root的密码 )
driverClassName
更新为com.mysql.jdbc.Driver
url
更新为jdbc:
mysql:
//localhost/hibernate(需要的时候localhost后加端口号)
validationQuery
删掉这个值,或者填SELECT1(这个值是检查库是否可用的SQL查询)
对于Resourcename="jdbc/Quartz"
username
更新为pentaho_user (或者root)
password
更新为password(或者root的密码 )
driverClassName
更新为com.mysql.jdbc.Driver
url
更新为jdbc:
mysql:
//localhost/quartz(需要的时候localhost后加端口号)
validationQuery
删掉这个值,或者填SELECT1(这个值是检查库是否可用的SQL查询)
配置文件的修改就完成了,启动userconsole和administrationconsole吧!
下面就需要配置数据源来使用mysql里面的sampledata做数据源,过程如下:
登录到administrationconsole中,在administration 页面的”datasources”标签下,点左边的“sampledata”,可以看到当前使用的数据源仍就是hsql里面的 sampledata库。
(如下图)
进行如下操作
在General页下
DriverClass 选"com.mysql.jdbc.Driver"
UserName:
pentaho_user(默认是这个,所以不改)
Password:
password(默认是这个,所以不改)
URL 修改为 jdbc:
mysql:
//localhost:
3306/sampledata(根据实际的mysql端口更改)
在Advanced页下
将"ValidationQuery" 设为空或者SELECT1
完成后如下图
左图为”General”页,右图为”Advanced”页。
点test按钮进行测试,成功的时候会显示如下窗口
点update按钮就保存了。
这个时候就是更新了hibernate数据库的DATASOURCE表。
重新启动userconsole生效。
所有的任务到此完成,你可以看到已经没有到9001端口的链接了。
所有的数据操作都是连接到mysql的端口3306的。
附录1:
JRE环境的配置
因为jdk本身带有jre,所以就直接下jdk,方便以后安装相关软件,避免出现莫名其妙的问题。
步骤如下:
1、从下载jdk包
我下载的包是jdk-1_5_0_14-linux-i586.bin
2、将包移到/usr/local下,并给执行权限
chmod a+xjdk-1_5_0_14-linux-i586.bin
4、执行自解压文件jdk-1_5_0_14-linux-i586.bin
./jdk-1_5_0_14-linux-i586.bin
阅读完license后,输入yes
5、创建必要的链接
ln-sjdk1.5.0_14jdk
ln-s/usr/local/jdk/jrejre
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
exportJAVA_HOMEJAVA_OPTS
CLASSPATH=.:
/usr/local/jdk/lib:
/usr/local/jdk/jre/lib
exportCLASSPATH
7 使环境变量生效
source/etc/profile
附录2:
windows平台的配置
因为pentaho是垮平台的,所以按照本文的方法也适用于windows。
附录3:
googlemaps无法显示的问题
从客户端登录userconsole以后,点击”打开”按钮或者从菜单选择”打开”,依次选择”车轮的生产销售分析”——”仪表盘”——”GoogleMaps”,若无法显示google地图,只得到如下的提示信息:
只需要按照提示的说明到google申请key。
(需要说明的是,必须要有google的账号才能申请)。
申请完成后将得到的key填入到文件/usr/local/pentaho/biserver-ce/pentaho-solutions/system/google/googlesettings.xml中(如下图)
重启pentaho,就可以正常显示了(如下图)。
附录4:
生成report时弹出”businessmodels”无法显示的问题
登录到userconsole时点击”NewReport”,显示如下对话框
这是由于登录的用户的权限不够所导致的,不能打开”businessmodel”里面的栏目。
你用其他的用户(例如joe)登录进去就可以看到里面的栏目了(如下图)。
而且用不同的用户登录会发现,不同的权限的用户,可以看到不同的内容。
附录:
5 有用的资源
http:
//forums.pentaho.org/
官方论坛,注册起来有点麻烦,里面有一些有用的文档和提问解答。
wiki社区,提供一些文档,但是有些仅对企业用户开放,而且文档的更新速度一般。
介绍手册
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- pentaho Bi开源商业智能平台的搭建 Bi 商业 智能 平台 搭建
![提示](https://static.bingdoc.com/images/bang_tan.gif)