我正在尝试运行以下命令,但出现以下错误,有人可以向我解释一下吗
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;
答案1
跑步hdfs fsck是一项特权任务。您必须是当前正在运行 Hadoop namenode 和 datanode 任务的同一用户才能执行此操作。
我怀疑您已以默认 root 用户身份登录 Hortonworks 沙盒 VM。您需要成为 hdfs 才能运行此命令。
如果您以 root 身份登录,则可以通过执行以下操作成为 hdfs 用户:
su - hdfs
hadoop fsck / -files -blocks -locations
或者,您可以以 root 身份执行以下操作:
su - hdfs -c "hadoop fsck / -files -blocks -locations"
这使您可以以 hdfs 的形式运行一次命令。
最后,我发现您使用的是默认的 SIMPLE 安全模式。如果您使用的是 Kerberos,则可能需要为 hdfs 用户获取适当的 kerberos 密钥。在这种情况下,您可能不需要尝试这样做。