目录
安装
1.将data-integration目录压缩上传至服务器
2.打开对应目录,解压文件
unzip data-integration.zip
3.由于目录中的sh没有执行权限,所以需要设置文件权限
chmod +x *.sh
4.编译kettle,打开data-integration目录,执行代码
./kitchen.sh
①. 结果如下,显示缺少libwebkitgtk支持,需要进行安装
[root@localhost data-integration]# ./kitchen.sh
#######################################################################
WARNING: no libwebkitgtk-1.0 detected, some features will be unavailable
Consider installing the package with apt-get or yum.
e.g. 'sudo apt-get install libwebkitgtk-1.0-0'
#######################################################################
②..选择要安装目录的,下载libwebkitgtk
wget ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/matthewdva:/build:/EPEL:/el7/RHEL_7/x86_64/webkitgtk-2.4.9-1.el7.x86_64.rpm
③.安装libwebkitgtk
yum install webkitgtk-2.4.9-1.el7.x86_64.rpm
到对应的目录下,重新执行编译
./kitchen.sh
执行
1.执行转换,如下,-param是传参,-file是执行文件位置
./pan.sh -param:name=name -param:test=test -file=/kettle/test.ktr
- 参数说明
-version 显示版本信息
-file=filename 运行xml文件
-param:key=value 指定命名参数
-log=logging filename 设置日志文件
-level=logging level 设置日志级别
- 日志级别
Error:只显示错误
Nothing:不显示任何输出
Minimal:只使用最少的记录
Basic:这是默认的基本日志记录级别
Detailed:详细的日志输出
Debug:以调试为目的,非常详细的输出
Rowlevel:使用行级记录,会产生大量的数据
- 返回参数
0:转换执行成功
1:处理过程中发生错误
2:在装载或者运行时发生意外的错误
3:不能初始化转换
7:转换不能从资源库或xml中装载
8:装载步骤或插件错误(通常是装载其中一个插件错误)
9:命令行用法错误
2.执行任务,存在两种方式调用,不要混淆
文件形式-file
./kitchen.sh -param:name=name -param:test=test -file=/kettle/test.kjb
资源形式-rep
./kitchen.sh -param:name=name -param:test=test -rep=test -user=test -pass=test -job=test
- 参数说明
-
-rep:Repositoryname任务包所在存储名 -user:Repositoryusername执行人 -pass:Repositorypassword执行人密码 -job:Thenameofthejobtolaunch任务包名称 -dir:Thedirectory(don’tforgettheleading/or) -file:Thefilename(JobXML)tolaunch -level:Thelogginglevel(Basic,Detailed,Debug,Rowlevel,Error,Nothing)指定日志级别 -log:Theloggingfiletowriteto指定日志文件 -listdir:Listthedirectoriesintherepository列出指定存储中的目录结构。 -listjobs:Listthejobsinthespecifieddirectory列出指定目录下的所有任务 -listrep:Listthedefinedrepositories列出所有的存储 -norep:Don’tlogintotherepository不写日志
问题
- 由于从windows中直接打包迁移过来,其中data-integration/system/karaf中data开头的目录都要清空
Unexpected problem updating configuration org.apache.aries.transaction
- mysql缺少驱动包,错误如下。需要加载jar包链接 https://cdn.mysql.com/archives/mysql-connector-java-5.1/mysql-connector-java-5.1.49.zip 中的*bin.jar文件拷贝到“/data-integration/lib”下
Driver class 'org.gjt.mm.mysql.Driver' could not be found, make sure the 'MySQL' driver (jar file) is installed.
- 要明确到底是rep_name方式调用还是filename方式调用,在kjb文件中的配置要和调用的代码一致,如下就是kjb文件中配置的是rep_name但是我实际调用代码用了-file方式
org.pentaho.di.core.exception.KettleXMLException:
The transformation path /wm_get_token is invalid, and will not run successfully.
at org.pentaho.di.trans.TransMeta.<init>(TransMeta.java:2788)