一直以来服务器是linux系统,但是感觉linux图形化不强,于是从接触kettle以来都是在windows系统操作ETL的设计和处理。现在需要在linux中查看一下kettle资源库是否连接正常,以及在linux上调度kettle的job,就需要在Linux上配置kettle环境了。
登陆-linux-(切换到kettle部署的用户下面)
第一:产看系统的java环境,cat .bash_profile 文件
从上面可以看到,在cognos用户下已经安装了java jdk,版本是1.6.0_20,我们看一下kettle的最低版本要求,编辑查看spoon.bat可以看到
java的版本需求为1.6.0_17,cognos用户下的jdk版本在此之上,说明java环境已经符合。
第二:上传文件,开始部署
1. 将data-integration.zip上传到linux服务器(利用SSH将解压过的整个文件夹上传也可以)
2. 使用unzip命令解压data-integration.zip unzip data-integration.zip -d "/mnt/kettle"(如果上传的是文件夹,忽略此步骤)
3.进入解压目录,找到./kitchen.sh
键入./kitchen.sh,看输入信息
BASH:/ kitchen.sh的:权限被拒绝
从上面可以看出kitchen.sh缺少执行权限,我们再次进入看看文件盒文件夹的权限
从上面可以看出,此目录下面的.sh文件都没有执行权限(X),接下来我们给这个文件夹下面的所有.sh文件赋执行的权限
由上面的我们可以看出,赋权成功!
再次./kitchen.sh,回车 看输出信息--
可以看到上面出现 -rep,-user,-pass 这些kettle中的帮助信息,说明kettle部署成功!
第三:调出spoon界面
在windows系统上面是执行spoon.bat 同理在linux系统上面执行spoon.sh调出spoon的界面进行开发。
执行./spoon.sh,查看信息
这里说一下,调出spoon界面需要linux客户端支持图形化服务。我们这里采用的是SecureCRT_CN,只支持命令后台。这个时候就需要用tvnviewer,需要在linux服务端装tvnviewer服务端。
在命令客户端执行:vncserver 打开vnc服务
从上面的信息可以看出,服务已经启动,我们可以登陆tvnviewer
登陆成功 --
在终端执行调出spoon界面的命令!执行 xhost +(xhost + 是使所有用户都能访问Xserver.)
OK ,所有host用户都可以访问图形服务了。
进入目录,执行spoon.sh
弹出下面的信息
解决上面的问题,jdk已经没问题了到网上搜了一下
从英文的大概可以看出来是需要编辑.kettle目录下的一个文件,于是发现linux上面cognos根目录下没有.kettle文件
于是从window上面把C:\Users\Administrator\.kettle中的文件.spoonrc.kettle编辑修改
保存,然后把.kettle整个文件夹赋值到cognos根目录下,查看是否存在(使用 ls -a显示所有对象,因为.XX的对象默认是隐藏的)
再次执行./spoon.sh
[cognos@bitic data-integration]$ ./spoon.sh
/home/cognos/pdi-ce-4.2.0-stable/data-integration
INFO 11-11 14:56:34,164 - Spoon - Logging goes to file:///tmp/spoon_66d28e63-4a9e-11e3-a301-7b09d1d32e5b.log
INFO 11-11 14:56:35,641 - Logging to org.slf4j.impl.JCLLoggerAdapter(org.mortbay.log) via org.mortbay.log.Slf4jLog
INFO 11-11 14:56:35,646 - class org.pentaho.agilebi.platform.JettyServer - WebServer.Log.CreateListener localhost:10000
INFO 11-11 14:56:35,647 - jetty-6.1.21
INFO 11-11 14:56:35,703 - NO