在Hadoop环境下运行MapReduce自带的wordCount示例

首先先创建一个目标文件words,将其保存至/home/hadoop目录下:

cd /home/hadoop
vim words
# 向新文件中添加内容,例如:data mining on data warehouse
# 在HDFS创建一个目录
hdfs dfs -mkdir /user/hadoop/input
# 将刚创建的words文件上传到刚创建的HDFS目录中
hdfs dfs -put /home/hadoop/words /user/hadoop/input
hadoop jar /opt/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /user/hadoop/input /user/hadoop/output

注:1表示的是测试用例名;

  2表示的是输入的文件;

  3表示的是输出目录;

  4表示的是程序所在位置(Hadoop安装目录下的share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar) ;

# 查看运行结果
hdfs dfs -cat /user/hadoop/output/part-r-00000

结果示例如下:

注:

  若在此过程中遇到了Error: Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster这样的错误,

  解法的方法是找到hadoop安装目录下的etc/hadoop/mapred-site.xml,增加以下代码:

<property>
  <name>yarn.app.mapreduce.am.env</name>
  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
  <name>mapreduce.map.env</name>
  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
  <name>mapreduce.reduce.env</name>
  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
原文地址:https://www.cnblogs.com/ReturnOfTheKing/p/13546269.html