Я пытаюсь запустить следующую команду, но получаю следующую ошибку. Может ли кто-нибудь мне это объяснить?
hdfs fsck / -files -blocks -locations > dfs-new-fsck-1.log
Я пытаюсь установить Hortonworks HDP2.x
ERROR security.UserGroupInformation: PriviledgedActionException as:hdfs (auth:SIMPLE) cause:java.io.IOException: Failed on local exception: java.io.EOFException; Host Details : local host is: "hortonworks-sandbox.localdomain/10.238.149.109"; destination host is: "hortonworks-sandbox.localdomain":8020;
Exception in thread "main" java.io.IOException: Failed on local exception: java.io.EOFException; Host Details : local host is: "hortonworks-sandbox.localdomain/10.238.149.109"; destination host is: "hortonworks-sandbox.localdomain":8020;
Бег hdfs fsck это привилегированная задача. Для этого вы должны быть тем же пользователем, который в настоящее время выполняет задачи Hadoop namenode и datanode.
Я подозреваю, что вы вошли в виртуальную машину песочницы Hortonworks как пользователь root по умолчанию. Для выполнения этой команды вам нужно стать hdfs.
Если вы вошли в систему как root, вы можете стать пользователем hdfs, выполнив следующие действия:
su - hdfs
hadoop fsck / -files -blocks -locations
в качестве альтернативы вы можете сделать следующее как root:
su - hdfs -c "hadoop fsck / -files -blocks -locations"
Это позволяет вам запустить команду один раз как hdfs.
Наконец, я вижу, что вы используете режим безопасности ПРОСТОЙ по умолчанию. Если вы использовали Kerberos, вам может потребоваться соответствующий ключ kerberos для пользователя hdfs. В этом случае вам, вероятно, не нужно делать это.