我正在hadoop集群上设置kerberos身份验证。从集群外的机器,只要我这样做 hadoop fs -ls ,我收到以下消息: ls: SIMPLE authentication is not enabled. Available:[TOKEN, KERBEROS] ,这很好,因为这是我想要的。但现在我的问题是,如何才能真正成功地执行这个命令?我知道如果不进行身份验证就无法继续,但是如何从命令行进行身份验证?
hadoop fs -ls
ls: SIMPLE authentication is not enabled. Available:[TOKEN, KERBEROS]
7eumitmz1#
尝试以下步骤 Serverkadmin.local addprinc user@realm.comClientkinit user@realm.comklist 查看主体
Server
kadmin.local addprinc user@realm.com
Client
kinit user@realm.com
klist
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 在你的服务器上。
kadmin.local
addprinc user@realm.com
core-site.xml
hadoop.security.authentication
simple
2条答案
按热度按时间7eumitmz1#
尝试以下步骤
Server
kadmin.local addprinc user@realm.com
Client
kinit user@realm.com
klist
查看主体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
在你的服务器上。