首页 > 解决方案 > 将 sparklyr 与 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 服务器创建的。如何修复权限以使其正常工作?

标签: apache-sparkhadoopsparklyr

解决方案


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


推荐阅读