[saiku] 在 Tomcat 下部署 saiku


 

上一篇介紹了如何配置免登錄[免登錄進入管理台

本文主要是一步一步解釋如何在Tomcat下部署saiku,為了讓你更好更快的使用。

開始之前,假設你已經比較熟悉數據集市數據庫,以及如何建立Mondrian Schema。

 

1. 下載相關程序

saiku-ui.war
saiku-webapp.war

2. 重命名war文件

saiku-ui-2.5.war 修改成 ROOT.war; 
saiku-webapp-2.5.war 修改成 saiku.war;

3.拷貝文件到發布路徑

拷貝兩個war文件到tomcat/webapp目錄下 
啟動tomcat

4.訪問登陸

在瀏覽器中輸入:http://localhost:8080,可以看到Saiku的登錄頁面。
輸入admin/admin登錄Saiku。

恭喜,Saiku已經部署成功了。
但是目前你不能從下拉框中選擇cube,需要進一步配置。

5.配置Saiku使用cubeSchema 和數據庫

1)停止tomcat 拷貝相應的 JDBC 數據庫驅動到lib下

2)聲明cube

A 拷貝編寫好的 sales_mondrian_schema.xml 文件到
tomcat/webapps/saiku/WEB-INF/classes/saiku-datasources/

B 新建文件 sales.txt(擴展名無所謂)拷貝到
tomcat/webapps/saiku/WEB-INF/classes/saiku-datasources/

C 在sales.txt中寫入如下內容:
#declaration of Sauce Dallas sales cube for Sakiu
type=OLAP
name=SauceDallas
driver=mondrian.olap4j.MondrianOlap4jDriver
location=jdbc:mondrian:Jdbc=jdbc:mysql://localhost/1_tutorialSaiku;Catalog=res:saiku-datasources/sales_mondrian_schema.xml;JdbcDrivers=com.mysql.jdbc.Driver;
username=root
password=7777

配置說明:
type=OLAP指定一個 OLAP 引擎.沒有見過非OLAP的屬性值。
name : 給你的數據源命名。
driver: 指定 Mondrian driver(將二維關系表轉化為多維度表的驅動).沒有見過其他的屬性值。
location :這個屬性有幾個部分組成,使用分號分隔。

jdbc:mondrian:Jdbc=jdbc:mysql://localhost/1_tutorialSaiku :
指定數據庫對應jdbc url,前面部分不需要改動,僅僅需要修改主機和對應的數據庫名稱。這里的主機是localhost,對應數據庫是1_tutorialSaiku

Catalog=res:saiku-datasources/sales_mondrian_schema.xml
指定mondrian schema文件。res表明是文件的路徑,這里是從saiku webapp目錄開始;

JdbcDrivers=com.mysql.jdbc.Driver
指明java 類文件作為數據庫連接驅動。

3)啟動 tomcat 

現在下拉框中應該可以看到對應的cube
你可以拖動維度、度量到對應的軸建立交叉表
並可以使用圖表來展示或分析對你公司有用的信息

 

附錄:pentaho數據庫HSQLDB遷移至mysql步驟

1.在本地mysql數據庫執行數據庫腳本

pentaho自帶了mysql數據庫的初始化腳本
在目錄 D:\biserver-ce\data\mysql5下

通過 navicat for mysql 按如下順序依次導入mysql腳本:create_repository_mysql 
create_quartz_mysql
create_sample_datasource_mysql

1)create_repository_mysql.sql 
創建hibernate數據庫,建用戶hibuser,密碼為password,對庫有完全權限,建DATASOURCE表。 

2)create_quartz_mysql.sql 
創建quartz數據庫,建用戶pentaho_user,密碼為password,對庫有完全權限,建了很多QRTZ_開頭的表 

3)create_sample_datasource_mysql.sql 
向hibernate庫的DATASOURCE表里面插入一個記錄,數據源即是在這里定義,顯示在管理控制台里面的Data Sources欄目里面

2. 修改JDBC配置信息

修改 D:\biserver-ce\pentaho-solutions\syste 目錄下的 
applicationContext-spring-security-jdbc.xml
目的:給BI server所用的Spring Security system建立JDBC認證。 
對應值修改后應為: 

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

3. 修改同一目錄下的applicationContext-spring-security-hibernate.properties文件
目的:用於Spring Security來建立數據庫與hibernate的連接。 
將文件中設置修改為如下: 
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

4. 修改目錄D:\biserver-ce\pentaho-solutions\system\hibernate下的 hibernate-settings.xml文件。 
目的:基本的hibernate設置,例如hibernate的數據庫后台。

修改成如下所示: 
<config-file>system/hibernate/mysql5.hibernate.cfg.xml</config-file>

5. 確認文件目錄D:\biserver-ce\pentaho-solutions\system\hibernate下的文件mysql5.hibernate.cfg.xml 
作用:配置hibernate數據庫的mysql連接,這樣就允許BI server內部的管理連接。 應該的配置是: 
<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>

6. 配置D:\biserver-ce\tomcat\webapps\pentaho\WEB-INF目錄下的web.xml文件 
設置為: 
<context-param> 
<param-name>base-url</param-name> 
<param-value>http://192.168.0.60:8080/pentaho/</param-value> 
</context-param> 
說明:如果是localhost,那么僅能從本機登錄才能打開sampledata報表,如果是實際ip。那樣就能從別的機器登錄了。

7. 修改D:\biserver-ce\tomcat\webapps\pentaho\META-INF目錄下的context.xml文件。 
目的:建立hibernate和quartz兩者的配置文件。 
<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>

 


免責聲明!

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



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