mapreduce编程学习(一)

本文详细介绍了如何在Eclipse中进行Hadoop伪分布式环境的配置,并通过WordCount示例进行验证。主要内容涵盖必要的环境配置步骤、常见问题及其解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.在eclipse中编程:
首先配置环境
这里写图片描述
1.mapper代码
2.reducer代码
3.main代码

一.Hadoop 伪分布式 yarn配置 自带wordcount 运行测试

1.首先按照http://dblab.xmu.edu.cn/blog/install-hadoop/ 安装hadoop2x版本(包括java,ssh)
2.重要的几个配置文件
Etc/hadoop 下的Core-site.xml:

1. <configuration>
2. <property>
3. <name>hadoop.tmp.dir</name>
4. <value>file:/usr/local/hadoop/tmp</value>
5. <description>Abase for other temporary directories.</description>
6. </property>
7. <property>
8. <name>fs.defaultFS</name>
9. <value>hdfs://localhost:8020</value>(:9000后面会出现问题1)
10. </property>
11. </configuration>

hdfs-site.xml:

1. <configuration>
2. <property>
3. <name>dfs.replication</name>
4. <value>1</value>
5. </property>
6. <property>
7. <name>dfs.namenode.name.dir</name>
8. <value>file:/usr/local/hadoop/tmp/dfs/name</value>
9. </property>
10. <property>
11. <name>dfs.datanode.data.dir</name>
12. <value>file:/usr/local/hadoop/tmp/dfs/data</value>
13. </property>
14. </configuration>

来自 http://dblab.xmu.edu.cn/blog/install-hadoop/

mapred-site.xml:

1. <configuration>
2. <property>
3. <name>mapreduce.framework.name</name>
4. <value>yarn</value>
5. </property>
6. </configuration>

来自 http://dblab.xmu.edu.cn/blog/install-hadoop/

Yarn-site.xml:

1. <configuration>
2. <property>
3. <name>yarn.nodemanager.aux-services</name>
4. <value>mapreduce_shuffle</value>
5. </property>
6. </configuration>

来自 http://dblab.xmu.edu.cn/blog/install-hadoop/

3.启动hdfs,yarn
Sbin/start-all.sh 会有提示信息,启动了dfs和yarn
然后启动sbin/mr-jobhistory-daemon.sh
4.查看是否配置成功:
jps
这里写图片描述
简单的hadoop指令测试:
创建文件夹,上传文件
这里写图片描述
执行wordcount测试文件:
这里写图片描述
注意,这里如果集群上存在、output目录会报错
这里example中打包了多个函数,所以要wordcount指出这个函数,如果我们打包了一个函数,那么我们直接jar *.jar /input /output
5.这里我遇到两个问题:
问题1:创建文件,提示安全模式:safemode
解决:hdfs dfsadmin -safemode leave
问题2:执行测试文件时候报错
这里写图片描述
我遇到这个问题真是找了很多博客,改来改去:
问题1.将hdfs//localhost:9000改成:8020 解决方法:将core-site.xml中的地址更改,重启hadoop
问题2.namenode节点没有启动
问题3.output输出目录已经存在 解决方法;hadoop fs -rm -r /output
对于问题2:
关闭hadoop:sbin/stop-all.sh
删除 tmp目录 rm -r temp/*
格式化节点:hadoop namenode -format
启动hadoop: sbin.start-all.sh
对于datanode 节点没有启动也可以这么解决

6.提醒:每次关电脑要stop-all.sh 关闭hadoop 不然下次打开电脑,会出现错误

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值