有一些用例將Carte作為Windows服務運行:
- 當使用命令窗口運行Carte實例時,任何人都會錯誤地關閉實例並且Carte將關閉。
- Carte.bat命令窗口與調用批處理文件的用戶會話相關聯,需要保持登錄狀態。
- 使用Windows服務,您可以在計算機啟動時啟動Carte服務,並將其配置為在崩潰后重新啟動。
完成以下說明后,您可以將Carte作為Windows服務運行,如下所示:
安裝說明
- 從Sourceforge 下載YAJSW(又一個Java Service Wrapper):http://sourceforge.net/projects/yajsw/files/(這些說明是針對YAJSW版本11.03編寫和測試的)
- 將文件解壓縮到合適的文件夾,例如C:\ Pentaho \ CarteService。注意:不應在任何其他Pentaho Kettle文件夾下創建此文件,因為它獨立於Pentaho Kettle版本,並且可以輕松升級到未來的Kettle版本(另請參閱“升級說明”一章)。
- 當您解壓縮YAJSW時,您有一個文件夾C:\ Pentaho \ CarteService \ yajsw-stable-11.03。我們建議將此文件夾重命名為C:\ Pentaho \ CarteService \ default。這樣做的原因是可能在一台機器上有多個配置,請參閱“一台機器上的多個Carte實例”一章。另一個原因是,如果您升級到以后的YAJSW版本,則無需更改對此文件夾的任何引用。注意:我們將在以下說明中將YAJSW目錄引用為<CarteServiceFolder>。
- 下載准備好的wrapper.conf配置文件(本頁附件)。
- 將下載的wrapper.conf 復制到<CarteServiceFolder> \ conf \ wrapper.conf(替換現有的)。
- 使用文本編輯器編輯wrapper.conf並手動更改以下條目(您可以在文件中搜索標記### InstallerOrModify ###的便利性):
參數 |
樣品 |
說明/注釋 |
---|---|---|
參數 |
樣品 |
說明/注釋 |
wrapper.working.dir |
C:/Pentaho/pdi-ee-4.3.0-GA/data-integration |
Carte的工作目錄。請介意改變反斜線為正斜杠或文件路徑雙回斜線! |
wrapper.app.account |
|
Carte服務將運行的用戶帳戶。如果此處未給出任何內容,則以本地系統帳戶啟動。請咨詢系統管理員,了解正確的用戶設置。如果您在此處輸入房產,請注意刪除前導'#'。 |
wrapper.app.password |
|
給定帳戶的密碼。如果您在此處輸入房產,請注意刪除前導'#'。 |
wrapper.java.app.jar |
。 |
您需要替換此jar文件的版本。 |
wrapper.java.command |
C:/Pentaho/BA-4.5.0-GA/java/bin/java.exe |
java.exe的路徑。請介意改變反斜線為正斜杠或文件路徑雙回斜線! |
wrapper.app.parameter.3 |
127.0.0.1 |
Carte偵聽IP地址(或動態配置文件),請參閱Carte用戶文檔以獲取更多詳細信息。 |
wrapper.app.parameter.4 |
8081 |
Carte監聽端口,請參閱Carte用戶文檔以獲取更多詳細信息。 |
wrapper.java.additional.1 |
-Xmx512m |
這可能會根據您所需的內存而有所不同。 |
測試您的配置
- 執行<CarteServiceFolder> \ bat \ runConsole.bat
- 當一切配置正確時,Carte像往常一樣啟動。
- 檢查您是否可以從本地計算機上的瀏覽器登錄Carte,例如http:// localhost:8081
- 測試成功后,您可以通過在新的yajsw系統托盤中選擇“停止”或在控制台窗口中使用Ctrl-C來停止Carte。
安裝Carte即服務
- 執行<CarteServiceFolder> \ bat \ installService.bat(注意:您應該以管理員身份運行此操作,具體取決於您的操作系統和安全限制。否則,稍后可能會出現一些異常行為,例如,不會生成任何日志文件。)
- 轉到Windows服務,您應該看到已安裝的服務(Pentaho DI Carte)。
- 您可以更改所有設置(例如,啟動類型,登錄憑據)
- 按照“啟動和停止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中的日志文件。
也可以獲得系統托盤
在初始啟動Windows服務后獲取Carte的控制台輸出:
當您登錄到carte時,控制台會獲得與您通過瀏覽器獲得的信息相同的信息,例如在執行示例轉換后:
非常感謝YAJSW(Yet Another Java Service Wrapper)的開發人員提供了將Java程序作為服務包裝的優秀解決方案,並感謝Dan將此引起我的注意。