Ошибка hdfs dfs -setfacl в хранилище озера данных Azure - PullRequest
0 голосов
/ 24 октября 2019

Я пытаюсь изменить список контроля доступа для файла, расположенного в хранилище озера данных Azure Gen 1 из кластера HDInsight 3.6, с помощью следующей команды:

hdfs dfs -setfacl -m user:d7de0903-abcabc-44c1-8f1c-31311f5caa69:r-x adl://<myadls>.azuredatalakestore.net/user/pics/sammple.jpeg

Сбой при:

-setfacl: Fatal internal error
java.lang.NullPointerException
    at 
org.apache.hadoop.fs.adl.HdiAdlFileSystem.shouldUseDaemonUserOrGroup(Unknown Source)
    at 
org.apache.hadoop.fs.adl.HdiAdlFileSystem.getEffectiveAclEntries(Unknown Source)
    at org.apache.hadoop.fs.adl.HdiAdlFileSystem.modifyAclEntries(Unknown Source)
    at 
 org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand.processPath(AclCommands.java:240)
    at org.apache.hadoop.fs.shell.Command.processPaths(Command.java:317)
    at 
org.apache.hadoop.fs.shell.Command.processPathArgument(Command.java:289)
    at org.apache.hadoop.fs.shell.Command.processArgument(Command.java:271)
    at org.apache.hadoop.fs.shell.Command.processArguments(Command.java:255)
    at 
org.apache.hadoop.fs.shell.FsCommand.processRawArguments(FsCommand.java:119)
    at org.apache.hadoop.fs.shell.Command.run(Command.java:165)
    at org.apache.hadoop.fs.FsShell.run(FsShell.java:297)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:90)
    at org.apache.hadoop.fs.FsShell.main(FsShell.java:356)

Как

 hdfs dfs -getfacl adl://<myadls>.azuredatalakestore.net/user/pics/sample.jpeg

работает нормально. Мне интересно, нужна ли конфигурация ESP (Enterprise Security Package).

1 Ответ

0 голосов
/ 31 октября 2019

Можно выполнить следующие шаги, чтобы установить acls в Azure Data Lake Gen1, следующим образом:

До: Получение примера acls для папки ADLS и user:bd04d6b3-xxx-xxxx-xxxx-3e30e6c99f3c:r--

hdfs dfs -getfacl adl://<adlsname>.azuredatalakestore.net/clusters/example

enter image description here

Установка списков ACL для ADLS: Используйте следующую команду для установки ACL для конкретного пользователя следующим образом:

hdfs dfs -setfacl -m user:bd04d6b3-xxxx-xxxx-xxxx--3e30e6c99f3c:rwx adl://<adlsname>.azuredatalakestore.net/clusters/example

После: Теперь вы можете заметить, что acls изменены.

enter image description here

Надеюсь, это поможет.

...