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工程
添加修改的
core-site.xml
和hdfs-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/
-
问题 —— 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
- 解决步骤 —— 1 配置
问题 —— Windows.access
* 解决方案 —— 将hadoop.dll复制到C:\Windows\System32路径下,成功解决