版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011066470/article/details/85873614
一 异常描述
Hadoop_home 的dir没有找到
二 解决步骤
2.1 加压hadoop3.1.0的tar包
- 将hadoop-3.1.0.tar.gz包放到d盘下,然后将其解压
2.2 复制hadoop-common-2.7.1-bin中的内容
将hadoop-common-2.7.1-bin中bin文件夹下的内容复制到d:/hadoop-3.1.0目录下的bin中,建议重复的文件选择不覆盖。(hadoop-comm-3.1.0对应的hadoop-common-3.1.0-bin在网上没有找到对应的,只好找了一个最接近的版本)
hadoop-common-2.7.1-bin中的bin文件夹:
复制到hadoop-3.1.0文件下的bin文件夹中:
2.3 修改hadoop-3.1.0的源码nativeio.java类
报以下错误:
解决
1.到hadoop-3.1.0-src...源码包中找到nativeio.java文件
具体路径可参考如下
\src\main\java\org\apache\hadoop\io\nativeio\NativeIO.java
2在项目中建立一个相同的包名(org.apache.hadoop.io.nativeio),并且将NativeIO.java复制到该包下,如图:
3.修改这个NativeIO文件中的内容:修改为返回true
2.4 配置hadoop的hadoop home
1.配置hadoop的home
2.追加到path变量后面:
2.5 在执行类引用
添加:System.setProperty("hadoop.home.dir", "d:\\hadoop-3.1.0");
2.6 配置log4j日志输出
经过2.1到2.5的配置后,执行mr的程序,console控制台没有信息,则需要配置log4j
2.7 解决没有执行权限的问题
没有执行权限
解决办法:在 linux 上执行 hadoop fs -chmod -R 777 /
2.8 成功执行mr程序
以下是执行成功后,控制台部分日志:
文档的详细笔记见百度网盘:大数据资料/2019大数据资料
文档笔记目录:
都看到这里了,就顺手点击左上角的【关注】按钮,点击右上角的小手,给个评论,关注一下,再走呗!☺