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