Contents

eclipse搭建MapReduce代码编译环境+java.lang.NoClassDefFoundError-org/apache/hadoop/yarn/util/Apps

新建一个java工程

导入jar包

下载Hadoop包

当然你应该要下载Apache Hadoop包

导入jar包

  • 右键项目propertiesjava build pathadd libraryuser library   

  • user librariesNewhdfsjar

  • 这样新建的hdfsjar就完成了

  • **选中hdfsjar**点击右边的add External JARs—选择你下载目录加压后的文件夹中的common(我的路径是hadoop-2.6.0/share/hadoop/common/)下的所有jar包

  • 同上面的方法添加common/lib下的全部jar包

同理配置

  • 同理添加hdfs(我的路径是hadoop-2.6.0/share/hadoop/hdfs/)下的jar包
  • 同上面的方法添加hdfs/lib下的全部jar包
  • 以及hadoop-2.6.0/share/hadoop/mapreduce下的jar和hadoop-2.6.0/share/hadoop/mapreduce/lib下的jar
  • 以及hadoop-2.6.0/share/hadoop/yarn下的jar和hadoop-2.6.0/share/hadoop/yarn/lib下的jar 最后一个配置是为了直接在eclipse里面跑hadoop,具体可以看这个大佬的 然后需要的资源链接可以到我分享的网盘去取

链接:https://pan.baidu.com/s/1ESloDZbgEQ0me9rg0wHWRg 提取码:3n3i

以后新MapReduce工程直接添加自己的hdfsjar的用户libraries就行了

个人是通过windows平台的eclipse来写代码,然后没有错误提醒之后把java文件生成jar包,然后把jar传送到linux虚拟机集群上面跑命令的,比如 hadoop jar WordCount.jar WordCount /data/1.txt /output/1

java.lang.NoClassDefFoundError-org/apache/hadoop/yarn/util/Apps

为了直接在eclipse里面跑hadoop,具体可以看这个大佬的 然后需要的资源链接可以到我分享的网盘去取

链接:https://pan.baidu.com/s/1ESloDZbgEQ0me9rg0wHWRg 提取码:3n3i

但是我出了问题,就是这个子标题的问题 好好反思了一下两个关键点

  1. 导入jar包,我导入了啊啊啊啊(反思两个小时无果)
  2. 看了大佬的教程—> 中文路径,中文路径,中文路径(我的两小时,苦涩,以后少用中文目录)

参考链接

https://blog.csdn.net/peng_0129/article/details/80505722

https://blog.csdn.net/weixin_42267009/article/details/81284362 这个老哥还加了少量图片,不会操作的可以看看这个链接