0x01 Kettle软件概览
- Spoon:集成开发环境
- Kitchen:作业的命令行运行程序,可以通过Schell脚本来调用
- Pan:转换的命令行程序
- Carte:轻量级的HTTP服务,后台运行,监听HTTP请求来运行一个作业
1.1 Spoon
主要用于ETL设计阶段。
1.2 命令行启动:Kitchen和Pan
作业和转换可以在图形界面里执行,但这只是在开发、测试和调试阶段。在开发完成后需要部署到实际运行环境中,在部署阶段Spoon就很少用到了。
在部署阶段,一般需要通过命令行执行,需要把命令行放入到Shell脚本中,并定时调度这个脚本。Kitchen和Pan命令行工具主要就用于这个阶段,用于实际的生产环境中。
1.3 作业服务器:Carte
Carte服务用于执行一个作业,就像Kitchen一样。但和Kitchen不同的是,Carte是一个服务,一直在后台运行,而Kitchen只是运行一个作业就退出。
Carte是Kettle集群中的一个重要构件块。集群可以将单个工作或转换分成几个部分,在Carte服务器的多个计算机上并行执行,因此可以分散工作负载。
0x02 下载安装
2.1 环境说明
特别注意:不同版本的kettle
和hadoop
存在兼容性问题。所以一定要注意版本之间的兼容性,下文会介绍具体的查询方法。
-
windows环境
OS: Windows 10
jdk: jdk-1.8.0_121
kettle: pdi-ce-6.1.0.1-196 -
linux环境
OS: CentOS_6.5_x64
jdk: jdk1.8.111
hadoop: hadoop-2.6.5
2.2 下载安装
-
下载地址:
社区版:http://community.pentaho.com/
收费版:http://www.pentaho.com/product/data-integration
本教程使用的为社区版 - 安装
- 将下载的文件
pdi-ce-6.1.0.1-196.zip
解压(因为kettle是免安装的所以至此安装就完成了:))
0x03 配置
3.1 服务器端配置
-
编辑
mapred-site.xml
<property> <name>dfs.permissions</name> <value>false</value> </property>
3.2 客户端配置
-
进入目录
\plugins\pentaho-big-data-plugin
编辑文件plugin.properties
active.hadoop.configuration=cdh55
根据具体情况设定。 -
进入目录
plugins\pentaho-big-data-plugin\hadoop-configurations\cdh55
将服务器上hadoop/etc/hadoop/
下的core-site.xml
hdfs-site.xml
mapred-site.xml
yarn-site.xml
复制到该目录下。
0x04 测试
-
双击
Spoon.bat
运行软件 -
文件 -> 新建 -> 作业
-
新建
Hadoop Copy File
作业
-
右键Hadoop clusters选择New cluster
-
填写Cluser Name, Hostname, Port,填写完成后如下图
注意:我之所填写master
是因为我已经在主机的hosts
文件里添加了映射。具体操作为编辑hosts
,在最后一行追加(具体内容按照自己的实际情况修改)192.168.32.100 master 192.168.32.101 slave1 192.168.32.102 slave2
如果不配置
hosts
可以直接写NameNode
的IP地址,但是对应的配置文件也需要修改。 -
点击测试后结果如下
从图中可以看出User Home Directory Access
是没有通过测试的,但是在实际使用中并不影响。 -
配置输入文件和
hdfs
上的写入路径
-
执行结果
-
在服务器端可以看到文件已经上传成功
2017-08-17 22:05:20 星期四