Java API操作Hadoop可能会遇到的问题以及解决办法
1、Could not locate Hadoop executable: xxx\bin\winutils.exe
解决办法:
下载WINUTILS.EXE
,并放到Hadoop的bin目录,下载地址:https://github.com/steveloughran/winutils
2、Caused by: java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset
解决办法:
这个问题一般是因为当前机器没有安装Hadoop或者没有配置环境变量。因此首先需要下载并解压Hadoop安装包,其次需要配置系统环境变量:变量名:HADOOP_HOME,值:hadoop安装路径(例如:D:\hadoop-3.1.2)
注:修改完成之后需要重启eclipse或IDEA之后才能生效
3、Permission denied: user=administrator, access=WRITE,inode=”/”:root:supergroup:drwxr-xr-x
这个问题的原因是当前运行系统用户跟HDFS上面的文件系统的用户/用户组不同,因此没有权限执行创建、删除等操作。
解决办法:
通过添加环境变量,人为设置当前用户为HDFS的启动用户:
变量名:HADOOP_USER_NAME,值:启动hadoop的用户(例如:root)
HDFS集群搭建及相关配置:HDFS3.x集群配置
Java项目使用方法:Spring Boot项目中使用HDFS3.x