我使用的是来自internet的示例:hdfs inotify示例,构建完成时没有错误,但执行结束时有错误:
Exception in thread "main" org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.AccessControlException): SIMPLE authentication is not enabled. Available:[TOKEN, KERBEROS]
kerberos系统正在工作,我有一个新的kerberos票证,它工作得非常好。所以我不确定这是否是kerberos的问题。我还设置了以下环境变量:
export HADOOP_CONF_DIR=/etc/hadoop/conf
指向core-site.xml,其中安全设置afaik是正确的:
<property>
<name>hadoop.security.authentication</name>
<value>kerberos</value>
</property>
<property>
<name>hadoop.security.authorization</name>
<value>true</value>
</property>
<property>
<name>hadoop.rpc.protection</name>
<value>authentication</value>
</property>
怎么了?每一个建议都很感激。
我使用的是hadoop2.6.0-cdh5.10.1
2条答案
按热度按时间ecfsfe2w1#
最后,我找到了解决问题的方法:
这是我添加到hdfs inotify示例中的补丁
认证工作正常。最后我得到:
这意味着当前用户无法看到datanode中发生的事情,但这是另一个历史。
2w3kk1z52#
补充ozw1z5rd的答案:
请登录超级用户(hdfs)并在那里执行程序。
并运行从jar文件复制到hdfs home的程序。