gpt4 book ai didi

linux - 由于目录级别的权限问题,Spark 作业失败

转载 作者:太空宇宙 更新时间:2023-11-04 12:26:23 24 4
gpt4 key购买 nike

我在 scala 中创建了一个 spark 应用程序。我从 shell 脚本调用了 spark submit 命令

我的 spark 应用程序正在从 HDFS 输入目录读取文件。

我以用户作为构建运行 spark 作业。我的 spark 作业正在尝试读取和处理来自/data/published/source/oogway/tracking_id_log/TRACKING_ID_LOG_FULL 的所有文件

/data/published/source/omega/omega_tracking_log/OMEGA_LOG_FULL 是用户metro创建的目录

metro 和 build 在同一个名为 hadoop 的组中

我可以清楚地看到构建用户对该 HDFS 目录具有读取权限,那么为什么会出现以下错误?

 Exception in thread "main"  org.apache.hadoop.security.AccessControlException: Permission denied:  user=build, access=READ_EXECUTE,\
inode="/data/published/source/omega/omega_tracking_log/OMEGA_LOG_FULL":metro:hadoop:drwxr-----
at org.apache.hadoop.hdfs.server.namenode.DefaultAuthorizationProvider.checkFsPermission(DefaultAuthorizationProvider.java:257)
at org.apache.hadoop.hdfs.server.namenode.DefaultAuthorizationProvider.check(DefaultAuthorizationProvider.java:238)
at org.apache.hadoop.hdfs.server.namenode.DefaultAuthorizationProvider.checkPermission(DefaultAuthorizationProvider.java:151)
at org.apache.sentry.hdfs.SentryAuthorizationProvider.checkPermission(SentryAuthorizationProvider.java:174)
at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:138)

这是该 HDFS 目录的访问权限

bash-4.1$ hdfs dfs -ls /data/published/source/omega/omega_tracking_log
Found 3 items

drwxr----- - metro hadoop 0 2017-06-12 13:12 /data/published/source/omega/omega_tracking_log/OMEGA_LOG_FULL

如果 spark 想要从 HDFS 目录读取所有文件并对其进行处理,那么我们是否还需要为 spark 用户提供对 HDFS 目录的 EXECUTE 访问权限?

最佳答案

这个问题是因为 HDFS 的许可。你能试试这个吗

  1. 从根用户登录更改HDFS的权限

    hadoop fs -chmod -R 777/

  2. 并尝试运行 spark 作业

关于linux - 由于目录级别的权限问题,Spark 作业失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44502456/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com