kitchen
kitchen是一个作业执行引擎,用来执行作业。这是一个命令行执行工具,
参数说明如下
- -rep:Repository name 任务包所在存储名
- -user:Repository username 执行人
- -pass:Repository password 执行人密码
- -job:The name of the job to launch 任务包名称
- -dir:The directory(don’tforget the leading /or) 文件夹
- -file:The file name(JobXML)to launch 要启动的文件名
- -level:The logging level(Basic,Detailed,Debug,Rowlevel,Error,Nothing)指定日志级别
Error: 只显示错误
Nothing: 不显示任何输出
Minimal: 只使用最少的记录
Basic: 这是默认的基本日志记录级别
Detailed: 详细的日志输出
Debug: 以调试为目的,非常详细的输出
Rowlevel: 使用行级记录,会产生大量的数据
- -log:The logging file to write to 指定日志文件
- -listdir:List the directories in the repository 列出指定存储中的目录结构。
- -listjobs:List the jobs in the specified directory 列出指定目录下的所有任务
- -listrep:List the defined repositories 列出所有的存储
- -norep:Don’t log into the repository 不写日志
示例
1.windows中:
kitchen /file:D:\kettle\kettletest\job.kjb /level:Basic>D:\kettle\kettletest\job.log
2.linux 中
./kitchen .sh -file=/usr/local/kettle/job.kjb >> /usr/local/kettle/ktr/job.log
Pan
pan是一个转换执行引擎,用来执行转换。 参数与 Kitchen 类似, 如下。
- -version 显示版本信息
- -file=filename 运行的文件
- -param:key=value 指定命名参数
- -log=logging filename 设置日志文件
- -level=logging level 设置日志级别
示例:指定基本log,执行一个ktr转换
命令如下:
1.windows平台
pan.bat /file:D:\kettle\kettletest\ktr.ktr /level:Basic>D:\kettle\kettletest\ktr.log
2.linux 中,参数以 –分隔
./pan.sh -file=/usr/local/kettle/ktr/ktr.ktr >> /usr/local/kettle/ktr/ktr.log
配置定时任务
可以按照如下方法操作,创建一个文件 test.sh
在这个文件里写入如下语句
export JAVA_HOME=/usr/java/jdk1.8
export CLASSPATH=.:$JAVA_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH
/opt/kettle-spoon/data-integration/kitchen.sh -file=/opt/kettle-spoon/ktr/test/job.kjb log=log.timelog ~data +%y%m%d~
然后给这个文件可执行权限 +x
然后运行 crontab –e
编辑定时任务
*/10 * * * * bash /home/etl/test.sh
表示每隔10分钟执行一次test.sh
然后保存,运行crontab–l
查看定时任务是否已载入
运行systemctl restart crond
重启定时任务,运行systemctl status crond
查看crontab服务状态