Hadoop2.2 单机测试程序WordCount

Hadoop wordcount程序是经典的hadoop入门测试程序,主要根据给出一堆文件file1、file2...,统计出file1、file2...中单词出现的次数。
我们在单机上测试运行这个程序,我的测试系统是Mac OS。
1 下载hadoop包,地址:
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 ::50070/
查看 ResourceManager: :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

Hadoop测试例子WordCount   

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/9c839730ddf9f3dd26bc9508c9382637.html