Carte做爲Windows服務

有一些用例將Carte做爲Windows服務運行:html

  • 當使用命令窗口運行Carte實例時,任何人都會錯誤地關閉實例而且Carte將關閉。
  • Carte.bat命令窗口與調用批處理文件的用戶會話相關聯,須要保持登陸狀態。
  • 使用Windows服務,您能夠在計算機啓動時啓動Carte服務,並將其配置爲在崩潰後從新啓動。

完成如下說明後,您能夠將Carte做爲Windows服務運行,以下所示:java

 

安裝說明

  1. 從Sourceforge 下載YAJSW(又一個Java Service Wrapper):http//sourceforge.net/projects/yajsw/files/(這些說明是針對YAJSW版本11.03編寫和測試的)
  2. 文件解壓縮到合適的文件夾,例如C:\ Pentaho \ CarteService。注意:不該在任何其餘Pentaho Kettle文件夾下建立此文件,由於它獨立於Pentaho Kettle版本,而且能夠輕鬆升級到將來的Kettle版本(另請參閱「升級說明」一章)。
  3. 當您解壓縮YAJSW時,您有一個文件夾C:\ Pentaho \ CarteService \ yajsw-stable-11.03。咱們建議將此文件夾重命名爲C:\ Pentaho \ CarteService \ default。這樣作的緣由是可能在一臺機器上有多個配置,請參閱「一臺機器上的多個Carte實例」一章。另外一個緣由是,若是您升級到之後的YAJSW版本,則無需更改對此文件夾的任何引用。注意:咱們將在如下說明中將YAJSW目錄引用爲<CarteServiceFolder>。
  4. 下載準備好的wrapper.conf配置文件(本頁附件)。
  5. 下載的wrapper.conf 複製<CarteServiceFolder> \ conf \ wrapper.conf(替換現有的)。
  6. 使用文本編輯器編輯wrapper.conf並手動更改如下條目(您能夠在文件中搜索標記### InstallerOrModify ###的便利性):

參數api

樣品 瀏覽器

說明/註釋 安全

參數app

樣品 編輯器

說明/註釋 測試

wrapper.working.dir優化

C:/Pentaho/pdi-ee-4.3.0-GA/data-integration url

Carte的工做目錄。請介意改變反斜線爲正斜槓或文件路徑雙回斜線!
注意:若是您定義了OS環境變量,則能夠在配置中直接訪問這些變量並使用此參數。Windows環境變量轉換爲小寫。所以,即便您在計算機上使用例如PATH,也必須
在配置文件中調用$ {path}。

wrapper.app.account

 

Carte服務將運行的用戶賬戶。若是此處未給出任何內容,則以本地系統賬戶啓動。請諮詢系統管理員,瞭解正確的用戶設置。若是您在此處輸入房產,請注意刪除前導'#'

wrapper.app.password

 

給定賬戶的密碼。若是您在此處輸入房產,請注意刪除前導'#'

wrapper.java.app.jar


發射器
pentaho-application-launcher-VERSION.jar

您須要替換此jar文件的版本。 

wrapper.java.command

C:/Pentaho/BA-4.5.0-GA/java/bin/java.exe 
 $ {pentaho_java_home} /bin/java.exe

java.exe的路徑。請介意改變反斜線爲正斜槓或文件路徑雙回斜線!
注意:使用安裝程序時,已設置PENTAHO_JAVA_HOME系統環境變量。此變量能夠在此上下文中使用,但須要以小寫形式給出。

wrapper.app.parameter.3

127.0.0.1

Carte偵聽IP地址(或動態配置文件),請參閱Carte用戶文檔以獲取更多詳細信息。
注意:對於動態集羣配置,請將wrapper.app.parameter.3替換爲集羣配置文件的位置(例如wrapper.app.parameter.3 = C:
Pentaho 
Kettle 
slave_dyn_8083.xml)並刪除包裝器。 app.parameter.4。

wrapper.app.parameter.4

8081

Carte監聽端口,請參閱Carte用戶文檔以獲取更多詳細信息。

wrapper.java.additional.1

-Xmx512m

這可能會根據您所需的內存而有所不一樣。 

測試您的配置

    1. 執行<CarteServiceFolder> \ bat \ runConsole.bat
    2. 當一切配置正確時,Carte像往常同樣啓動。
    3. 檢查您是否能夠從本地計算機上的瀏覽器登陸Carte,例如http:// localhost:8081
    4. 測試成功後,您能夠經過在新的yajsw系統托盤中選擇「中止」或在控制檯窗口中使用Ctrl-C來中止Carte。

 

安裝Carte即服務

  1. 執行<CarteServiceFolder> \ bat \ installService.bat(注意:您應該以管理員身份運行此操做,具體取決於您的操做系統和安全限制。不然,稍後可能會出現一些異常行爲,例如,不會生成任何日誌文件。)
  2. 轉到Windows服務,您應該看到已安裝的服務(Pentaho DI Carte)。
  3. 您能夠更改全部設置(例如,啓動類型,登陸憑據)
  4. 按照「啓動和中止Carte服務」一章中的說明啓動您的服務並檢查您的安裝。

啓動和中止Carte服務

除了Windows服務中的用戶界面以外,還能夠經過命令startService.bat或stopServce.bat(在<CarteServiceFolder> \ bat文件夾中)
或經過常規Windows服務啓動和中止命令來啓動和中止服務,例如
 net start pentaho_carte 
 net stop pentaho_carte 
注意:您須要管理員權限,最終在更改此服務名稱時,經過參數wrapper.ntservice.name中的設置替換pentaho_carte

記錄和監控

默認狀況下,日誌記錄到文件<CarteServiceFolder> \ log \ wrapper.log。
您能夠經過參數wrapper.logfile將此設置更改成其餘位置/文件。
注意:請記住根據您的須要清理此日誌文件。

也能夠經過YAJSW系統托盤得到控制檯輸出。這是爲了在桌面上顯示狀態圖標和菜單。要啓動系統托盤,您須要運行<CarteServiceFolder> \ bat \ systemTrayIconW.bat 
您能夠建立一個連接以從啓動文件夾啓動try圖標,這樣它就能夠經過定義systemTrayIconW的連接在用戶登陸時自動啓動。蝙蝠

更多信息能夠在YAJSW文檔的「系統托盤支持」一章中找到(http://yajsw.sourceforge.net/#mozTocId451759

卸載

若是要卸載該服務,能夠運行<CarteServiceFolder> \ bat \ uninstallService.bat(具備管理員權限)
或Windows自帶的命令:sc delete pentaho_carte 
注意:您須要管理員權限,最終經過參數包裝器中的設置替換pentaho_carte更改時的.ntservice.name

若是您收到錯誤指定的服務已標記爲刪除,一般只需從新啓動Windows便可。

一臺機器上的多個Carte實例

若是您須要在一臺計算機上安裝更多Carte實例,則應該具備<CarteServiceDirectory>的單獨文件夾,並將每一個wrapper.conf文件中的如下屬性更改成惟一(給定樣本):
wrapper.ntservice.name = pentaho_carte_8081 
wrapper.ntservice。 displayname = Pentaho DI Carte Port 8081 
wrapper.app.parameter.4 = 8081

此外,您須要設置

wrapper.tray = false

不然,啓動會拋出IP地址的多個綁定的異常。(這能夠經過不一樣的配置來解決,但在撰寫本文時還沒有進一步調查。)

您能夠考慮使用選項wrapper.affinity更改每一個實例的進程的CPU親和性

高級選項和故障排除

咱們在此提供了簡單易用的安裝說明,以簡化初始設置。若是您須要更多的背景下,要調整不一樣的選項,優化設置,以YAJSW遇到問題,請參閱大量YAJSW文檔在這裏:http://yajsw.sourceforge.net/尤爲是HTTP://yajsw.sourceforge。淨/ YAJSW%20Configuration%20Parameters.html

Pentaho Kettle升級說明

當您升級到更高版本的Pentaho Kettle版本時,請確保在wrapper.conf文件<CarteServiceDirectory> / conf中最後檢查或更改引用wrapper.working.dir到您的Kettle文件夾,最後是wrapper.java.command。

YAJSW升級說明

當您升級到更高版本的YAJSW時,請確保安全並替換位於<CarteServiceDirectory> / conf中的wrapper.conf文件,並最終替換<CarteServiceDirectory> / log中的日誌文件。

 

也能夠得到系統托盤

yajsw_system_tray

在初始啓動Windows服務後獲取Carte的控制檯輸出:

yajsw_console1

當您登陸到carte時,控制檯會得到與您經過瀏覽器得到的信息相同的信息,例如在執行示例轉換後:

yajsw_console2

很是感謝YAJSW(Yet Another Java Service Wrapper)的開發人員提供了將Java程序做爲服務包裝的優秀解決方案,並感謝Dan將此引發個人注意。

相關文章
相關標籤/搜索