基於kettle8的web端調度監控平台


發布時間:2018-11-16
 
技術:spring+springmvc +beetlsql+quartz+kettle8
 

概述

Kettle調度監控平台(以下簡稱KS)是一個自主開發的javaweb程序,專門用來調度和監控由kettle客戶端創建的job和transformation。KS整體的框架是由spring+sprin gmvc +beetlsql整合而成,通過調用kettle的API來執行轉換和作業,並且使用quartz框架完成調度工作。此版本基於kettle-8.0.0.0-28版本的API開發的,目前可以基本可以支持所有的組件,包括大數據組件(hbase、hive、hdfs等)。

詳細

一、背景

Kettle作為用戶規模最多的開源ETL工具,強大簡潔的功能深受廣大ETL從業者的歡迎。但kettle本身的調度監控功能卻非常弱。Pentaho官方都建議采用crontab(Unix平台)和計划任務(Windows平台)來完成調度功能。所以大家在實施kettle作業調度功能的時候,通常采用以下幾種方式:使用spoon程序來啟動Job,使用crontab或計划任務,自主開發java程序來調用kettle的類庫。

二、項目介紹

Kettle調度監控平台(以下簡稱KS)是一個自主開發的javaweb程序,專門用來調度和監控由kettle客戶端創建的job和transformation。KS整體的框架是由spring+sprin gmvc +beetlsql整合而成,通過調用kettle的API來執行轉換和作業,並且使用quartz框架完成調度工作。

此版本基於kettle-8.0.0.0-28版本的API開發的,目前可以基本可以支持所有的組件,包括大數據組件(hbase、hive、hdfs等)。

三、項目結構

 

image.png

四、部署

 

  1. 基礎環境

    1. 操作系統:windows(linux類似)

    2. 預裝軟件:jdk1.8、mysql、tomcat、kettle8.0

  2. 將源碼中kettle-scheduler.sql導入mysql數據庫。

  1. 將源碼編譯打包后解壓到tomcat下的webapps目錄下。

  1. 配置km\WEB-INF\classes\resource\db.properties

jdbc.driver=com.mysql.jdbc.Driver   //mysql驅動
jdbc.url=jdbc:mysql://192.22.107.97:3306/kettle-master?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false   //mysql的jdbc url
jdbc.username=root  //mysql用戶名
jdbc.password=123456   //mysql密碼

 

 

  1. 配置km\WEB-INF\classes\resource\ kettle.properties

kettle.home=WEB-INF\\lib   //kettlehome路徑, 此處不用修改,但是需要將kettle8.0的環境變量文件kettle.properties拷貝替換掉項目路徑km\WEB-INF\lib\.kettle下的同名文件
kettle.plugin=E:\\zhaxiaodong\\plugins   //kettle插件目錄,可以自定義一個目錄,然后將data-integration\plugins目錄下所需的插件拷貝到此目錄下
kettle.script=Html\\js\\libs\\url   //kettle所用到的js文件,目前未使用到
kettle.loglevel=detail      //kettle日志級別
kettle.log.file.path=D:\\data-integration\\logs  //執行kettle轉換和作業產生的日志存放的路徑
kettle.file.repository=D:\\data-integration\\test   //存放上傳的文件作業或文件轉換的路徑,此功能已屏蔽,無需修改

 

 

  1. 將data-integration目錄下的simple-jndi和system文件夾拷貝到apache-tomcat-9.0.12\bin目錄下

  2. 配置\apache-tomcat-9.0.12\conf\ server.xml

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />    //配置端口號
<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context path="/km" docBase="/km"  reloadable ="true" debug="0" privileged="true"> </Context> 
… 
</Host>

 

  1. 啟動tomcat

    1. Windows:apache-tomcat-9.0.12\bin\startup.bat;

    2. Linux: apache-tomcat-9.0.12\bin\startup.sh;

  2. 訪問http://localhost:8080/km進入系統。

五、使用說明

  1. 登陸

訪問http://localhost:8080/km進入登陸界面,用戶名admin,密碼admin

 

  1. 首頁

首頁主要是顯示監控信息,當一個任務(作業或轉換)啟動后,這個任務就處於被系統的監控狀態下,首頁展示了總監控任務數、監控作業數、監控轉換數、轉換監控記錄(僅顯示5條)、作業監控記錄(僅顯示5條)以及7天內作業和轉換的監控狀況。

  1. 資源庫管理

管理kettle數據庫資源庫的信息,可以新增、修改、刪除數據庫資源庫。

  1. 任務管理 – 作業管理

管理作業定時任務,可以新增、修改、刪除作業定時任務,啟動后作業即開始運行。

 

  1. 任務管理 – 轉換管理

管理轉換定時任務,可以新增、修改、刪除轉換定時任務,啟動后轉換即開始運行。

  1. 任務管理 – 執行策略

管理執行策略,可以新增、修改、刪除執行策略(定時執行策略)。

  1. 監控管理 – 作業監控

處於運行的作業會被系統監控,此處顯示被監控的作業的監控信息,包括總作業任務數、總執行成功次數、總執行失敗次數以及每個作業的成功次數和失敗次數。查看詳情頁面還可以查看每次執行的日志及執行時間,日志還可下載。

  1. 監控管理 – 轉換監控

處於運行的轉換會被系統監控,此處顯示被監控的轉換的監控信息,包括總轉換任務數、總執行成功次數、總執行失敗次數以及每個轉換的成功次數和失敗次數。查看詳情頁面還可以查看每次執行的日志及執行時間,日志還可下載。

  1. 用戶管理

此菜單只有admin用戶登陸時顯示,用戶管理用戶,admin用戶可以新增用戶、編輯用戶、刪除用戶。


 

六、其他

最后希望大家可以一起維護此項目,如有問題可加入qq群提問 點擊鏈接加入群聊【QQ群:817362677】【kettle-scheduler交流群】:https://jq.qq.com/?_wv=1027&k=59nBFXl

 

注:本文著作權歸作者,由demo大師發表,拒絕轉載,轉載需要作者授權


免責聲明!

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



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