MapReduce 运行时报ClassNotFound 时的解决方法

 直接进入正题了 

MapReduce程序报ClassNotFound的错误如何解决。

如果你也遇到了这个问题可以按照下面方法解决 

1、运行程序就报ClassNotFound ,日志里面没有MapReduce程序运行的任何信息

     这就是job时的异常。

    解决首先本地的Classpath中要存在对应的Jar包  

     也就是必须要能够运行Job 提交任务 当然任务都不能提交成功也就没有第2种情况

2、Map或Reduce运行时出现ClassNotFound     

     这是任务成功提交后 MapReduce程序运行的时候出现的问题  新手遇到这个问题一般不易找到原因(笔者也是借助别人帮忙很难才找到的) 原因是MapReduce的环境和job的运行环境不同 MapReduce是运行在(2.x)Yarn框架上的

    解决hadoop classpath中要存在对应的jar包

   注意 这不是改hadoop-env   而是放在hadoop classpath包含的目录中  如果不放在hadoop classpath包含的目录中  有可能出现Job找到类而MapReduce程序找不到的ClassNotFound


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章