如何从命令行对hadoop进行身份验证?删除`ls:未启用简单身份验证`error

qf9go6mv  于 2021-06-02  发布在  Hadoop
关注(0)|答案(2)|浏览(511)

我正在hadoop集群上设置kerberos身份验证。从集群外的机器,只要我这样做 hadoop fs -ls ,我收到以下消息: ls: SIMPLE authentication is not enabled. Available:[TOKEN, KERBEROS] ,这很好,因为这是我想要的。但现在我的问题是,如何才能真正成功地执行这个命令?我知道如果不进行身份验证就无法继续,但是如何从命令行进行身份验证?

7eumitmz

7eumitmz1#

尝试以下步骤 Serverkadmin.local addprinc user@realm.comClientkinit user@realm.comklist 查看主体

t3psigkw

t3psigkw2#

hadoop服务器和试图访问它的客户机都需要修改。
服务器
在服务器中,您需要向领域添加一个新用户,并为此使用以下命令:
kadmin.local 在shell中,键入以下命令: addprinc user@realm.com . 出现提示时,请键入两次密码。
客户
确保已安装kinit并指向群集的kerberos服务器,然后运行以下命令从kerberos服务器获取令牌: kinit user@realm.com . 要验证您是否成功获取了它,请键入 klist .
最后,但并非最不重要的一点:确保你的客户 core-site.xml 文件与相应的服务器端配置一致。尤其要确保 hadoop.security.authentication 不是 simple 如果不是这样的话 simple 在你的服务器上。

相关问题