Hadoop2.2 单机测试程序WordCount
Hadoop wordcount程序是经典的hadoop入门测试程序,主要根据给出一堆文件file1、file2...,统计出file1、file2...中单词出现的次数。
我们在单机上测试运行这个程序,我的测试系统是Mac OS。
1 下载hadoop包,地址:http://www.apache.org/dyn/closer.cgi/hadoop/common/
2 安装到任意目录,我安装在 /usr/local, 解压。
3 配置环境变量:
vi /etc/profile
将下面ADD进去。
#export JAVA_HOME=`/usr/libexec/java_home -v 1.7` 
export HADOOP_HOME=/usr/local/hadoop-2.2.0 
export HADOOP_MAPRED_HOME=$HADOOP_HOME 
export HADOOP_COMMON_HOME=$HADOOP_HOME 
export HADOOP_HDFS_HOME=$HADOOP_HOME 
export YARN_HOME=$HADOOP_HOME 
export HADOOP_OPTS="-Djava.security.krb5.realm=OX.AC.UK -Djava.security.krb5.kdc=kdc0.ox.ac.uk:kdc1.ox.ac.uk"
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
4 新建namenode、datanode目录,目录路径随便指定。
mkdir -p /urs/local/hadoop/mnode/namenode
mkdir -p /urs/local/hadoop/mnode/dataname
5 开始配置hadoop文件(xml):
  a)进入Hadoop文件配置目录,cd /usr/local/hadoop/etc/hadoop
  b) 更改 hadoop-env.sh
       把JAVA_HOME指定:export JAVA_HOME=`/usr/libexec/java_home -v 1.7`
  c)更改 yarn-site.xml
<property> 
     <name>yarn.nodemanager.aux-services</name>   
    <value>mapreduce_shuffle</value> 
    </property> 
 <property> 
    <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name> 
    <value>org.apache.hadoop.mapred.ShuffleHandler</value> 
 </property>
d)更改 core-site.xml
<property> 
 <name>fs.default.name</name> 
<value>hdfs://localhost:9000</value> 
 </property>
e)更改 hdfs-site.xml
<name>dfs.replication</name> 
   <value>1</value> 
  </property> 
  <property> 
   <name>dfs.namenode.name.dir</name> 
   <value>file:/usr/local/hadoop/mnode/namenode</value> 
  </property> 
  <property> 
   <name>dfs.datanode.data.dir</name> 
   <value>file:/usr/local/hadoop/mnode/datanode</value> 
  </property>
 f)更改 mapred-site.xml
<property> 
 <name>mapreduce.framework.name</name> 
 <value>yarn</value> 
 </property>
6 格式化NameNode:
hadoop namenode -format
7 启动
start-all.sh
8 查看所有JAVA进程:
Jps
此时可以看到如下:
2234 Jps 
1989 ResourceManager 
2023 NodeManager 
1856 DataNode 
2060 JobHistoryServer 
1793 NameNode 
2049 SecondaryNameNode
9 此时可以查看hadoop的运行状态:
查看 NameNode :http://localhost:50070/ 
查看 ResourceManager: http://localhost:8088/cluster
10 新建一个文件夹用于存放原始数据(随便指定):
mkdir /Usrs/apple/hadoop/tmp
然后在此目录下,新建两个文件:file1、file2, 编辑file1: hello world, 编辑file2: hello hadoop,保存。
11 拷贝到HDFS
hadoop dfs -copyFromLocal /Users/apple/hadoop/tmp/ /in
(或者:hadoop fs -put /Users/apple/hadoop/tmp/ /input)
查看输入目录:hadoop fs -ls /
12 RUN
首先进入example目录:cd /usr/local/hadoop/share/hadoop/mapreduce
然后run:hadoop jar hadoop-mapreduce-examples-2.2.0.jar wordcount /in /out
13 查看程序运行结果:
hadoop fs -cat /out/part-r-00000
hadoop  1 
hello   2 
world   1