我正在Hadoop集群上设置Kerberos身份验证。从群集外的计算机上,每当我hadoop fs -ls
时,我都会收到以下消息:ls: SIMPLE authentication is not enabled. Available:[TOKEN, KERBEROS]
,这很好,因为这就是我想要的。但现在我的问题是,我如何成功地执行该命令?我知道如果我不进行身份验证,我就无法继续,但如何从命令行进行身份验证?
答案 0 :(得分:2)
尝试以下步骤
Server
kadmin.local
addprinc user@realm.com
Client
kinit user@realm.com
klist
查看主体
答案 1 :(得分:0)
需要在Hadoop服务器和尝试访问它的客户端中修改内容。
服务器强>
在服务器中,您需要向领域添加新用户,为此您可以使用以下命令:
在kadmin.local
shell中,键入以下命令:addprinc user@realm.com
。出现提示时,键入两次密码。
<强>客户端强>
确保已安装kinit并指向群集的Kerberos服务器,然后运行以下命令从Kerberos服务器获取令牌:kinit user@realm.com
。要验证您是否已成功获取它,请键入klist
。
最后,但并非最不重要:确保您的客户端core-site.xml
文件与相应的服务器端配置一致。特别是,如果您的服务器中hadoop.security.authentication
不是simple
,请确保密钥simple
的值不是Set<BluetoothDevice> pairedDevices = mBluetoothAdapter.getBondedDevices();
// If there are paired devices
if (pairedDevices.size() > 0) {
// Loop through paired devices
for (BluetoothDevice device : pairedDevices) {
// Add the name and address to an array adapter to show in a ListView
mArrayAdapter.add(device.getName() + "\n" + device.getAddress());
}
}
。