第一部分  迁移原因

Pentaho BI 社区版服务的很多元数据信息存储在数据库汇总,其默认使用HSQLDB 数据库,即借助它存储自身的资料库,比如 Quartz 调度信息、业务资料库连接信息(数据源)等。HSQLDB是不能够支撑真实的企业应用的。生产环境必须替换它,因此我们需要将HSQLDB迁移至MySQL

第二部分 迁移步骤

1 创建MySQL 数据库

数据库脚本存放在 ${biserver-ce}/data/mysql5下

服务器本地登录MySQL(脚本内IP使用 localhost)

执行以下脚本

source /opt/ptools/biserver-ce/data/mysql5/create_jcr_mysql.sql

创建:

source /opt/ptools/biserver-ce/data/mysql5/create_quartz_mysql.sql

source /opt/ptools/biserver-ce/data/mysql5/create_repository_mysql.sql

2  给 pentaho 添加 MySQL JDBC 文件

mysql-connector-java-5.1.32-bin.jar

放在 /opt/ptools/biserver-ce/tomcat/lib/ 目录下

3 配置

3 –1 /opt/ptools/biserver-ce/pentaho-solutions/system 目录下

(1) pentaho.xml

关闭前台显示用户列表
<login-show-users-list>false</login-show-users-list>

注释测试数据
<sampledata-datasource>
     <name>SampleData</name>
     <host>localhost</host>
     <type>Hypersonic</type>
     <port>9001</port>
     <access>NATIVE</access>
     <username>pentaho_user</username>
     <password>password</password>
     <max-active>20</max-active>
     <max-idle>5</max-idle>
     <max-wait>1000</max-wait>
     <query>select count(*) from INFORMATION_SCHEMA.SYSTEM_SEQUENCES</query>
</sampledata-datasource>

(2)applicationContext-spring-security-jdbc.properties

注释HSQLDB 配置 ,新增MySQL 配置

datasource.driver.classname=com.mysql.jdbc.Driver

datasource.url=jdbc:mysql://localhost:3306/hibernate

datasource.username=hibuser

datasource.password=password

datasource.validation.query=SELECT 1

(3)applicationContext-spring-security-hibernate.properties

注释HSQLDB 配置 ,新增MySQL 配置

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/hibernate
jdbc.username=hibuser
jdbc.password=password
hibernate.dialect=org.hibernate.dialect.MySQL5Dialect

(4)hibernate/hibernate-settings.xml

修改配置文件为 MySQL 配置

<config-file>system/hibernate/mysql5.hibernate.cfg.xml</config-file>

同时检查对应 system/hibernate/mysql5.hiberante.cfg.xml 中 配置信息

<!-- MySQL Configuration -->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/hibernate</property>
<property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
<property name="connection.username">hibuser</property>
<property name="connection.password">password</property>
<property name="connection.pool_size">10</property>
<property name="show_sql">false</property>
<property name="hibernate.jdbc.use_streams_for_binary">true</property>

(5)quartz/quartz.properties

org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate

(6)jackrabbit/repository.xml

注释内容:
<FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
    <param name="path" value="${rep.home}/repository"/>
</FileSystem>


取消注释:
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
    <param name="driver" value="com.mysql.jdbc.Driver"/>
    <param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/>
    <param name="user" value="jcr_user"/>
    <param name="password" value="password"/>
    <param name="schema" value="mysql"/>
    <param name="schemaObjectPrefix" value="fs_repos_"/>
</FileSystem>

注释内容:

<DataStore class="org.apache.jackrabbit.core.data.FileDataStore"/>

取消注释:
<DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
    <param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/>
    <param name="user" value="jcr_user"/>
    <param name="password" value="password"/>
    <param name="databaseType" value="mysql"/>
    <param name="driver" value="com.mysql.jdbc.Driver"/>
    <param name="minRecordLength" value="1024"/>
    <param name="maxConnections" value="3"/>
    <param name="copyWhenReading" value="true"/>
    <param name="tablePrefix" value=""/>
    <param name="schemaObjectPrefix" value="ds_repos_"/>
</DataStore>

注释内容:
<FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
    <param name="path" value="${wsp.home}"/>
</FileSystem>


取消注释:
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
    <param name="driver" value="com.mysql.jdbc.Driver"/>
    <param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/>
    <param name="user" value="jcr_user"/>
    <param name="password" value="password"/>
    <param name="schema" value="mysql"/>
    <param name="schemaObjectPrefix" value="fs_ws_"/>
</FileSystem>

注释内容:
<PersistenceManager class="org.apache.jackrabbit.core.persistence.pool.H2PersistenceManager">
    <param name="url" value="jdbc:h2:${wsp.home}/db"/>
    <param name="schemaObjectPrefix" value="${wsp.name}_"/>
</PersistenceManager>


取消注释:
<PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager">
    <param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/>
    <param name="user" value="jcr_user" />
    <param name="password" value="password" />
    <param name="schema" value="mysql"/>
    <param name="schemaObjectPrefix" value="${wsp.name}_pm_ws_"/>
</PersistenceManager>

注释内容:
<FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
    <param name="path" value="${rep.home}/version" />
</FileSystem>

取消注释:
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
    <param name="driver" value="com.mysql.jdbc.Driver"/>
    <param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/>
    <param name="user" value="jcr_user"/>
    <param name="password" value="password"/>
    <param name="schema" value="mysql"/>
    <param name="schemaObjectPrefix" value="fs_ver_"/>
</FileSystem>


注释内容:
<PersistenceManager class="org.apache.jackrabbit.core.persistence.pool.H2PersistenceManager">
    <param name="url" value="jdbc:h2:${rep.home}/version/db"/>
    <param name="schemaObjectPrefix" value="version_"/>
</PersistenceManager>

取消注释:
<PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager">
    <param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/>
    <param name="user" value="jcr_user" />
    <param name="password" value="password" />
    <param name="schema" value="mysql"/>
    <param name="schemaObjectPrefix" value="pm_ver_"/>
</PersistenceManager>

(7)simple-jndi/jdbc.properties

注释HSQL 配置:

#SampleData/type=javax.sql.DataSource
#SampleData/driver=org.hsqldb.jdbcDriver
#SampleData/url=jdbc:hsqldb:hsql://localhost/sampledata
#SampleData/user=pentaho_user
#SampleData/password=password
#Hibernate/type=javax.sql.DataSource
#Hibernate/driver=org.hsqldb.jdbcDriver
#Hibernate/url=jdbc:hsqldb:hsql://localhost/hibernate
#Hibernate/user=hibuser
#Hibernate/password=password
#Quartz/type=javax.sql.DataSource
#Quartz/driver=org.hsqldb.jdbcDriver
#Quartz/url=jdbc:hsqldb:hsql://localhost/quartz
#Quartz/user=pentaho_user
#Quartz/password=password
#Shark/type=javax.sql.DataSource
#Shark/driver=org.hsqldb.jdbcDriver
#Shark/url=jdbc:hsqldb:hsql://localhost/shark
#Shark/user=sa
#Shark/password=
#SampleDataAdmin/type=javax.sql.DataSource
#SampleDataAdmin/driver=org.hsqldb.jdbcDriver
#SampleDataAdmin/url=jdbc:hsqldb:hsql://localhost/sampledata

新增 MySQL配置:

SampleData/type=javax.sql.DataSource
SampleData/driver=com.mysql.jdbc.Driver
SampleData/url=jdbc:mysql://localhost:3306/hibernate
SampleData/user=hibuser
SampleData/password=password
Hibernate/type=javax.sql.DataSource
Hibernate/driver=com.mysql.jdbc.Driver
Hibernate/url=jdbc:mysql://localhost:3306/hibernate
Hibernate/user=hibuser
Hibernate/password=password
Quartz/type=javax.sql.DataSource
Quartz/driver=com.mysql.jdbc.Driver
Quartz/url=jdbc:mysql://localhost:3306/quartz
Quartz/user=pentaho_user
Quartz/password=password
Shark/type=javax.sql.DataSource
Shark/driver=com.mysql.jdbc.Driver
Shark/url=jdbc:mysql://localhost:3306/hbibernate
Shark/user=hibuser
Shark/password=password
SampleDataAdmin/type=javax.sql.DataSource
SampleDataAdmin/driver=com.mysql.jdbc.Driver
SampleDataAdmin/url=jdbc:mysql://localhost:3306/hibernate
SampleDataAdmin/user=hibuser
SampleDataAdmin/password=password

(8)删除测试数据

rm default-content/*.zip*

rm –rf jackrabbit/repository/

3-2 /opt/ptools/biserver-ce/tomcat/ 目录下

(1)webapps/pentaho/META-INF/context.xml

将HSQLDB 的配置 更改为 MySQL

<Resource name="jdbc/Hibernate" auth="Container" type="javax.sql.DataSource"
               factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxTotal="20" maxIdle="5"
               maxWaitMillis="10000" username="hibuser" password="password"
               driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhosti:3306/hibernate"
               validationQuery="select 1" />

<Resource name="jdbc/Quartz" auth="Container" type="javax.sql.DataSource"
               factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxTotal="20" maxIdle="5"
               maxWaitMillis="10000" username="pentaho_user" password="password"
               driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/quartz"
               validationQuery="select 1"/>

(2)webapps/pentaho/WEB-INF/web.xml

注释内容:

<!-- [BEGIN HSQLDB DATABASES] -->
<context-param>
    <param-name>hsqldb-databases</param-name>
    <param-value>sampledata@../../data/hsqldb/sampledata,hibernate@../../data/hsqldb/hibernate,quartz@../../data/hsqldb/quartz</param-value>
</context-param>
<!-- [END HSQLDB DATABASES] -->

注释内容:

<!-- [BEGIN HSQLDB STARTER] -->
<listener>
    <listener-class>org.pentaho.platform.web.http.context.HsqldbStartupListener</listener-class>
</listener>
<!-- [END HSQLDB STARTER] -->

(3)清理 Tomcat 临时文件

rm –rf conf/Catalina/

rm -rf work/Catalina/

4 启动服务进行测试

进入 /opt/ptools/biserver-ce 文件夹

./start-pentaho.sh & >> 1.log &

首页:http://IP:8080/pentaho

Pentaho BIServer Community Edtion 6.1 使用教程 第二篇 迁移元数据 [HSQLDB TO MySQL]的更多相关文章

  1. Pentaho BIServer Community Edtion 6.1 使用教程 第一篇 软件安装

    一.简介: Pentaho BI Server 分为企业版和社区版两个版本.其中 社区版 CE(community edtion) 为免费版本. 二.下载CE版(CentOS): 后台下载命令: no ...

  2. Pentaho BIServer Community Edtion 6.1 使用教程 第四篇 安装和使用Saiku 插件 进行 OLAP

    OLAP(On-Line Analytical Processing,联机分析处理)是一个使分析师.管理者和执行者从原始数据中用来快速.一致.交互访问的一种软件技术,从而真实的反映企业的数据情况.OL ...

  3. Pentaho BIServer Community Edtion 6.1 使用教程 第三篇 发布和调度Kettle(Data Integration) 脚本 Job & Trans

    Pentaho BIServer Community Edtion 6.1 集成了 Kettle 组件,可以运行Kettle 程序脚本.但由于Kettle没有直接发布到 BIServer-ce 服务的 ...

  4. EnjoyingSoft之Mule ESB开发教程第二篇:Mule ESB基本概念

    目录 1. 使用Anypoint Studio开发 2. Mule ESB Application Structure - Mule ESB应用程序结构 3. Mule ESB Application ...

  5. Spring cloud系列教程第二篇:支付项目父工程图文搭建

    Spring cloud系列教程第二篇:支付项目父工程图文搭建 在讲解spring cloud相关的技术的时候,咱们就模拟订单支付这个流程来讲讲 在这个支付模块微服务搭建过程中,上面的这些技术,都会融 ...

  6. (转) SpringBoot非官方教程 | 第二篇:Spring Boot配置文件详解

    springboot采纳了建立生产就绪spring应用程序的观点. Spring Boot优先于配置的惯例,旨在让您尽快启动和运行.在一般情况下,我们不需要做太多的配置就能够让spring boot正 ...

  7. Zabbix 客户端安装教程(第二篇)

    Zabbix 客户端安装教程 blog地址:http://www.cnblogs.com/caoguo [root@localhost ~]# yum install -y gcc make [roo ...

  8. spring Boot+spring Cloud实现微服务详细教程第二篇

    上一篇文章已经说明了一下,关于spring boot创建maven项目的简单步骤,相信很多熟悉Maven+Eclipse作为开发常用工具的朋友们都一目了然,这篇文章主要讲解一下,构建spring bo ...

  9. SpringCloud教程 | 第二篇: 服务消费者(rest+ribbon)

    在上一篇文章,讲了服务的注册和发现.在微服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于http restful的.Spring cloud有两种服务调用方式,一种是ribbon+r ...

随机推荐

  1. IOS 开发之 Method Swizzling

    ios 分类中如果增加的方法与被扩展的类方法名重复,则原方法就没法被调用….看以下例子 例如: @interface ClassA : NSObject - (NSString *) myMethod ...

  2. phpexcel设置所有单元格的默认对齐方式

    代码如下,从国外论坛上找到的 $objPHPExcel->getDefaultStyle()->getAlignment()->setHorizontal(PHPExcel_Styl ...

  3. ThinkPHP模板包含功能(转载)

    对于一些有共同属性的页面(如页脚),可以单独制作成一个模板,再利用 ThinkPHP 提供的模板包含功能包含进来.这样,当要修改这些公共页面时,只需修改对应的模板即可而不必修改每一个页面.模板的包含使 ...

  4. Jinja2文档学习

    这些文档需要精度一遍 1.http://jinja.pocoo.org/docs/dev/ 2.http://jinja.pocoo.org/docs/dev/templates/# 3.https: ...

  5. 【音乐App】—— Vue-music 项目学习笔记:歌曲列表组件开发

    前言:以下内容均为学习慕课网高级实战课程的实践爬坑笔记. 项目github地址:https://github.com/66Web/ljq_vue_music,欢迎Star. 当前歌曲播放列表 添加歌曲 ...

  6. 【重点突破】——第三方绘图工具FusionCharts.js的使用详解

    一.引言 项目组中,经常会因为绘制图表的繁杂度,衡量会不会使用第三方绘图工具,如果自己做很困难,成本使用高于第三方绘图工具库,就会使用.很多人使用的是Chart.js,因为它是免费使用的,不过,缺点就 ...

  7. 使用Unitils测试DAO层

    Spring 的测试框架为我们提供一个强大的测试环境,解决日常单元测试中遇到的大部分测试难题:如运行多个测试用例和测试方法时,Spring上下文只需创建一次:数据库现场不受破坏:方便手工指定Sprin ...

  8. pkav之当php懈垢windows通用上传缺陷

    $pkav->publish{当php懈垢windows}剑心@xsser抛弃了我,但我却不能抛弃乌云..php懈垢windows,就像男人邂逅女人,早晚都会出问题的..感谢二哥@gainove ...

  9. Leetcode Array 15 3sum

      思考的方向不对,即使用了多于别人几倍的时间,也不一定能够达到终点. 我的错误的想法(可以跳过):在leetcode上面做的第四道题,走路一个很大的弯路,收到之前做过的 Container With ...

  10. MySql(六):影响 MySQL Server 性能的相关因素

    MySQL 最多的使用场景是WEB 应用,那么我们就以一个WEB 应用系统为例,逐个分析其系统构成,进行经验总结,分析出数据库应用系统中各个环境对性能的影响. 一.商业需求对性能的影响 这里我们就拿一 ...