pdi即kettle,支持hadoop的操作,但是默认支持的是hadoop0.2.0。但是由于我目前所用的是hadoop2.2.0,主要想用pdi来控制hadoop的作业调度。经过几天痛苦的试探过程,目前能够初步实现这个功能。
经本人测试,按照下面修改之后,可以使用transformation中Big Data组件中的Hadoop File Input和Hadoop File Output组件,job中的Big Data组件中的Hadoop Copy Files,Hadoop Job Executor。其中使用Hadoop Job Executor时只用用simple方式,将eclipse导出的hadoop作业的jar包导入。
凡是要使用到jobtracker的组件,都无法使用。估计hadoop1.x 版本应该完全没有问题。主要是因为hadoop2.x使用了YARN来控制资源调度。
在data-integration/plugins/pentaho-big-data-plugin目录下,能够看到提供的默认支持的hadoop与pdi连接的插件。
1.进入hadoop-configurations目录下,新建hadoop-2.2.0目录。
2.将hadoop-20目录下的所有文件,复制到新建的hadoop-2.2.0目录下。
3.清空hadoop-2.2.0/lib/client下的所有包
4.在hadoop的安装目录下的/share/hadoop目录下的jar(在各个子文件中找),复制到client目录下
5.将hadoop-2.2.0/lib/pmr下的jar包删除,将zookeeper-3.4.5.jar包放入。(可在hadoop的安装目录下找到)
6.修改配置文件
~/data-integration/plugins/pentaho-big-data-plugin目录下找到plugin.properties文件。
修改为active.hadoop.configuration=hadoop-2.2.0
7.在~/data-integration/plugins/pentaho-big-data-plugin/hadoop-configurations/hadoop-2.2.0目录下,添加hadoop安装目录下的/etc/hadoop里面的core-site.xml,hdfd-site.xml,mapred-site.xml,yarn-site.xml,slaves等配置文件。
8.之后重启spoon,即可。