Pentaho开发者社区资源:
CDF (Community Dashboard Framework) 利用Pentaho’s Business Intelligence Server 的用户控制台创建数据面板的框架
CBF (Community Build Framework)
A data access layer for CDF (Community Dashboard Framework).
第一部分:准备工作
1. 安装和配置Java
从Sun Developer Network下载最新的Java JDK,安装。
在Windows中配置Java运行环境:
点击 “我的电脑” – “属性” – “高级”,添加新的环境变量,如下图(此处要修改为系统变量,不能用用户变量,在win764位环境下,反复测试存在问题)
还可以增加CATALINA_OPTS环境变量,让Apache-Tomcat服务器能使用比默认值更多的内存,变量值为:
-Xms256m -Xmx768m -XX:MaxPermSize=256m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000
见下图:
安装和配置MySQL 5.x Server
基本上使用默认值即可。
部署Pentaho平台
从Pentaho Sourceforge Projects 网页 下载biserver-ce-3.7.x.stable.zip文件,解压后的文件目录如下
C:
|– pentaho
| |– adminstration-console
| |– biserver-ce
在biserver-ce目录双击运行start-pentaho.bat,Pentaho bi server服务即会自动运行,然后可以用 http://localhost:8080 访问
如果电脑上已经配置了Tomcat,那把下面加粗文字的文件夹移到Apache-Tomcat安装目录下
C:
|– pentaho
| |– adminstration-console
| |– biserver-ce
| |– pentaho-solutions
| |– tomcat
| |– common
| `– lib
| `– mysql-connector-java-5.0.7.jar (optional)
| |– webapps
| `– pentaho
| `– pentaho-styles
| `– sw-styles
MySQL Java Connector MySQL Java 连接器
如果Apache-Tomcat没有MySQL Java连接器,那需要把mysql-connector-java-5.0.7.jar拷贝到tomcat的commonlib目录。
SQL Script Pack – SQL脚本包
从这里下载MySQL 5.x SQL脚本包,来配置必须的数据库。
第二部分
配置数据库
解压MySQL 5.x SQL脚本包,解压出5个sql文件:
1_create_repository_mysql.sql
创建Hibernate数据库
2_create_quartz_mysql.sql
创建Quartz 数据库
3_create_sample_datasource_mysql.sql
把Pentaho自带的样例数据加入Hibernate数据库
4_load_sample_users_mysql.sql
把样例数据库用户和角色加入到Hibernate数据库
5_sample_data_mysql.sql
创建样例数据库
在“开始”菜单里打开安装好的"MySQL" – "MySQL Server 5.1" – "MySQL Command Line Client ",在命令行界面(类似dos界面)中输入管理员密码后,依此执行下面的命令(须按顺序):
mysql> source 1_create_repository_mysql.sql;
…output
mysql> source 2_create_quartz_mysql.sql;
…output
mysql> source 3_create_sample_datasource_mysql.sql;
…output
mysql> source 4_load_sample_users_mysql.sql;
…output
mysql> source 5_sample_data_mysql.sql;
…output
成功执行后,使用命令"mysql> show databases;"查看新创建的数据库。数据库的结构如下:
- hibernate*
- authorities
- datasource
- granted_authorities
- users
- quartz
- qrtz_blob_triggers
- qrtz_calendars
- qrtz_cron_triggers
- qrtz_fired_triggers
- qrtz_job_details
- qrtz_job_listeners
- qrtz_locks
- qrtz_paused_trigger_grps
- qrtz_scheduler_state
- qrtz_simple_triggers
- qrtz_trigger_listeners
- qrtz_triggers
- sampledata
- customer_w_ter
- customers
- department_managers
- dim_time
- employees
- offices
- orderdetails
- orderfact
- orders
- payments
- products
- quadrant_actuals
- trial_balance
提醒:如果在运行5_sample_data_mysql.sql脚本时报错,那请用文本编辑器把里面的时间戳值“00.000000000”替换为"00.000000"。
配置JDBC Security安全连接
下面将Pentaho BI平台指向MySQL数据库服务器,不再使用自带的HSQL数据库。下面,你将需要修改几个配置文件:
applicationContext-spring-security-jdbc.xml
文件位置:pentaho-solutionssystem
<!– This is only for Hypersonic. Please update this section for any other database you are using –>
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="org.hsqldb.jdbcDriver" />
<property name="url"
value="jdbc:hsqldb:hsql://localhost:9001/hibernate" />
<property
name="username" value="hibuser" />
<property name="password" value="password" />
</bean>
将高亮部分替换为:
<!– This is only for Hypersonic. Please update this section for any other database you are using –>
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/hibernate" />
<property name="username" value="hibuser" />
<property name="password" value="password" />
</bean>
applicationContext-spring-security-hibernate.properties
文件位置:pentaho-solutionssystem
原文件:
jdbc.driver=org.hsqldb.jdbcDriver
jdbc.url=jdbc:hsqldb:hsql://localhost:9001/hibernate
jdbc.username=hibuser
jdbc.password=password
hibernate.dialect=org.hibernate.dialect.HSQLDialect
修改为:
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/hibernate
jdbc.username=hibuser
jdbc.password=password
hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate-settings.xml
文件位置:pentaho-solutionssystemhibernate
原文件:
<config-file>system/hibernate/hsql.hibernate.cfg.xml</config-file>
修改为:
<config-file>system/hibernate/mysql5.hibernate.cfg.xml</config-file>
配置 Hibernate 和 Quartz
Hibernate和Quartz需使用创建在MySQL服务器上的相应数据库。因此,需要修改 “tomcatwebappspentahoMETA-INF” 目录里的 context.xml 文件。
原文件:
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/pentaho" docbase="webapps/pentaho/">
<Resource name="jdbc/Hibernate" auth="Container" type="javax.sql.DataSource"
factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20" maxIdle="5"
maxWait="10000" username="hibuser" password="password"
driverClassName="org.hsqldb.jdbcDriver" url="jdbc:hsqldb:hsql://localhost/hibernate"
validationQuery="select count(*) from INFORMATION_SCHEMA.SYSTEM_SEQUENCES" />
<Resource name="jdbc/Quartz" auth="Container" type="javax.sql.DataSource"
factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20" maxIdle="5"
maxWait="10000" username="pentaho_user" password="password"
driverClassName="org.hsqldb.jdbcDriver" url="jdbc:hsqldb:hsql://localhost/quartz"
validationQuery="select count(*) from INFORMATION_SCHEMA.SYSTEM_SEQUENCES"/>
</Context>
修改为:
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/pentaho" docbase="webapps/pentaho/">
<Resource name="jdbc/Hibernate" auth="Container" type="javax.sql.DataSource"
factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20" maxIdle="5"
maxWait="10000" username="hibuser" password="password"
driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/hibernate"
validationQuery="select 1" />
<Resource name="jdbc/Quartz" auth="Container" type="javax.sql.DataSource"
factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20" maxIdle="5"
maxWait="10000" username="pentaho_user" password="password"
driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/quartz"
validationQuery="select 1"/>
</Context>
修改 tomcatwebappspentahoWEB_INF 目录里的 web.xml 文件,可以对Pentaho BI 平台进行以下配置:
- pentaho-solutions 的位置
- URL
- 安全地址(可选,针对远程访问管理员控制台)
pentaho-solution 的路径
根据你的安装情况,进行相关参数配置:
<context-param>
<param-name>solution-path</param-name>
<param-value>C:pentahopentaho-solutions</param-value>
</context-param>
fully-qualified-server-url
找到下面这段代码:
<param-value>http://localhost:8080/pentaho/</param-value>
修改样例(根据你的电脑或服务器的域名或IP地址修改):
<param-value>http://www.prashantraju.com:8080/pentaho/</param-value>
or
<param-value>http://192.168.1.10:8080/pentaho/</param-value>
配置SMTP参数
样例:
<email-smtp>
<properties>
<mail.smtp.host>smtp.gmail.com</mail.smtp.host>
<mail.smtp.port>587</mail.smtp.port>
<mail.transport.protocol>smtps</mail.transport.protocol>
<mail.smtp.starttls.enable>true</mail.smtp.starttls.enable>
<mail.smtp.auth>true</mail.smtp.auth> <mail.smtp.ssl>true</mail.smtp.ssl>
<mail.smtp.quitwait>false</mail.smtp.quitwait>
</properties>
<mail.pop3></mail.pop3>
<mail.from.default>pentahoadmin@gmail.com</mail.from.default>
<mail.userid>pentahoadmin@gmail.com</mail.userid>
<mail.password>password</mail.password>
</email-smtp>
配置发布密码Publishing
默认设置下,发布功能是禁止的,要打开它,需设置一个密码。在 "pentaho-solutionssystem" 目录找到 publisher_config.xml 文件
找到下面代码:
<publisher-config>
<publisher-password></publisher-password>
</publisher-config>
修改样例(以后,要把内容发布到Pentaho BI平台,就需要下面设置的密码了):
<publisher-config>
<publisher-password>publishthis</publisher
-password>
</publisher-config>
启动Business Intelligence平台
Pentaho BI平台是基于Apache-Tomcat服务器上的webapp。要启动Apache-Tomcat,需把Apache-Tomcat设置为一项服务。下面是启动命令行:
C:pentahobiserver-cetomcatbin> service.bat install tomcat5
运行上面的命令后,将开始安装服务 ‘tomcat5′ …
Using CATALINA_HOME: D:pentahobiserver-cetomcat
Using CATALINA_BASE: D:pentahobiserver-cetomcat
Using JAVA_HOME: C:Program FilesJavajdk1.6.0_13
Using JVM: C:Program FilesJavajdk1.6.0_13jrebinserverjvm.dll
服务’tomcat5′ 安装完毕
你可以在Windows服务管理里面找到Apache-Tomcat,然后进行 启动-停止 管理。见下图:
成功启动成功后,你现在可以打开浏览器,输入网址:http://localhost:8080/pentaho 或 http://[your_domain_or_ip]:8080/pentaho 。如果Pentaho BI平台成功启动,那你就能看到下面的欢迎界面了:
在 "c:pentahoadminstration-console" 目录找到 start-pac.bat ,双击并成功启动管理控制台,在浏览器里输入地址 http://localhost:8099/,你就能访问管理控制台了!
Well done !