Pentaho6.1资源库MySQL迁移
一、软件环境
- 操作系统:Windows10 64位
- Pentaho版本: biserver-ce-6.1.0.1-196
- MySQL版本:5.5.15 MySQL Community Server (GPL)
- JDK版本:Java 1.7.0_80
二、执行官方sql脚本文件
1、 sql脚本目录
2、执行脚本
3、 运行结果
三、相关配置项的修改
1、修改quartz的资源库配置
- 文件位置:\biserver-ce\pentaho-solutions\system\quartz
- 修改项:org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate
-
#org.quartz.jobStore.misfireThreshold = 60000 -
#org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate -
#org.quartz.jobStore.useProperties = false -
#org.quartz.jobStore.dataSource = myDS -
#org.quartz.jobStore.tablePrefix = QRTZ5_ -
#org.quartz.jobStore.isClustered = false -
# Job Store -
org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX -
#_replace_jobstore_properties -
org.quartz.jobStore.misfireThreshold = 60000 -
#原始的配置 -
#org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.PostgreSQLDelegate -
#用户做的修改 -
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate -
org.quartz.jobStore.useProperties = false -
org.quartz.jobStore.dataSource = myDS -
org.quartz.jobStore.tablePrefix = QRTZ5_ -
org.quartz.jobStore.isClustered = false
2、修改hibernate,设置为mysql
- 修改文件hibernate-settings.xml
文件目录: \biserver-ce\pentaho-solutions\system\hibernate
修改内容:
-
<?xml version='1.0' encoding='utf-8'?> -
<settings> -
<!-- -
* This setting allows the deployment to specify where to find the -
* database-specific hibernate configuration. The samples supplied -
* include the following: -
* -
* system/hibernate/hsql.hibernate.cfg.xml -
* system/hibernate/mysql5.hibernate.cfg.xml -
* system/hibernate/postgresql.hibernate.cfg.xml -
* system/hibernate/oracle10g.hibernate.cfg.xml -
* -
--> -
<!-- 原始设置 -
<config-file>system/hibernate/hsql.hibernate.cfg.xml</config-file> -
--> -
<!-- 修改为mysql的配置 --> -
<config-file>system/hibernate/mysql5.hibernate.cfg.xml</config-file> -
<!-- -
* -
* managed should be set to true if running the BI Platform -
* in a managed environment (like JBoss, Orion, etc). In this configuration, -
* you should specify another location for the hibernate.cfg.xml (see below) -
* instead of simply using the default one provided. This setting essentially -
* tells the HibernateUtil class to use JNDI to locate the factory class for -
* getting sessions. This allows the platform to use Hibernate across boundaries -
* in message beans (for example). -
* -
<managed>false</managed> -
--> -
<managed>false</managed> -
</settings>
- 修改文件applicationContext-spring-security-jdbc.xml
文件目录:\biserver-ce\pentaho-solutions\system
修改内容:
-
<!-- 原始配置 -
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> -
<property name="driverClassName" value="${datasource.driver.classname}" /> -
<property name="url" value="${datasource.url}" /> -
<property name="username" value="${datasource.username}" /> -
<property name="password" value="${datasource.password}" /> -
<!-- the following are optional --> -
<!-- -
<property name="validationQuery" value="${datasource.validation.query}" /> -
<property name="maxWait" value="${datasource.pool.max.wait}" /> -
<property name="maxActive" value="${datasource.pool.max.active}" /> -
<property name="maxIdle" value="${datasource.max.idle}" /> -
<property name="minIdle" value="${datasource.min.idle}" /> -
</bean> -
--> -
<!-- 用户定义的mysql配置 --> -
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> -
<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" /> -
<!-- 可选项 --> -
<!-- -
<property name="validationQuery" value="${datasource.validation.query}" /> -
<property name="maxWait" value="${datasource.pool.max.wait}" /> -
<property name="maxActive" value="${datasource.pool.max.active}" /> -
<property name="maxIdle" value="${datasource.max.idle}" /> -
<property name="minIdle" value="${datasource.min.idle}" /> -
--> -
</bean>
- 修改文件applicationContext-spring-security-hibernate.properties
文件目录:\biserver-ce\pentaho-solutions\system
修改内容:
-
# 原始配置 -
#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 -
# 用户定义的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.MySQLDialect
3、更换Audit log file为mysql配置
复制文件: biserver-ce /pentaho-solutions/system/dialects/mysql5/audit_sql.xml
覆盖 biserver-ce /pentaho-solutions/system/ audit_sql.xml
4、更改jackrabbit内容仓库信息配置为mysql
- 修改文件:\biserver-ce\pentaho-solutions\system\jackrabbit\repository.xml
a. Repository标签下的FileSystem,注释或删除掉默认配置项,文件所在行数为80行
将文档中的此处代码
-
<!-- 原始的配置 --> -
<FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem"> -
<param name="path" value="${rep.home}/repository"/> -
</FileSystem>
修改为:
-
<!-- 用户定义的mysql的配置 --> -
<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>
b. DataStore标签注释或删除掉默认配置项,文件所在行数为163行
将文档中的此处代码
-
<!-- 原始的配置 --> -
<DataStore class="org.apache.jackrabbit.core.data.FileDataStore"/>
修改为:
-
<!-- 用户定义的mysql的配置 --> -
<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>
c. Workspaces中的filesystem配置项,注释或删除掉默认配置项,文件所在行数为285行
将文档中的此处代码
-
<!-- 原始的配置 --> -
<FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem"> -
<param name="path" value="${wsp.home}"/> -
</FileSystem>
修改为:
-
<!-- 用户定义的mysql的配置 --> -
<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>
d. PersistenceManager 修改为 mysql 配置,(文中第一部分 PersistenceManager )
注释 掉默认配置项标签( 文本内容第 353 行)
将文档中此处代码
-
<!-- 原始的配置 --> -
<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>
修改为:
-
<!-- 用户定义的mysql的配置 --> -
<PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager"> -
<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="${wsp.name}_pm_ws_"/> -
</PersistenceManager>
e. Versioning 修改为 mysql 配置项,Versioning filesystem 默认配置项( 文本内容第 457 行)
将文档中此处代码
-
<!-- 原始的配置 --> -
<FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem"> -
<param name="path" value="${rep.home}/version" /> -
</FileSystem>
修改为:
-
<!-- 用户定义的mysql的配置 --> -
<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>
f. PersistenceManager,PersistenceManager (文中第二部分 PersistenceManager )
注释 掉默认配置项标签( 文本内容第 526 行)
将文档中此处代码
-
<!-- 原始的配置 --> -
<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>
修改为:
-
<!-- 用户定义的mysql的配置 --> -
<PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager"> -
<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="pm_ver_"/> -
</PersistenceManager>
5、修改默认的context
- 文件目录: biserver-ce/tomcat/webapps/pentaho/META-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" maxTotal="20" maxIdle="5" -
maxWaitMillis="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" maxTotal="20" maxIdle="5" -
maxWaitMillis="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> -
--> -
<!-- 用户定义的mysql的配置 --> -
<Context path="/pentaho" docbase="webapps/pentaho/"> -
<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://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>
6、停止掉默认的hsqlDB
- 文件目录:\biserver-ce\tomcat\webapps\pentaho\WEB-INF\web.xml
- 修改的内容:
7、检查mysql的jar包的存在
检查目录 biserver-ce\tomcat\lib 存不存在 mysql 的jar 包, 不存在或者版本太低的 jar 包,
根据自己所需更新, 本文采用的是 mysql-connector-java-5.1.38-bin.jar
8、Pentaho默认的SampeData.sql数据的下载(可选,非必要)
四、迁移成功标志
五、迁移官方文档
详情请查看:http://help.pentaho.com/Documentation/6.1/0F0/0P0/030/020
转载:https://blog.csdn.net/u010735147/article/details/81745242