将 sparklyr 与 Hadoop 一起使用时出现权限错误

Permission error when using sparklyr with Hadoop

我正在尝试让 sparklyr 使用 Hadoop 在集群上工作。当我运行sc <- spark_connect(master = "yarn-client", version = "2.8.5")

我收到此错误消息:

Error in force(code) : 
  Failed during initialize_connection: org.apache.hadoop.security.AccessControlException: Permission denied: user=rstudio, access=WRITE, inode="/user":hdfs:hadoop:drwxr-xr-x
    at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:319)
    at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:219)
    at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:189)
...

用户 rstudio 是我为 RStudio 服务器创建的。如何修复权限以使其正常工作?

使用 hadoop 超级用户(在您的情况下看起来像 hdfs),您需要为您的 rstudio 用户创建一个 HDFS 主目录(/user/rstudio),并更改其所有权,以便 rstudio主人。有关详细信息,请参阅 http://www.hadooplessons.info/2017/12/creating-home-directory-for-user-in-hdfs-hdpca.html?m=1