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

    技术2022-05-19  24

    pentaho是世界上最流行的开源商务只能软件。它是一个基于java平台商业智能(Business Intelligence,BI)套件,之所以说是套件是因为它包括一个web server平台和几个工具软件:报表,分析,图表,数据集成,数据挖掘等,可以说包括了商务智能的方方面面。整个系统的架构如下图:根据官网的介绍,其客户包括有sun,msyql等这样知名的企业,真可谓“很好很强大”。更难能可贵的是,它是开源的,社区版完全免费!!官网: http://www.pentaho.com/products/sourceforge项目: http://sourceforge.net/projects/pentaho/下面是几张使用界面的截图(图1,2,3)图1图2图3细心的你可能已经发现了,里面还有google maps的身影,是不是很让人兴奋呢?Pentaho是跨平台的,linux,windows上都可以安装,而且安装十分简单,就两个步骤:解压,执行。这样说来这篇文章也没啥好写的,但是这是默认情况:数据库是用的自带的HSQL,备份维护都十分不方便。这显然不是我们所希望的。如何利用mysql呢?很可惜官方文档资料十分有限,而且有用的基本上只对企业用户开放。社区的资料少还不说,而且还有错误。这真的是难坏了我们的社区用户。

    (这里说的平台即bi-server,其他的工具软件本文不涉及,因为都是下载直接运行的。)bi-server平台是一个基于tomcat的JSP web 程序,包含两个界面:user console和administration console,分别对应的是用户控制台和管理控制台。其作用如下:用户控制台:供用户登录进去对数据进行操作,如报表,分析等。管理控制台:供管理员进去对用户,数据源(Data source),BI server等做全局设置。一、安装预备bi-server本身自带有tomcat server,所以不需要另外装。bi-server本身带有测试用的sample数据,可以对它进行产生报表图表等操作,但是初始安装时这些操作仅限本机登录。pentaho需要JRE版本>=1.5.X,所以需要首先配置好JRE环境(配置过程见附录1)。mysql5 安装好。(此文即是介绍如何使用mysql而不是自带的hsql做数据库)。我这里的安装环境是:操作系统: Centos 5JAVA版本:jdk1.5.0_14Mysql版本: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-ce4.启动(注意:必须在启动脚本所在的目录下执行启动脚本,在别的目录不行!)①执行目录下的脚本start-pentaho.sh 来启动user console运行命令 ./start-pentaho.sh第一次启动的时候会提示是否启动版本检查,当有新版本可用的时候会提醒的。需要这个功能就直接回车,不需要的就输入cancel,如果想停止启动则输入CTRL+C输入回车后输出如下:阅读这些启动信息,可以详细了解整个启动过程都做了些什么。查看端口开放情况输入netstat –ant输出如下:其中 8080是web访问端口,9001是hsql的服务端口。②执行administration-console目录下的脚本start.sh来启动administration console。运行命令./start.sh &输出如下:注: 命令./start.sh &里面的”&”符号表示是后台执行,如果不加会导致不能继续命令行输命令。端口开放情况如下:tcp       0         0 :::80995.登录到web界面(建议从本机登录web,因为默认安装时仅允许本机登录的用户才能对sample data进行报表操作;如果从外部的机器访问,则把下面的localhost改为机器IP,即192.168.0.114,此时虽然可以登录进去,但是不能做sample data的报表)①登录user console打开链接http://localhost:8080/pentaho,看到如下界面选择一个用户登录以后看到的界面如下登录进去后,你可以做生成报表图表等操作了。②登录administration console打开链接http://localhost:8099,会提示输入用户密码,分别输入admin : password登录进去以后显示的界面如下6.停止①执行目录下的脚本stop-pentaho.sh 来停止user console。输出如下:端口8099已经关闭了。这就是整个安装,启动,使用和停止的过程。确实很简单吧。下面要做的就是修改一些配置来使用mysql,并允许外部的机器访问。

    1.数据库初始化

    初始化的工作就是建立相关的库,导入相关的数据。为了测试报表功能,我们还需要有数据源(data source)

     

    名词解释:

    数据源(data source):也就是数据的来源。我们的报表都要由这些数据生成。在基本安装的时候pentaho自带的数据源是HSQL上的名为sampledata的数据库,现在我们需要mysql下的一个库。

     

    pentaho自带了mysql数据库的初始化脚本,首先切换到该目录下:

    cd data/mysql5/

     

    然后下载sampledata数据库作数据源用:

     

    wget http://www.prashantraju.com/pentaho/downloads/sampledatamysql5.sql

     

    导入数据脚本(注意次序不能乱)

     

    mysql -uroot -p <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_userpentaho_admin,密码为password,对库有完全权限

    这个库就是我们生成报表所用的数据源

     

    完成的上面的工作以后,mysql里面就有了hibernate,quartzsampledata三个数据库和相应的用户。

    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

    作用:给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

    作用:设置属性参数用于Spring Security来建立数据库与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连接,这样就允许BI server内部的管理连接。

     

    因为这个配置文件已经是针对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/

    这是做修改网页相关的配置。

     

    要修改的文件路径如下:

     

     

    下面对这2个文件分别说明:

     

     

    tomcat/webapps/pentaho/WEB-INF/web.xmlMETA-INF/context.xml

     

     

     

     

    web.xml

    作用:tomcatpentaho站点启动的主配置文件,如建立所有的JSP和其他各种文件。

     

    修改项目

     

    名称

    旧值

    新值

    base-url

    http://localhost:8080/pentaho/

    localhost保留或改为实际ip

    如果是localhost,那么仅能从本机登录才能打开sampledata报表,如果是实际ip。那样就能从别的机器登录了。

     

    context.xml

    作用:建立hibernatequartz两者的配置文件。

     

    做如下修改:

     

    对于Resource name="jdbc/Hibernate"

    username

    更新为hibuser(或者root)

    password

    更新为password(或者root的密码 )

    driverClassName

    更新为com.mysql.jdbc.Driver

    url

    更新为jdbc:mysql://localhost/hibernate (需要的时候localhost后加端口号)

    validationQuery

    删掉这个值,或者填SELECT 1 (这个值是检查库是否可用的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 consoleadministration console吧!

    </sampledatamysql5.sql</create_sample_datasource_mysql.sql</create_quartz_mysql.sql</create_repository_mysql.sql


    最新回复(0)