说明:

  • 环境: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节点中间添加哈
      <!--表示数据块的冗余度 默认为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,执行如下命令:
      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节点中间添加哈
      <!--注意:下面的配置信息需要在<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(完全启动)
      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文件,对它进行编辑:在这里插入图片描述
      配置成如下图所示:
      在这里插入图片描述

二、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,如下所示:
    在这里插入图片描述
  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目录下中子目录名称,即在这里插入图片描述
  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 ,如下图所示:
      在这里插入图片描述
      在这里插入图片描述
      最终Job任务如下所示:
      在这里插入图片描述
    • 配置Hadoop Cluster
      如图所示,在作业中选择Hadoop Cluster,点击鼠标右键,选择New Cluster
      在这里插入图片描述
      点击New Cluster 会弹窗,在弹窗中根据你自己的情况填写如下信息
      在这里插入图片描述
      点击测试按钮,确认相关信息是否正常
      在这里插入图片描述
    • 配置Hadoop copy files 组件
      在这里插入图片描述
    • 运行验证结果
      在这里插入图片描述
      在HDFS上查看是否已经有文件上传到/datas目录下:
      在这里插入图片描述

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

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐