mapreduce程序开发及伪分布式调试小结

在eclipse上编写好mapreduce程序后,就可以调试程序。

调试有两种方式,本地、hdfs.

博主只有一台电脑,因此用伪分布式模拟远程hdfs。


问题一:输入的input、output位置

默认情况下,输入的input、output文件位于mapreduce程序根目录下。

若要调试mapreduce程序在远程hdfs下的运行效果,效率问题,就需要设置远程hdfs的地址和端口号,以及input、output位置。

问题二:Caused by: java.net.ConnectException: 拒绝连接。远程hdfs访问被拒绝。

出现这个问题,一般是因为input、output目录位置所处的HDFS地址和端口号配错了。

如下设置ip及端口号,就能顺利连接到本机hdfs的位置及端口下的/user/hadoop/位置,输出结果也能及时在hadoop eclipse插件下看到。

		final String inputPath = "hdfs://127.0.0.1:9000/user/hadoop/input";
		final String outputPath = "hdfs://127.0.0.1:9000/user/hadoop/output";

hadoop eclipse插件目录结果如下:



补充说明:

这个问题折腾了一天。

刚开始以为是hadoop locations的的设置问题。由于我是伪分布式hadoop配置,把localhost改为本机地址127.0.0.1,也没解决报错问题。

后来根据官方文档和网上的各种建议,修改core-site.xml、hdfs-site.xml、mapred-site.xml均没有解决问题。

后来以为是必须开启yarn,又修改配置文件mapred-site.xml、yarn-site.xml,还是没有解决问题。

最后才知道input、output的端口号必须一致。不一致的是hadoop locations中dfs、map/reduce中不一样,我的分别是9000、50020.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值