Я использую spark- sql -2.4.1 v в своем приложении.
При записи данных в папку hdfs я сталкиваюсь с этой проблемой в приложении потокового воспроизведения
Ошибка:
yarn.Client: Deleted staging directory hdfs://dev/user/xyz/.sparkStaging/application_1575699597805_47
20/02/24 14:02:15 ERROR yarn.Client: Application diagnostics message: User class threw exception: org.apache.hadoop.security.AccessControlException: Permission denied: user= xyz, access=WRITE, inode="/tmp/hadoop-admin":admin:supergroup:drwxr-xr-x
.
.
.
Caused by: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.AccessControlException): Permission denied: user=xyz, access=WRITE, inode="/tmp/hadoop-admin":admin:supergroup:drwxr-xr-x
at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:350)
at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:251)
При записи данных в папку HDFS я сталкиваюсь с этой проблемой в приложении потоковой передачи, когда я запускаю в режиме кластера пряжи, я сталкиваюсь с этой проблемой, то есть
--master yarn \
--deploy-mode cluster \
Но когда я запускаю в режиме «клиент-пряжа», он работает нормально, то есть
--master yarn \
--deploy-mode client \
Кто-нибудь сталкивался с этой ошибкой и знает, каков root -сцена этой проблемы?
Основной вопрос здесь, почему он пытается записать в "/tmp/hadoop-admin/
" вместо соответствующего пользовательского каталога, например, hdfs://qa2/user/xyz/
??
Я наткнулся на это исправление
https://issues.apache.org/jira/browse/SPARK-26825
Но не уверен, как реализовать это в моем приложении spark- sql. Любая помощь высоко ценится.