Pentaho BIServer Community Edtion 6.1 使用教程 第二篇 遷移元數據 [HSQLDB TO MySQL]


第一部分  遷移原因

Pentaho BI 社區版服務的很多元數據信息存儲在數據庫匯總,其默認使用HSQLDB 數據庫,即借助它存儲自身的資料庫,比如 Quartz 調度信息、業務資料庫連接信息(數據源)等。HSQLDB是不能夠支撐真實的企業應用的。生產環境必須替換它,因此我們需要將HSQLDB遷移至MySQL

 

第二部分 遷移步驟

1 創建MySQL 數據庫

數據庫腳本存放在 ${biserver-ce}/data/mysql5下

Image

服務器本地登錄MySQL(腳本內IP使用 localhost)

執行以下腳本

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

創建:

Image

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

Image

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

Image

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>

image

注釋測試數據
<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>

image

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

注釋HSQLDB 配置 ,新增MySQL 配置

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

image

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

image

datasource.username=hibuser

image

datasource.password=password

image

datasource.validation.query=SELECT 1
image

(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
image

(4)hibernate/hibernate-settings.xml

修改配置文件為 MySQL 配置

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

image

 

同時檢查對應 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

image

(6)jackrabbit/repository.xml

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

image
取消注釋:
<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>

image

注釋內容:

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

取消注釋:
<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>

image
      

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

image
取消注釋:
<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>

image

注釋內容:
<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>

image
取消注釋:
<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>
image

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

取消注釋:
<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>

image
注釋內容:
<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>
image

取消注釋:
<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>

image

(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

image

新增 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

image

(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"/>

image

(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] -->

image

 

注釋內容:

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

image

(3)清理 Tomcat 臨時文件

rm –rf conf/Catalina/

rm -rf work/Catalina/

4 啟動服務進行測試

進入 /opt/ptools/biserver-ce 文件夾

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

 

首頁:http://IP:8080/pentaho


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM