在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>
复制代码

 

posted @   先娶国王后取经  阅读(805)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类
点击右上角即可分享
微信分享提示