Pentaho BIServer 5.0.1-ce 資源庫遷移到 Mysql

1.下載biserver-manual-ce-5.0.1-stable.zip


  下載網址http://sourceforge.net/projects/pentaho/files/Business%20Intelligence%20Server/5.0.1-stable/

 

2.解壓 biserver-manual-ce-5.0.1-stable.zip 得到以下文件



 
  將 pentaho-data.zip 解壓得到data目錄



 
  將 pentaho-solutions.zip 解壓得到pentaho-solutions目錄



 
3.安裝Mysql數據庫(不是本文重點略)


4.創建數據庫
  將data/mysql5下的三個SQL腳本在Mysql 設計器中運行(無序)
注:以上三個腳本會創建三個數據庫hibernate、quartz、jackrabbit 和對應的三個用戶hibuser、pentaho_user、jcr_user 密碼都爲password如果在這裏你想將密碼改成自己的那麼以下配置時將對應密碼改成你修改的密碼即可
5.創建目錄結構
  創建biserver目錄 將data、pentaho-solutions、apache-tomcat-6.0.37 複製到該目錄並將pentaho.war 和pentaho-style.war文件放到tomcat的webapps目錄下
6.修改配置文件
  將 pentaho-solutions\system\applicationContext-spring-security-hibernate.properties 修改成:
 

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

 

 

  將 pentaho-solutions\system\hibernate\hibernate-settings.xml 修改成:
 

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

  
  將 pentaho-solutions\system\hibernate\mysql5.hibernate.cfg.xml 修改成(如果用默認用戶名和密碼些文件不用修改 我這裏沒有改動):
 

<hibernate-configuration>
<session-factory>

<property name="cache.provider_class">net.sf.ehcache.hibernate.SingletonEhCacheProvider</property>

<property name="hibernate.generate_statistics">true</property>
<property name="hibernate.cache.use_query_cache">true</property>

<!-- 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>
<!-- replaces DefinitionVersionManager -->
<property name="hibernate.hbm2ddl.auto">update</property>
<!-- load resource from classpath -->
<mapping resource="hibernate/mysql5innodb.hbm.xml" />
</session-factory>
</hibernate-configuration>

 

 

  在 pentaho-solutions\system\quartz\quartz.properties 中找到org.quartz.jobStore.driverDelegateClass將其值修改成:
 

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

 

 
 
  啓動 Tomcat apache-tomcat-6.0.37\webapps 下的war文件會自動解壓

注:這時會報錯不要管他
  等啓動完成後關閉Tomcat後 刪除 apache-tomcat-6.0.37\webapps 下的war文件

注:一定要在Tomcat關閉的情況下刪除否則解壓出來的文件也會被Tomcat刪除
 
  將 Mysql的驅動放入apache-tomcat-6.0.37\webapps\pentaho\WEB-INF\lib 目錄中

  將 apache-tomcat-6.0.37\webapps\pentaho\META-INF\context.xml 修改成如下並刪除apache-tomcat-6.0.37\conf\Catalina\localhost\pentaho.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="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>

 
   將apache-tomcat-6.0.37\webapps\pentaho\WEB-INF\web.xml 中以下部分刪除
   
   

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

    <!-- [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] -->

 

到此pentaho 資源庫向Mysql遷移配置全部結束
啓動Tomcat

解決pentaho自帶樣例數據訪問報錯問題
 這時pentaho雖然可以正常運行但是後臺一系列的報錯真讓人心裏不安,不用怕 將sampledata_mysql.sql(下載地址 http://url.cn/PeRbnD)在Mysql 設計器中運行 創建數據庫 sampledata和用戶 pentaho_admin
 登錄pentaho User Console 打開 Manage Data Sources 修改 發現 sampledata jdbc 連接的爲 hsqldb 將其改成你的mysql 連接就可以了
 還有一種解決辦法是將pentaho 自帶的示例去掉
  
  將pentaho-solutions\system\default-content\下的samples.zip和plugin-samples.zip刪除(如果運行過biserver這兩個文件後面會加上時間如 samples.zip.201404091535)
  將pentaho-solutions\system\jackrabbit\repository 刪除 如果之前已經設置過repository.xml 存儲到Mysql 那需要將 Mysql數據庫jackrabbit中對應的表清空
 建議將 pentaho-solutions\system\simple-jndi\jdbc.properties 對應hsqldb 的連接都換成 Mysql的
 建議將 pentaho-solutions\system\jackrabbit\repository.xml 對應的 Mysql 配置的註釋打開 並關閉 對應文件系統配置 例如:
 將下面的註釋掉
 

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

 
 我的博客:http://alenzhai.iteye.com/

  • 1293b992-7479-3840-a1e9-3b85a0cfeb1a-thumb.png
  • 大小: 2.8 KB
  • 038ff524-7a03-3045-808b-404f6da75e7e-thumb.png
  • 大小: 1.8 KB
  • df4ce10a-fc4c-3249-8c3d-2fa5ce527045-thumb.png
  • 大小: 6.7 KB
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章