Kettle8.2与Hadoop2.7.3集成

Kettle8.2与Hadoop2.7.3集成

    • 一、Hadoop伪分布式安装
    • 二、Kettle的配置
    • 三、案例演示

说明:

  • 环境:Windows + 虚拟机
  • 操作系统:CentOS7
  • Hadoop版本及模式:Hadoop2.7.3 + 伪分布式环境
  • Kettle版本及模式:kettle8.2 + 单机模式

一、Hadoop伪分布式安装

安装步骤可以参考另外一篇博文:

https://blog.csdn.net/sujiangming/article/details/88047006?
spm=1001.2014.3001.5501

这里列出主要步骤:

  1. 上传hadoop-2.7.3.tar.gz到tools目录下,然后执行下面的命令进行解压安装

    tar -zvxf hadoop-2.7.3.tar.gz -C /training/
    
  2. 配置环境变量:

    vi ~/.bash_profile
    

    添加如下信息:

    export HADOOP_HOME=/training/hadoop-2.7.3
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    
  3. 让环境变量生效:

    source ~/.bash_profile
    
  4. 验证是否生效:
    执行:hdfs 或者hadopo 有相关信息出现即可

  5. 配置伪分布式环境:

    • 配置免密登录
      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路径
      执行如下命令打开文件进行编辑:
      vi hadoop-env.sh
      
      在打开的文件中,修改jdk路径为虚拟机安装的路径
      export JAVA_HOME=/training/jdk1.8.0_171
      
    • 修改hdfs-site.xml,配置如下:
      注意:下面的配置信息需要在configuration节点中间添加哈
      
      <property>
         <name>dfs.replicationname>
         <value>1value>
      property>
      
      <property>
         <name>dfs.permissionsname>
         <value>falsevalue>
      property>
      
    • 修改core-site.xml,配置如下:
      注意:下面的配置信息需要在configuration节点中间添加哈
      
      <property>
      	<name>fs.defaultFSname>
      	<value>hdfs://hadoop001:9000value>
      property>			
      <property>
      	<name>hadoop.tmp.dirname>
      	<value>/training/hadoop-2.7.3/tmpvalue>
      property>
      
    • 创建并修改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
      
      配置mapred-site.xml,配置如下:
      注意:下面的配置信息需要在configuration节点中间添加哈
      
      <property>
      	<name>mapreduce.framework.namename>
      	<value>yarnvalue>
      property>						
      
      <property>
      	<name>mapreduce.jobhistory.addressname>
      	<value>hadoop001:10020value>
      property>
      
      <property>
      	<name>mapreduce.jobhistory.webapp.addressname>
      	<value>hadoop001:19888value>
      property>
      
      <property>
      	<name>mapreduce.app-submission.cross-platformname>
      	<value>truevalue>
      property>
      
    • 配置yarn-site.xml文件,配置如下:
      注意:下面的配置信息需要在configuration节点中间添加哈
      
      <property>
      	<name>yarn.resourcemanager.hostnamename>
      	<value>hadoop001value>
      property>
      <property>
      	<name>yarn.nodemanager.aux-servicesname>
      	<value>mapreduce_shufflevalue>
      property>	
      
      <property>
      	<name>yarn.log-aggregation-enablename>
      	<value>truevalue>
      property>
      
      
      <property>
      	<name>yarn.log-aggregation.retain-secondsname>
      	<value>604800value>
      property>
      
      <property>
      	<name>yarn.log.server.urlname>
      	<value>http://hadoop001:19888/jobhistory/logsvalue>
      property>
      
    • 格式化:HDFS(NameNode)
      hdfs namenode -format
      
      查看是否格式化成功,成功的信息提示如下:
       common.Storage: Storage directory /training/hadoop-2.7.3/tmp/dfs/name has been successfully formatted.
      
    • 启动Hadoop(完全启动)
      start-all.sh
      
      命令行验证,执行:jps 命令
      看看有没有如下五个进程:
      NameNode
      DataNode
      ReourceManager
      NodeManager
      SecondaryNameNode 
      
      web界面进行验证:
      HDFS分布式文件系统界面:
      http://bigdata:50070  #bigdata指虚拟机名称
      
      Yarn容器运行界面:
      http://hadoop001:8088 #bigdata指虚拟机名称
      
    • 停止Hadoop,可以执行如下命令:
      stop-all.sh
      
    • 注意事项
      1)若想在windows浏览器中通过输入主机名称+端口号的形式访问界面,则需要设置主机名与ip地址的映射关系(针对虚拟机而言)
      2)如何在windows上设置虚拟机主机名称与IP地址映射关系,如下所示:进入到C:\Windows\System32\drivers\etc 文件夹,找到hosts文件,对它进行编辑:在这里插入图片描述
      配置成如下图所示:
      Kettle8.2与Hadoop2.7.3集成_第1张图片

二、Kettle的配置

  1. 下载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/
    
  2. 解压到Windows某个目录下,如E:\Tools\data-integration
  3. 将Hadoop伪分布式四个配置文件复制到Kettle指导目录下,如E:\Tools\data-integration\plugins\pentaho-big-data-plugin\hadoop-configurations\cdh514,如下所示:
    Kettle8.2与Hadoop2.7.3集成_第2张图片
  4. 配置config.properties(在如E:\Tools\data-integration\plugins\pentaho-big-data-plugin\hadoop-configurations\cdh514路径下),在文件末尾添加如下信息,表示无需授权:
    # add by user
    authentication.superuser.provider=NO_AUTH
    
  5. 配置plugin.properties(在如E:\Tools\data-integration\plugins\pentaho-big-data-plugin\路径下),修改内容所下所示:
    active.hadoop.configuration=cdh514
    
    其中cdh514对应hadoop-configurations目录下中子目录名称,即Kettle8.2与Hadoop2.7.3集成_第3张图片
  6. 配置修改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 ,如下图所示:
      Kettle8.2与Hadoop2.7.3集成_第4张图片
      Kettle8.2与Hadoop2.7.3集成_第5张图片
      最终Job任务如下所示:
      Kettle8.2与Hadoop2.7.3集成_第6张图片
    • 配置Hadoop Cluster
      如图所示,在作业中选择Hadoop Cluster,点击鼠标右键,选择New Cluster
      Kettle8.2与Hadoop2.7.3集成_第7张图片
      点击New Cluster 会弹窗,在弹窗中根据你自己的情况填写如下信息
      Kettle8.2与Hadoop2.7.3集成_第8张图片
      点击测试按钮,确认相关信息是否正常
      Kettle8.2与Hadoop2.7.3集成_第9张图片
    • 配置Hadoop copy files 组件
      Kettle8.2与Hadoop2.7.3集成_第10张图片
    • 运行验证结果
      Kettle8.2与Hadoop2.7.3集成_第11张图片
      在HDFS上查看是否已经有文件上传到/datas目录下:
      Kettle8.2与Hadoop2.7.3集成_第12张图片

至此,已经完成了kettle与hadoop2.7.3的集成与测试工作,大家可以愉快地玩耍了~~~~~~~~~~~~~~~~~~

你可能感兴趣的:(Kettle,大数据,hadoop,kettle)