Hadoop集群上运行mapreduce

作者 zhan-bin 日期 2018-07-21
Hadoop集群上运行mapreduce

Hadoop集群上运行mapreduce

作者:Zhan-bin

日期:2018-7-21

环境

  • hadoop2.9.1
  • jdk1.8.0_171
  • centOS7
  • xshell
  • windows10

概述

 本文是在windows上的eclipse开发mapper reduce 使用yarn框架,并在虚拟机Hadoop集群上运行程序,大致过程是:先将编写好的代码文件打包好上传到虚拟机然后执行jar文件。

hadoop集群上运行hadoop自带程序示例(word count)

 这里运行hadoop安装目录下\share\hadoop\mapreduce里面的“hadoop-mapreduce-examples-2.9.1”文件的wordcount
1.首先进入hadoop安装目录打开yarn集群,执行如下命令

  • (首先确认配置好了yarn-site.xml和mapred-site.xml文件没配置的参考:yarn配置 - 点击打开
    1
    2
    cd /home/hadoop/hadoop #进入到hadoop安装目录
    ./sbin/start-all.sh

2.打开集群之后先在集群创建输入文件夹以及上传输入文件,执行如下代码

  • 首先在本地创建一个输入文件(这里是input.txt)
    1
    2
    touch input.txt //创建input.txt文件
    ll //列出当前目录文件,查看是否创建成功

1

  • 然后向input.txt添加自定义内容,如图是我所添加的内容
    1
    vi ./input.txt

2

  • 创建input文件夹作为存放输入文件的目录

    1
    hadoop dfs -mkdir /input
  • 查看是否创建成功

    1
    hadoop fs -ls /

3

  • 上传input文件到input目录
    1
    hadoop fs -put ./input.txt /input

3.打开之后找到mapreduce的自带示例代码文件

  • 执行命令查看

    1
    2
    cd /home/hadoop/hadoop #进入到hadoop安装目录
    find ./ -name *example*.jar
  • 找到hadoop-mapreduce-examples-x.x.x的文件,如图
    4

  • 然后执行如下命令(注意使用自己的路径,版本不同文件名会有所不同)

    1
    hadoop jar /share/hadoop/mapreduce/hadoop-mapreduce-examples-2.9.1.jar wordcount /input/input.txt /output
  • 没有报错则说明运行成功了

  • 查看运行结果

    1
    2
    3
    hadoop fs -get /out ./ #将输出文件夹下载到本地目录
    ll #这里是下载到当前目录,列出当前目录下文件查看是否下载成功
    ll ./out #查看输出文件夹里面的文件

5

  • 打开part-r-00000文件查看运行结果
    1
    vi ./out/part-r-00000

6

windows宿主机eclipse上传代码至hadoop集群运行

1.配置eclipse

2.代码

3.运行

  • 基于之前的代码修改下配置即可,将Test主类修改一下,加上hdfs集群的文件系统地址,下面的输入输出路径也换成相应的hdfs集群上的。如下图
    7

  • 运行之前要先将刚刚的输出文件夹删除,或者在java代码设置成另一个文件夹。

  • run on hadoop
    8

  • 没有报错说明是运行成功了
    9

  • 查看运行结果
    方法同上,这里就不再阐述了 查看运行结果