共计 2492 个字符,预计需要花费 7 分钟才能阅读完成。
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
Hadoop 测试例子 WordCount http://www.linuxidc.com/Linux/2013-01/78429.htm
更多 Hadoop 相关信息见 Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13