Kettle — 安裝和部署
前提
Kettle是純Java編寫的ETL開源工具,目前Kettle7和Kettle8都需要Java8或者以上才能正常執行。所以開執行Kettle前先檢查Java環境是否正確配置,Java版本是否是8或者以上。
Kettle安裝
1)建立Kettle的目錄,並將Kettle的zip包解壓到Kettle目錄下
2)檢視一下sh檔案使用都有執行的許可權,如果沒請加上。
4)執行kitchen.sh指令碼
3)如果出現以下的錯誤,這是因為sh檔案有可能是在Windows下編寫的並打包到Zip包中的,編碼格式不一樣linux是utf-8,windows是gbk的。我這裡提供兩種解決方案。
1.單個檔案修改
利用Vim進行修改,可以使用:set ff檢視檔案格式;可以使用:set ff=unix修改檔案格式。
2.批量執行
執行下面的指令碼命令即可。建立一個sh檔案,將下面的shell程式碼複製到該檔案執行即可。注意路徑修改一下。
for file in `ls /opt/kettle/data-integration/*.sh` do echo ${file} vim +':w ++ff=unix' +':q' ${file} done
4)執行後如果出現下面的WARNING,根據提示安裝即可,不然可能會導致部分特性無法使用(主要是Spoon的使用,如果是無介面環境,可以忽略)。
5)安裝好以後,WARNING就沒有了。出現以下的提示介面說明Kettle可以正常使用了。
同時home目錄下應該會有一個.kettle的目錄
Kettle轉換與作業執行
在Kettle中pan和kitchen兩個工具分別用來執行transformation(轉換)和job(作業),如下所示:
對於檔案儲存,不是資料庫資源庫,可以如下的方式存放檔案:
所有的transformation檔案存放在/srv/kettle/transformations/
所有的job檔案存放在/srv/kettle/jobs/
所有的日誌檔案存放在/var/kettle/logs/
使用pan執行transformation
pan語法:./pan.sh -option=value arg1 arg2
具體使用參考:https://www.cnblogs.com/xiaopan-cp9/p/7608203.html(非常仔細的介紹)
使用kitchen執行job
kitchen語法:./kitchen.sh -option=value arg1 arg2
常用引數列表:
命令 |
描述 |
-rep |
選擇一個資源庫的名字 |
-user |
資源庫使用者名稱 |
-pass |
資源庫密碼 |
-file |
job檔案路徑 |
-job |
資源庫中的job名稱 |
-dir |
指定資源庫目錄 |
-norep |
標明不是資源庫裡的檔案 |
-level |
日誌級別(Basic, Detailed, Debug, Rowlevel, Error, Nothing) |
-logfile |
日誌輸出到指定的檔案 |
-listdir |
在使用 -dir 時,打印出資源庫目錄下所有子目錄 |
-listjob |
列出資源庫中的所有jobs |
-listrep |
列出當前所有已經定義的資源庫 |
-export |
匯出所有的job到一個zip包中 |
-version |
顯示版本 |
-listparam |
列出所有的引數 |
-param |
引數設定,例如-param:FOO=bar |
-level |
log級別 (Basic, Detailed, Debug, Rowlevel, Error, Nothing) |
Kettle伺服器端部署
通過Start元件定時執行任務
在Kettle中我們可以通過Start元件來設定定時任務,如下所示,這種方式不推薦使用,因為該Job會一直佔有一個程序,容易記憶體溢位。
通過crontab執行Kettle任務
在Linux中crontab是用來提交和管理使用者週期性執行的任務。
例如(檔案存放位置):
所有的transformation檔案存放在/srv/kettle/transformations/
所有的job檔案存放在/srv/kettle/jobs/
所有的日誌檔案存放在/var/kettle/logs/
所有的執行指令碼存放在/srv/kettle/script/
1)首先我們建立一個指令碼。因為是crontab執行任務,我們需要重新匯入Java配置。
2)在終端上,鍵入“crontab-e”,進入定時任務檔案,新增任務。
3)重啟cron 並檢視任務
Kettle通過Carte遠端排程
Kettle的部署有很多種模式,上面講的是最原生的模式(Pan/Kitchen)。但是這種方式不利於監控、排程和資源分配。Kettle本身提供了一個用於排程的Web服務Carte。Carte允許遠端請求HTTP進行監控、啟動、停止在Carte服務上執行的job和trans。要部署使用Carte的大致過程如下所示:
1)修改xml配置檔案
在kettle.pwd的描述中可以知道預設的使用者名稱密碼都是cluster(不放心的話可以通過<username>和<password>節點設定使用者名稱密碼),如果要修改密碼可以在配置檔案中配置。
2)啟動Carte
啟動時將剛剛的配置檔案加上。
啟動完成後就可以訪問Carte了,介面非常的簡陋。
PDI Status應該可以理解,下面的Configuration details上面三條代表日誌最大長度、日誌存活時間和指定轉換或者作業產生的物件的存活時間,這三個屬性都是為了防止Out Of Memory。在上面的配置檔案中的配置如下所示:
最後一個引數是資源庫名稱。
3)配置子伺服器
上面是成功的將Carte服務開啟,下面就需要將Spoon連線到Carte。在左側的樹中我們需要增加一個子伺服器。如下所示:
4)建立一個新的執行配置,setting選擇Slave Server。
5)提交任務
執行時選擇剛剛配置的Carte執行。這樣我們執行檔案就會上傳到Carte伺服器指定的目錄然後執行。
然後在PDI Status介面就能看到執行的任務。點選進行可以看到詳細的任務詳情。
相關推薦
Kettle — 安裝和部署
前提 Kettle是純Java編寫的ETL開源工具,目前Kettle7和Kettle8都需要Java8或者以上才能正常執行。所以開執行Kettle前先檢查Java環境是否正確配置,Java版本是否是8或者以上。 Kettle安裝 1)建立Kettle的目錄,並將Ke
kettle的安裝和部署
1).到官網下載需要安裝的kettle版本,目前最新版本4.2,官網地址:http://kettle.pentaho.org,我們是使用的版本是kettle3.2 2).本地安裝jdk 1.4或以上版本。 3).配置java環境變數 a).開啟我的電腦--屬性--高階--環
ISA2006安裝和部署基礎(虛擬機非域環境)
策略 ron 隧道 wan 對話 什麽 mark war fontsize 0x00. 為了測試基於HTTP隧道的繞過ISA,必須搭建模擬環境,為了不麻煩,我們這裏不配合域環境認證.本次實驗利用Vmware 10.0搭建好開發環境,實現ISA2006安裝和部署,同一時候
Redis的安裝和部署(windows )
數據庫 inux 保持 設置 cli 窗口 mas log height Redis是一個開源的試用ANSI C語言編寫的、遵守BSD協議、支持網絡、可基於內存可持久化的日誌型、key-value數據庫。通常被稱為數據結構服務器. redis的數據類型有:字符串(strin
crm2013安裝和部署語言包
pack 位置 -m 系統管理員 crm 2013 program mod 步驟 安裝 步驟 1:安裝語言包 假設具有執行 Microsoft Dynamics CRM for Microsoft Office Outlook 的用戶,除了在執行
Redis的安裝和部署
redisRedis的安裝和部署一.基本知識1、Redis的數據類型: 字符串、列表(lists)、集合(sets)、有序集合(sorts sets)、哈希表(hashs)2、Redis和memcache相比的獨特之處: (1)redis可以用來做存儲(storge)、而memcache是來做緩存(cac
hive 安裝和部署
def 環境 version etc odi onu base hive環境變量 tool 1.先安裝好hdfs和mapreduce 2.下載hive的安裝包, 下載地址:https://cwiki.apache.org/confluence/display/Hive/G
Docker在Ubuntu16.04上安裝和部署Apache Storm
雲計算 docker storm 安裝 部署 Docker在Ubuntu16.04上安裝和部署Apache Storm1、添加Docker源sudo apt-get update 2、增加CA證書sudo apt-get install apt-transport-https ca-cer
redis安裝和部署
com png 部署 ash pos 軟連接 not found 使用 logs 1.從http://www.redis.io/下載最新版redis 2.將redis-4.0.6.tar.gz上傳到linux服務器.參照http://www.cnblogs.com/ryjJ
Linux下Redis的安裝和部署(轉)
分享圖片 rpo service bare moni res linux文件 情況下 遠程管理 一、Redis介紹 Redis是當前比較熱門的NOSQL系統之一,它是一個key-value存儲系統。和Memcache類似,但很大程度補償了Memcache的不足,它支
基於Ubuntu Server 16.04 LTS版本安裝和部署Django之(四):安裝MySQL數據庫
ins cli 遠程訪問 lib root 版本 連接 str ibm 1.安裝mysql以及插件: sudo apt-get install mysql-server mysql-client sudo apt-get install libmysqld-devsud
Tomcat的安裝和部署
tomcat的安裝和部署 tomcat的安裝和部署1.安裝java# yum –y install java-1.8.0-openjdk
ESXI的安裝和部署
分享 tro Linux6.5 裝系統 通過 操作系統 vcl inf 步驟 1、 實驗拓撲圖: 2、 實驗要求 (1) 新建一臺exsi主機,安裝exsi5.5系統。 步驟: 1)新建虛擬機,導入光盤。 2)安裝esxi系統 (2)在exsi
[自動化]Puppet服務安裝和部署
system ets 目的 sha 修改權限 info emc ESS unix puppet簡介 puppet是一種基於ruby語言開發的Lnux、Unix、windows平臺的集中配置管理系統。它使用自有的puppet描述語言,可管理配置文件file、用戶user、c
ceph(1)--安裝和部署
flatten true 6.5 集群部署 required ttr 後者 add 相關 本系列文章會深入研究 Ceph 以及 Ceph 和 OpenStack 的集成: (1)安裝和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和邏輯結構 (4)Ceph
在Docker中安裝和部署MongoDB集群
安全 服務 執行 registry -h 快速部署 run 節點 docke 此文已由作者袁歡授權網易雲社區發布。歡迎訪問網易雲社區,了解更多網易技術產品運營經驗。在Docker中安裝mongodb采用的mongodb鏡像:https://registry.hub.dock
centos7 docker的安裝和部署命令
解除安裝docker yum list installed | grep docker docker.x86_64 1.10.3-46.el7.centos.14 @extras docker-common.x86_64 1.10.3-46.el7.centos.14 @extras
自動化運維工具Puppet服務安裝和部署詳解
puppet簡介 puppet是一種基於ruby語言開發的Lnux、Unix、windows平臺的集中配置管理系統。它使用自有的puppet描述語言,可管理配置檔案file、使用者user、cron任務、軟體包、系統服務等系統實體。 puppet依賴於C/S(客戶端/伺服器)的部署架構。它需要在p
Redis學習01_redis安裝部署(centos) Redis學習(一):CentOS下redis安裝和部署
原文: http://www.cnblogs.com/herblog/p/9305668.html Redis學習(一):CentOS下redis安裝和部署 1.基礎知識 redis是用C語言開發的一個開源的高效能鍵值對(key-value)資料庫。它通過提
Zookeeper的安裝和部署
本文為linux centOS 7環境的安裝與部署 1、安裝 從官網映象中下載 http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.5.4-beta/ 通過以下命令,解壓安裝包 tar