pentaho開源商業智能平臺的搭建

爲防止未經許可的轉載,文章加了不少版權標識,但並不影響閱讀
pentaho 開源商業智能平臺的搭建
pentaho是世界上最流行的開源商務只能軟件。它是一個基於java平臺的商業智能(Business Intelligence,BI)套件,之因此說是套件是由於它包括一個web server平臺和幾個工具軟件:報表,分析,圖表,數據集成,數據挖掘等,能夠說包括了商務智能的方方面面。整個系統的架構以下圖:
clip_p_w_picpath002
根據官網的介紹,其客戶包括有sun,msyql等這樣知名的企業,
(版權標識:@@ yahoon @@)
真可謂「很好很強大」。更難能難得的是,它是開源的,社區版徹底免費!!
下面是幾張使用界面的截圖(圖1,2,3)
clip_p_w_picpath004
圖1
clip_p_w_picpath006
圖2
clip_p_w_picpath008
圖3
細心的你可能已經發現了,(##版權標識##@http://yahoon.blog.51cto.com)裏面還有google maps的身影,是否是很讓人興奮呢?
Pentaho是跨平臺的,linux,windows上均可以安裝,並且安裝十分簡單,就兩個步驟:解壓,執行。
這樣說來這篇文章也沒啥好寫的,可是這是默認狀況:
(版權標識:@@ yahoon @@)
數據庫是用的自帶的HSQL,備份維護都十分不方便。這顯然不是咱們所但願的。如何利用mysql呢?很惋惜官方文檔資料十分有限,並且有用的基本上只對企業用戶開放。社區的資料少還不說,並且還有錯誤。這真的是難壞了咱們的社區用戶。
這裏我就以我的的經歷,給你們介紹
如何在 linux 下安裝基於 mysql pentaho 平臺
(這裏說的平臺即bi-server,其餘的工具軟件本文不涉及,由於都是下載直接運行的。)
bi-server平臺是一個基於tomcat的JSP web 程序,包含兩個界面:user console和administration console,分別對應的是 用戶控制檯管理控制檯。其做用以下:
用戶控制檯:供用戶登陸進去對數據進行操做,如報表,分析等。
管理控制檯:供管理員進去對用戶,數據源(Data source),BI server等作全局設置。
1、安裝預備
bi-server自己自帶有tomcat server,因此不須要另外裝。
bi-server自己帶有測試用的sample數據,能夠對它進行產生報表圖表等操做,可是 初始安裝時這些操做僅限本機登陸
pentaho須要JRE版本>=1.5.X,因此須要首先配置好JRE環境(配置過程見附錄1)。
mysql5 安裝好。(此文便是介紹
(版權標識:@@ yahoon @@)
如何使用mysql而不是自帶的hsql作數據庫)。
我這裏的安裝環境是:
操做系統:(##版權標識##@http://yahoon.blog.51cto.com) Centos 5
JAVA版本:jdk1.5.0_14
Mysql版本:Mysql-5.0.45
服務器IP:192.168.0.114
2、基本安裝
1. 下載
從其sourceforge的頁面上下載,下載的包爲 biserver-ce-2.0.0.stable.zip 這是穩定版,推薦生產環境用這個。
(注意:官方的tar.gz包解壓出來沒有jre子目錄,會致使tomcat沒法正常啓動。不知道是否是發佈者的疏忽。因此請你們仔細檢查下載出來的包!!)
2. 解壓
我這裏解壓到/usr/local/pentaho目錄下,
(版權標識:@@ yahoon @@)
解壓出來的目錄名是biserver-ce。
3. 調整權限
解壓後給目錄加執行權限,不然腳本執行不了。
命令chmod +x -R biserver-ce
4. 啓動
(注意:必須在啓動腳本所在的(##版權標識##@http://yahoon.blog.51cto.com)目錄下執行啓動腳本,在別的目錄不行!)
①執行目錄下的腳本start-pentaho.sh 來啓動user console
運行命令 ./start-pentaho.sh
第一次啓動的時候會提示是否啓動版本檢查,當有新版本可用的時候會提醒的。
clip_p_w_picpath010
須要這個功能就直接回車,不須要的就輸入cancel,若是想中止啓動則輸入CTRL+C
輸入回車後輸出以下:
clip_p_w_picpath012
閱讀這些啓動信息,(##版權標識##@http://yahoon.blog.51cto.com)能夠詳細瞭解整個啓動過程都作了些什麼。
查看端口開放狀況
輸入netstat –ant輸出以下:
clip_p_w_picpath014
其中 8080是web訪問端口,9001是hsql的服務端口。
②執行administration-console目錄下的腳本start.sh來啓動administration console。
運行命令 ./start.sh &輸出以下:
clip_p_w_picpath016
注: 命令./start.sh &裏面的」&」符號表示是後臺執行,若是不加會致使不能繼續命令行輸命令。
端口開放狀況以下:
clip_p_w_picpath018
5. 登陸到web 界面
(建議從本機登陸web,由於默認安裝時僅容許本機登陸的用戶才能對sample data進行報表操做;若是從外部的機器訪問,則把下面的localhost改成機器IP,即192.168.0.114,此時雖然能夠登陸進去,
(版權標識:@@ yahoon @@)
可是不能作sample data的報表)
①登陸user console(##版權標識##@http://yahoon.blog.51cto.com)
打開連接 http://localhost:8080/pentaho,看到以下界面
clip_p_w_picpath020
選擇一個用戶登陸之後看到的
(版權標識:@@ yahoon @@)
界面以下
clip_p_w_picpath022
登陸進去後,你能夠作生成報表圖表等操做了。
②登陸administration console
打開連接 http://localhost:8099,會提示輸入用戶密碼,分別輸入admin : password
登陸進去之後顯示的界面以下
clip_p_w_picpath024
6. 中止
①執行目錄下的腳本stop-pentaho.sh 來中止user console。
輸出以下:
clip_p_w_picpath026
端口8080,9001已經關閉
(版權標識:@@ yahoon @@)
了。
②執行administration-console(##版權標識##@http://yahoon.blog.51cto.com)目錄下的腳本stop.sh來中止administration console。
輸出以下:
clip_p_w_picpath028
端口8099已經關閉了。
這就是整個安裝,啓動,使用和中止的過程。確實很簡單吧。下面要作的就是修改一些配置來使用mysql,並容許外部的機器訪問。
3、配置 mysql 作數據庫
1. 數據庫初始化
初始化的工做就是創建相關的庫,導入相關的數據。爲了測試報表功能,咱們還須要有數據源(data source)。
名詞解釋:
數據源(data source) :也就是數據的來源。
(版權標識:@@ yahoon @@)
咱們的報表都要由這些數據生成。在基本安裝的時候pentaho自帶的數據源是HSQL上的名爲sampledata的數據庫,如今咱們須要mysql下的一個庫。
pentaho自帶了mysql數據庫的初始化腳本,首先切換到該目錄下:
cd data/mysql5/
而後下載sampledata數據庫做數據源用:
導入數據腳本(注意次序不能亂)
mysql -uroot -p <(##版權標識##@http://yahoon.blog.51cto.com)create_repository_mysql.sql
mysql -uroot -p <create_quartz_mysql.sql
mysql -uroot -p <create_sample_datasource_mysql.sql
mysql -uroot -p <sampledatamysql5.sql
各個腳本的功能以下:
表名
功能
create_repository_mysql.sql
建立hibernate數據庫
建用戶hibuser,密碼爲password,對庫有徹底權限
建DATASOURCE表
create_quartz_mysql.sql
建立quartz數據庫
建用戶pentaho_user,密碼爲password,對庫有徹底權限
建了不少QRTZ_開頭的表
create_sample_datasource_mysql.sql
向hibernate庫的DATASOURCE表裏面插入一個記錄
數據源便是在這裏定義,顯示在administration console裏面的Data Sources欄目裏面
sampledatamysql5.sql
建立sampledata數據庫和它的表
用戶pentaho_user和pentaho_admin,
(版權標識:@@ yahoon @@)
密碼爲password,對庫有徹底權限
這個庫就是咱們生成報表所用的數據源
完成的上面的工做之後,mysql裏面就有了 hibernate,quartz 和sampledata三個數據庫和相應的用戶。
2. 修改配置文件
對配置文件修改主要是修改裏面的數據庫鏈接部分(##版權標識##@http://yahoon.blog.51cto.com)和容許外部訪問的部分。
(1) 配置目錄 pentaho-solutions/
文件路徑以下:
pentaho-solutions/
system/
applicationContext-acegi-security-jdbc.xml (要修改)
applicationContext-acegi-security-hibernate.properties (要修改)
hibernate/
hibernate-settings.xml (要修改)
mysql5.hibernate.cfg.xml (作檢查,有必要的時候修改)
共有4個文件,下面針對這4個文件的修改分別加以說明:
applicationContext-acegi-security-jdbc.xml
做用:給BI server所用的Spring Security system創建JDBC認證。
修改項目
名稱
舊值
新值
driverClassName
(數據庫訪問的驅動)
org.hsqldb.jdbcDriver
com.mysql.jdbc.Driver
 
url
(hibernate這個庫的url)
jdbc:hsqldb:hsql://localhost:9001/hibernate
jdbc:mysql://localhost:3306/hibernate
 
username
(訪問hibernate庫的用戶)
hibuser
hibuser
(或root,但不推薦)
 
password
(訪問hibernate庫的密碼)
password
password
(或root的密碼,但不推薦)
applicationContext-acegi-security-hibernate.properties
做用:設置屬性參數用於(##版權標識##@http://yahoon.blog.51cto.com)Spring Security來創建數據庫與hibernate的鏈接。
修改項目
(版權標識:@@ yahoon @@)
名稱
舊值
新值
jdbc.driver
org.hsqldb.jdbcDriver
com.mysql.jdbc.Driver
 
jdbc.url
(hibernate庫的url)
jdbc:hsqldb:hsql://localhost:9001/hibernate
jdbc:mysql://localhost:3306/hibernate
 
jdbc.username
(訪問hibernate庫的用戶)
hibuser
hibuser(或root,但不推薦)
 
jdbc.password
(訪問hibernate庫的密碼)
password
password(或root的密碼,但不推薦)
 
hibernate.dialect
(數據庫用的語言)
org.hibernate.dialect.HSQLDialect(##版權標識##@http://yahoon.blog.51cto.com)
org.hibernate.dialect.MySQLDialect
hibernate-settings.xml
做用:基本的hibernate設置,
(版權標識:@@ yahoon @@)
例如hibernate的數據庫後臺。
修改項目
名稱
舊值
新值
config-file
system/hibernate/hsql.hibernate.cfg.xml
system/hibernate/mysql5.hibernate.cfg.xml
 
mysql5.hibernate.cfg.xml
做用:配置hibernate數據庫的mysql鏈接,這樣就容許BI server內部的管理鏈接。
由於這個配置文件已是針對mysql的了,,因此不須要修改,只是要檢查確認。
名稱
connection.driver_class
com.mysql.jdbc.Driver
 
connection.url
jdbc:mysql://localhost:3306/hibernate(##版權標識##@http://yahoon.blog.51cto.com)
 
connection.username
hibuser(能夠改成root,但不推薦)
 
connection.password
password((能夠改成root的密碼,但不推薦)
 
(2) 配置目錄tomcat/webapps/pentaho/
這是作修改網頁相關的配置。
要修改的文件路徑以下:
tomcat/
webapps/
pentaho/
WEB-INF/
(版權標識:@@ yahoon @@)
        web.xml
META-INF/
        context.xml
下面對這2個文件分別說明:
web.xml
做用:tomcat的pentaho站點啓動的主配置文件(##版權標識##@http://yahoon.blog.51cto.com),如創建全部的JSP和其餘各類文件。
修改項目
名稱
舊值
新值
base-url
http://localhost:8080/pentaho/
將localhost保留或改成實際ip
若是是localhost
(版權標識:@@ yahoon @@)
那麼僅能從本機登陸才能打開sampledata 報表, 若是是實際ip 。那樣就能從別的機器登陸了。
context.xml
做用:創建hibernate和quartz二者的配置文件。
作以下修改:
對於 Resource name="jdbc/Hibernate"
username
更新爲hibuser(或者root)
password
更新爲password(或者root的密碼 )
driverClassName
更新爲com.mysql.jdbc.Driver
url
更新爲jdbc:mysql://localhost/hibernate (須要的時候localhost後加端口號)
validationQuery
刪掉這個值,或者填SELECT 1 (##版權標識##@http://yahoon.blog.51cto.com)(這個值是檢查庫是否可用的SQL查詢)
 
對於 Resource name="jdbc/Quartz"
username
更新爲pentaho_user (或者root)
password
更新爲password(或者root的密碼 )
driverClassName
更新爲com.mysql.jdbc.Driver
url
更新爲jdbc:mysql://localhost/quartz (須要的時候localhost後加端口號)
validationQuery
刪掉這個值,或者填SELECT 1 (這個值是檢查庫是否可用的SQL查詢)
配置文件的修改就完成了,啓動user console和administration console吧!
 
3. 配置數據源
下面就須要配置數據源來使用mysql裏面的sampledata作數據源,過程以下:
登陸到administration console中,
(版權標識:@@ yahoon @@)
在administration 頁面的」data sources」標籤下,點左邊的「sampledata」,能夠看到當前使用的數據源仍就是hsql裏面的 sampledata庫。(以下圖)
clip_p_w_picpath030
進行以下操做
在General 頁下(##版權標識##@http://yahoon.blog.51cto.com)
Driver Class 選"com.mysql.jdbc.Driver"
User Name: pentaho_user(默認是這個,因此不改)
Password: password(默認是這個
(版權標識:@@ yahoon @@)
,因此不改)
URL 修改成 jdbc:mysql://localhost:3306/sampledata (根據實際的mysql端口更改)
在Advanced 頁下
將"Validation Query" 設爲空或者SELECT 1
完成後以下圖
clip_p_w_picpath032 clip_p_w_picpath034
左圖爲」General」頁,右圖爲(##版權標識##@http://yahoon.blog.51cto.com)」Advanced」頁。
點test按鈕進行測試,
(版權標識:@@ yahoon @@)
成功的時候會顯示以下窗口
clip_p_w_picpath036
點update按鈕就保存了。這個時候就是更新了hibernate數據庫的DATASOURCE表。
從新啓動user console生效。
全部的任務到此完成,你能夠看到已經沒有到9001端口的連接了。全部的數據操做都是鏈接到mysql的端口3306的。
4、結語
鑑於pentaho的相關文章至關少,並且文檔裏面涉及的版本也很低,因此才寫了這篇文章,但願能對感興趣的人有所幫助。
使用過程當中的常見問題及能夠參考的資料見附錄。
更多精彩文章請點擊個人博客 http://yahoon.blog.51cto.com
5、附錄
附錄1 :JRE 環境的配置
由於jdk自己帶有jre,因此就直接下jdk,
(版權標識:@@ yahoon @@)
方便之後安裝相關軟件,避免出現莫名其妙的問題。步驟以下:
一、從java.sun.com下載jdk包
我下載的包是jdk-1_5_0_14-linux-i586.bin
二、將包移到/usr/local下,並給執行權限
chmod a+x jdk-1_5_0_14-linux-i586.bin
四、執行自解壓文件jdk-1_5_0_14-linux-i586.bin
./jdk-1_5_0_14-linux-i586.bin
閱讀完license後,輸入yes
五、建立必要的連接(##版權標識##@http://yahoon.blog.51cto.com)
ln -s jdk1.5.0_14 jdk
ln -s /usr/local/jdk/jre jre
6 修改環境變量
vi /etc/profile加入如下內容
PATH=$PATH:/usr/local/jdk/bin:/usr/local/jre/bin:/usr/local/jdk
JAVA_HOME=/usr/local/jdk
JAVA_OPTS=-server
export JAVA_HOME JAVA_OPTS
CLASSPATH=.:/usr/local/jdk/lib:/usr/local/jdk/jre/lib
export CLASSPATH
7 使環境變量生效
source /etc/profile
附錄2 :windows 平臺的配置
由於pentaho是垮平臺的,因此按照本文的方法也適用於windows。
附錄3 :google maps 沒法顯示的問題(##版權標識##@http://yahoon.blog.51cto.com)
從客戶端登陸user console之後,點擊」打開」按鈕或者從菜單選擇」打開」,依次選擇」車輪的生產銷售分析」——」儀表盤」——」Google Maps」,若沒法顯示google地圖,只獲得以下的提示信息:
clip_p_w_picpath038
只須要按照提示的說明到google申請key。(須要說明的是,必需要有google的帳號才能申請)。申請完成後將獲得的key填入到文件(##版權標識##@http://yahoon.blog.51cto.com)
/usr/local/pentaho/biserver-ce/pentaho-solutions/system/google/googlesettings.xml中(以下圖) clip_p_w_picpath040
重啓pentaho,就能夠正常顯示了(以下圖)。
clip_p_w_picpath042
附錄4 :生成report 時彈出」business models」 沒法顯示的問題
登陸到user console時點擊」New Report」,顯示以下對話框
clip_p_w_picpath044
這是因爲登陸的用戶的權限不夠所致使的,不能打開」business model」裏面的欄目。
你用其餘的用戶(例如joe)登陸進去就能夠看到裏面的(##版權標識##@http://yahoon.blog.51cto.com)欄目了(以下圖)。並且用不一樣的用戶登陸會發現,不一樣的權限的用戶,能夠看到不一樣的內容。
clip_p_w_picpath046
附錄:5 有用的資源
http://forums.pentaho.org/
官方論壇,註冊起來有點麻煩,裏面有一些有用的文檔和提問解答。
http://wiki.pentaho.com/
wiki社區,提供一些文檔,可是有些僅對企業用戶開放,並且文檔的更新速度通常。
http://wiki.pentaho.com/download/p_w_uploads/1838/community_user_guide.pdf
介紹手冊
(全文完)
by yahoon
相關文章
相關標籤/搜索