Kettle8.2与Hadoop2.7.3集成
Kettle8.2与Hadoop2.7.3集成一、Hadoop伪分布式安装二、Kettle的配置三、案例演示说明:环境:Windows + 虚拟机操作系统:CentOS7Hadoop版本及模式:Hadoop2.7.3 + 伪分布式环境Kettle版本及模式:kettle8.2 + 单机模式一、Hadoop伪分布式安装安装步骤可以参考另外一篇博文:https://blog.csdn.net/suji
·
Kettle8.2与Hadoop2.7.3集成
说明:
- 环境:Windows + 虚拟机
- 操作系统:CentOS7
- Hadoop版本及模式:Hadoop2.7.3 + 伪分布式环境
- Kettle版本及模式:kettle8.2 + 单机模式
一、Hadoop伪分布式安装
安装步骤可以参考另外一篇博文:
https://blog.csdn.net/sujiangming/article/details/88047006?
spm=1001.2014.3001.5501
这里列出主要步骤:
-
上传hadoop-2.7.3.tar.gz到tools目录下,然后执行下面的命令进行解压安装
tar -zvxf hadoop-2.7.3.tar.gz -C /training/
-
配置环境变量:
vi ~/.bash_profile
添加如下信息:
export HADOOP_HOME=/training/hadoop-2.7.3 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
-
让环境变量生效:
source ~/.bash_profile
-
验证是否生效:
执行:hdfs 或者hadopo 有相关信息出现即可 -
配置伪分布式环境:
- 配置免密登录
ssh-keygen -t rsa (直接回车3次) cd ~/.ssh/ ssh-copy-id -i id_rsa.pub root@hadoop001(主机名可以自行修改成你自己的主机名)
- 创建用于存储hadoop格式化后数据的目录
mkdir /training/hadoop-2.7.3/tmp
- 修改hadoop-env.sh文件,配置jdk路径
执行如下命令打开文件进行编辑:
在打开的文件中,修改jdk路径为虚拟机安装的路径vi hadoop-env.sh
export JAVA_HOME=/training/jdk1.8.0_171
- 修改hdfs-site.xml,配置如下:
注意:下面的配置信息需要在configuration节点中间添加哈<!--表示数据块的冗余度 默认为3,伪分布式可以设置为1--> <property> <name>dfs.replication</name> <value>1</value> </property> <!--表示是否开启HDFS权限检查,默认是true--> <property> <name>dfs.permissions</name> <value>false</value> </property>
- 修改core-site.xml,配置如下:
注意:下面的配置信息需要在configuration节点中间添加哈<!--配置NameNode的通讯地址 9000 是RPC默认的通信端口--> <property> <name>fs.defaultFS</name> <value>hdfs://hadoop001:9000</value><!-- bigdata代表主机名,写入你们自己的主机名--> </property> <property> <name>hadoop.tmp.dir</name> <value>/training/hadoop-2.7.3/tmp</value> </property>
- 创建并修改mapred-site.xml,如下:
创建mapred-site.xml,执行如下命令:
配置mapred-site.xml,配置如下:cp /training/hadoop-2.7.3/etc/hadoop/mapred-site.xml.template /training/hadoop-2.7.3/etc/hadoop/mapred-site.xml
注意:下面的配置信息需要在configuration节点中间添加哈<!--注意:下面的配置信息需要在<configuration></configuration>中间添加哈 --> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <!-- 历史服务器端地址 --> <property> <name>mapreduce.jobhistory.address</name> <value>hadoop001:10020</value> </property> <!-- 历史服务器 web 端地址 --> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>hadoop001:19888</value> </property> <!-- 如果在windows上提交任务需要增加mapreduce.app-submission.cross-platform配置 --> <property> <name>mapreduce.app-submission.cross-platform</name> <value>true</value> </property>
- 配置yarn-site.xml文件,配置如下:
注意:下面的配置信息需要在configuration节点中间添加哈<!--注意:下面的配置信息需要在<configuration></configuration>中间添加哈 --> <property> <name>yarn.resourcemanager.hostname</name> <value>hadoop001</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <!-- 日志聚集功能使能 --> <property> <name>yarn.log-aggregation-enable</name> <value>true</value> </property> <!-- 日志保留时间设置7天 --> <property> <name>yarn.log-aggregation.retain-seconds</name> <value>604800</value> </property> <!--配置Log Server --> <property> <name>yarn.log.server.url</name> <value>http://hadoop001:19888/jobhistory/logs</value> </property>
- 格式化:HDFS(NameNode)
查看是否格式化成功,成功的信息提示如下:hdfs namenode -format
common.Storage: Storage directory /training/hadoop-2.7.3/tmp/dfs/name has been successfully formatted.
- 启动Hadoop(完全启动)
命令行验证,执行:jps 命令start-all.sh
看看有没有如下五个进程:
web界面进行验证:NameNode DataNode ReourceManager NodeManager SecondaryNameNode
HDFS分布式文件系统界面:
Yarn容器运行界面:http://bigdata:50070 #bigdata指虚拟机名称
http://hadoop001:8088 #bigdata指虚拟机名称
- 停止Hadoop,可以执行如下命令:
stop-all.sh
- 注意事项
1)若想在windows浏览器中通过输入主机名称+端口号的形式访问界面,则需要设置主机名与ip地址的映射关系(针对虚拟机而言)
2)如何在windows上设置虚拟机主机名称与IP地址映射关系,如下所示:进入到C:\Windows\System32\drivers\etc 文件夹,找到hosts文件,对它进行编辑:
配置成如下图所示:
- 配置免密登录
二、Kettle的配置
- 下载Kettle
1、可以从http://kettle.pentaho.org下载最新版的Kettle软件 2、从官网中https://community.hitachivantara.com/s/article/data-integration-kettle下载稳定版 3、国内镜像http://mirror.bit.edu.cn/pentaho/Pentaho%208.2/client-tools/
- 解压到Windows某个目录下,如E:\Tools\data-integration
- 将Hadoop伪分布式四个配置文件复制到Kettle指导目录下,如E:\Tools\data-integration\plugins\pentaho-big-data-plugin\hadoop-configurations\cdh514,如下所示:
- 配置config.properties(在如E:\Tools\data-integration\plugins\pentaho-big-data-plugin\hadoop-configurations\cdh514路径下),在文件末尾添加如下信息,表示无需授权:
# add by user authentication.superuser.provider=NO_AUTH
- 配置plugin.properties(在如E:\Tools\data-integration\plugins\pentaho-big-data-plugin\路径下),修改内容所下所示:
其中cdh514对应hadoop-configurations目录下中子目录名称,即active.hadoop.configuration=cdh514
- 配置修改Spoon.bat,添加如下信息,让当前的window具备hadoop环境的管理员权限(我使用root用户安装hadoop),在末尾添加:
REM *************** REM ** Let window User Become root for hadoop... ** REM *************** set HADOOP_USER_NAME=root
至此,已经完成了Kettle配置!
三、案例演示
- 案例目标:创建Job实现将本地文件上传到HDFS上
- 测试数据:https://pan.baidu.com/s/15eKQy-9fk7Jtj4WcE85vYQ 密码 4plv
- 实现步骤:
- 创建Job任务
在左侧菜单栏中选择“通用”下的start组件,在左侧Big Data菜单栏中选择 Hadoop Copy Files ,如下图所示:
最终Job任务如下所示:
- 配置Hadoop Cluster
如图所示,在作业中选择Hadoop Cluster,点击鼠标右键,选择New Cluster
点击New Cluster 会弹窗,在弹窗中根据你自己的情况填写如下信息
点击测试按钮,确认相关信息是否正常
- 配置Hadoop copy files 组件
- 运行验证结果
在HDFS上查看是否已经有文件上传到/datas目录下:
- 创建Job任务
至此,已经完成了kettle与hadoop2.7.3的集成与测试工作,大家可以愉快地玩耍了~~~~~~~~~~~~~~~~~~
更多推荐
已为社区贡献16条内容
所有评论(0)