2-MapReduce使用

WordCount —— MapReduce的Hello World

  • 下载输入数据
$ wget http://www.gutenberg.org/cache/epub/20417/pg20417.txt
  • 上传输入数据到HDFS
$ hdfs dfs -mkdir /tmp
$ hdfs dfs -copyFromLocal /home/zhy/pg20417.txt /tmp
  • 执行WorkCount
$ hadoop jar /usr/hadoop-2.2.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar wordcount /tmp/ /tmp-output

开发环境配置

  • windows8.1 + Eclipse-Luna + Hadoop2.2-eclipse-plugin插件

  • 插件参数配置

    • Map/Reduce Master 端口号50020不需修改

    • DFS Master 对应 core-site.xml

配置Map/Reduce Location
  • 开发工程配置

    • 新建Map/Reduce工程

    • 添加修改的core-site.xmlhdfs-site.xml以及log4j.properties文件到src文件夹下

    • 设置运行参数arguments,Run on Hadoop即可

hdfs://172.20.10.6:8020/input/1.txt
hdfs://172.20.10.6:8020/output

TweetTrend分布式算法

  • Map阶段

  • Reduce阶段

问题及解决方案

  • 问题 —— Eclipse插件连接被拒绝

    • 解决步骤 —— 1 通过命令行进行连接测试

    • 解决步骤 —— 2 配置文件修改,将所有使用localhost的地方改为使用主机名 node

#连接成功
$ hdfs dfs -ls hdfs://localhost:8020/

#连接拒绝
$ hdfs dfs -ls hdfs://node:8020/
  • 问题 —— UnsupportedClassVersionError[1]

    • 解决方案 —— 该问题是由于Eclipse中JDK版本和Hadoop库中JDK版本不一致导致的,修改JDK版本即可[2]
修改JDK
  • 问题 —— Could not locate executable null\bin\winutils.exe in the Hadoop binaries

    • 解决步骤 —— 1 配置HADOOP_HOME路径
    • 解决步骤 —— 2 下载winutils.exe和hadoop.dll,复制到$HADOOP_HOME/bin路径下
    • 解决步骤 —— 3 重启Eclipse
  • 问题 —— Windows.access

windows
* 解决方案 —— 将hadoop.dll复制到C:\Windows\System32路径下,成功解决

  1. 在Eclipse中运行Map/Reduce程序时出现该问题导致程序无法在Hadoop集群中运行

  2. JDK1.6到JDK1.8

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容