济南微信网站制作,商城微网站创建,公司网络监控,三乡网站建设公司前提
kettle是纯java编写的etl开源工具#xff0c;目前kettle7和kettle8都需要java8或者以上才能正常运行。所以运行kettle前先检查java环境是否正确配置#xff0c;java版本是否是8或者以上。
kettle安装
1、创建kettle目录#xff0c;并将kettle的zip包解压到kettle目…前提
kettle是纯java编写的etl开源工具目前kettle7和kettle8都需要java8或者以上才能正常运行。所以运行kettle前先检查java环境是否正确配置java版本是否是8或者以上。
kettle安装
1、创建kettle目录并将kettle的zip包解压到kettle目录下 sudo unzip pdi-ce-8.2.0.0-342.zip mv data-integration/ ./kettle/ 2、查看以下sh文件使用都有执行的权限如果没有请加上 3、执行kitchen.sh脚本 执行后如果出现warning根据提示安装即可不然可能导致部分特性无法使用主要是spoon的使用如果是无界面环境可以忽略
以下是包warning需要安装libwebkitgtk-1.0-0的详细处理步骤 vim /etc/apt/sources.list 在文件的末尾添加 deb http://cz.archive.ubuntu.com/ubuntu bionic main universe 执行 sudo apt-get update 在Ubuntu更新源是提示没有数字签名。无法安全地用该源进行更新所以默认禁用该源主要原因是由于apt-get update没有公钥无法验证下列签名。 处理方法 sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32 3B4FE6ACC0B21F32是缺少的密钥缺少什么就下什么 执行安装 sudo apt-get install libwebkitgtk-1.0-0 有点慢耐心等待。。。
重新执行kitchen.sh脚本 安装好以后warngin就没有了。出现以下的提示界面说明kettle可以正常使用了。
同时home目录下应该会有一个.kettle的目录。 ./spoon.sh kettle转换与作业执行
在kettle中pan和kitchen两个工具分别用来执行transformation (转换)和job(作业)如下所示 对于文件存储不是数据库资源库可以如下的方式存放文件 所有的transformation文件存放在/srv/kettle/transfomation/ 所有的job文件存放在/srv/kettle/jobs 所有的日志文件存放在/var/kettle/logs
1、使用pan执行transformation
pan语法 ./pan.sh -optionvalue arg1 arg2 eg: sudo ./pan.sh -file/srv/kettle/transformation/EtltestTrans.ktr -levelDetailed /var/kettle/log/EtltensTrans.log 2、使用kitchen执行job
kitchen语法 ./kitchen.sh -optionvalue arg1 arg2 eg sudo ./kitchen.sh -file/srv/kettle/jobs/EtltesJob.kjb -levelDetailed /var/kettle/logs/EtltestJob.log 常用参数列表
kettle服务器端部署
1、通过Start组件定时执行任务
在kettle中我们可以通过start组件来设置定时任务如下所示这种方式不推荐使用因为该job会一直占有一个进程容易内存溢出。
2、通过crontab执行kettle任务
在linux中crontab是用来提交和管理用户周期性执行的任务。 例如文件存储位置 所有的transformation文件存放在/srv/kettle/transformtions/ 所有的job文件存放在/srv/kettle/jobs/ 所有的日志文件存放在/var/kettle/logs/ 所有的执行脚本存放在/srv/kettle/script/
1)首先我们创建一个脚本。因为是crontab执行任务我们需要重新配置导入java配置。
export JRE_HOME/opt/java/jre
export CLASSPATH.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH$PATH:$JAVA_HOME/bin:$JRE_HOME/bin#cd workspace
cd /opt/kettle/data-integration/# exec job
./kitchen.sh -file/srv/kettle/jobs/EtltestJob.kjb -levelDetailed /var/kettle/logs/EtltestJob.log
2)在终端上键入“contab -e” ,进入定时任务文件添加任务。
# m h dom mon dow command
0 2 * * * /srv/kettle/script3)重启cron并查看任务 3、kettle通过carte远程调度
kettle的部署有很多种模式上面讲的是最原生的模式pan/kitchen。但是这种方式不利于监控、调度和资源分配。kettle本身提供了一个用于调度的web服务carte。carte允许远程请求http进行监控、启动、停止在carte服务上运行的job和trans。要部署使用carte的大致过程如下所示
1修改xml配置文件 vim carte-config-master-8080.xml 在kettle.pwd的描述中可以知道默认的用户名密码都是cluster(不放心的话可以通过和节点设置用户名密码)如果要修改密码可以在配置文件中配置 2启动carte
启动时将刚刚的配置文件加上
nohub ./carte.sh pwd/carte-config-master-8080.xml 启动完成后就可以访问carte了界面非常的简陋。
3配置子服务器
上面是成功的将carte服务打开下面就需要将spoon连接到carte。在左侧的树中我们需要添加一个子服务器。如下所示 4创建一个新的运行配置setting选择slave server 5)提交任务