Scala 通过读取HDFS上的文件创建SparkRDD出现的问题

一、Could not locate executable null\bin\winutils.exe in the Hadoop binaries.

如果本机操作系统是Windows,如果在程序中使用了Hadoop相关的东西,比如写入文件到HDFS,则会遇到该异常
出现这个问题的原因,并不是程序的错误,而是用到了hadoop相关的服务,解决办法:
1、在本机上解压对应版本的hadoop压缩包
不太清楚别的版本压缩包行不行,bin里面要有winutils.exe
如果没有,请自行前往下载对应版本

https://github.com/cdarlint/winutils

2、配置HADOOP_HOME环境变量
3、在IDEA中配置Run Configuration,添加HADOOP_HOME变量
Scala 通过读取HDFS上的文件创建SparkRDD出现的问题_第1张图片

二、Exception in thread “main” org.apache.hadoop.security.AccessControlException: Permission denied: user=LCQ, access=WRITE, inode="/":fanger:supergroup:drwxr-xr-x

Windows和Linux用户不对应,导致权限问题

解决方法:
添加一行代码

# 要换成自己在hadoop上的对应用户名
System.setProperty("HADOOP_USER_NAME", "lcq")

你可能感兴趣的:(大数据,hadoop,spark)