关于在eclipse上能运行Map但无法运行Reduce的解决方法
来源:互联网 发布:sql入门书籍推荐 编辑:程序博客网 时间:2024/05/22 14:25
今日我在eclipse上运行Map/Reduce框架进行数据分析的时候遇到了一个很奇怪的错误:
一开始我发现运行程序之后也没在控制台报错,也生成了目标目录,但一直出不来统计好的数据文件。
我先通过位置标记输出来判断各个类的加载是否正常,
发现Map是可以正常加载执行的,但是Reduce一直无法加载执行。
然后我通过设置,让其在运行时显示日志信息,再运行。
文末会分享设置显示日志信息的方法。
这一次便发现了如下的报错:
日志中的报错信息:
java.lang.Exception: org.apache.hadoop.mapreduce.task.reduce.ShuffleShuffleError: error in shuffle in localfetcher#1at org.apache.hadoop.mapred.LocalJobRunnerJob.runTasks(LocalJobRunner.java:462)at org.apache.hadoop.mapred.LocalJobRunner
按照通常的排错思路,后面的错误往往是前面的错误导致产生的,所以我先入为主的直接去搜索 error in shuffle in localfetcher的解决办法,发现几乎都在说是内存的问题。百般尝试始终是毫无成效。
后来当我往下看的时候发现其实日志给出了大概的错误原因,是路径的问题。这一下子就找到了正确的方向。通过查找资料,发现有的朋友通过修改默认的路径即可解决,我尝试了一下,结果只是换个路径报错而已。这就耐人寻味了,我再自己看了看这条报错信息,里面用到了我的Windows的用户名,但是中间的空格变成了%20,在路径中出现%这意味着什么?配过环境变量的人都知道。我一下子恍然大悟。很有可能是Windows用户名的问题。所以我去修改了Windows本机的用户名,把空格去掉。一下子就解决了!!!
eclipse控制台不显示MapReduce程序日志的解决方法:
使用Hadoop2.6.0,在eclipse下面调试mapreduce程序的时候,控制台不打印程序运行时的日志,而是显示如下信息:
log4j:WARN No appenders could be found for logger (org.apache.[Hadoop]
log4j:WARN Please initialize the log4j system properly.
log4j:WARN [hadoop] See noconfig for more info.
说明没有配置log4j.properties文件。这虽然不影响程序的正常运行,但是看不到日志难免不爽。解决方法:把Hadoop2.6.0的安装目录下面的/etc/hadoop/目录下面的log4j.properties文件拷贝放到MapReduce工程的src目录下面。
- 关于在eclipse上能运行Map但无法运行Reduce的解决方法
- 在cdh5-yarn上运行map-reduce
- 关于wamp server在Windows7 x86&x64上无法正常启动运行的解决方法。
- [ubuntu] 解决 eclipse 在启动器上无法运行的问题
- eclipse上tomcat运行动态网页404的解决方法(并不完美但有效)
- Scala可以在交互模式下运行但无法执行脚本的解决方法
- 关于wireshark在ubuntu上运行错误的解决方法
- 百度地图在eclipse上安装的时候可以运行,但退出后再点击就不能运行了
- 快速获得Map/Reduce的运行结果
- eclipse的debug突然模式不能正常运行,但非debug模式却能正常运行
- 在线求解啊 模拟器上能运行,但是在手机上无法运行
- Map/Reduce运行时做了两次reduce的问题
- 关于sigar在main方法下能运行servlet调用无法找到库文件的笔记
- dante-server在64位Ubuntu上无法运行解决方法
- 解决Myeclipse 8.5上新建的项目无法在Eclipse上运行的办法
- 关于vs2012生成exe文件无法在xp运行解决方法
- hadoop——配置eclipse下的map-reduce运行环境
- 对于Debug编译的exe无法在未安装vs2013的机子上运行解决方法
- TCP/IP协议4层模型
- textview中maxLength和maxEMS的区别
- ubuntu 15.10 安装配置 JDK1.8
- 地图的四着色 中南1508
- Spring定时任务
- 关于在eclipse上能运行Map但无法运行Reduce的解决方法
- IntelliJ IDEA与eclipse快捷键
- RxJava2+Retrofit2+OkHttp3实现网络缓存
- 任意进制转换
- Linux 常用基本命令 rmdir rm
- Centos6.8通过yum安装mysql5.7
- 靠给员工画大饼,一口气创办10家公司身价过亿,吓傻周鸿祎!
- TEA加密算法与分组密码的ECB、CBC模式选定
- Linux基础之screen命令