1. 程式人生 > >Kettle — 安裝和部署

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