Hadoop 加密区域远程异常



我正在尝试在空目录/enc_zone2 中创建一个加密区域。这是我正在使用的命令

hdfs crypto -createZone -keyName key2 -path /enc_zone2  

当我尝试使用

hadoop key list -metadata

我能够看到 key2 的元数据。

但是,我在创建区域时遇到的错误是

"RemoteException: Can't create an encryption zone for /temp since no key provider is available."

但是,KMS 服务器已在端口 16000 中启动并运行。此外,列出键和列出区域的命令正在工作,这意味着密钥提供程序正在工作。

这是名称节点的错误日志

Can't create an encryption zone for /enc_zone2 since no key provider is available.
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.createEncryptionZone(FSNamesystem.java:7981)
at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.createEncryptionZone(NameNodeRpcServer.java:1833)
at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.createEncryptionZone(ClientNamenodeProtocolServerSideTranslatorPB.java:1352)
at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)
at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:616)
at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:969)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2049)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2045)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:422)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657)
at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2045).

谁能帮我?

谢谢。

Rajkamal 在我的情况下,即使我遇到了同样的问题,但是在 hdfs-site.xml 中添加了以下属性后。我能够创建加密区域。

<property>
<name>dfs.encryption.key.provider.uri</name>
<value>kms://http@localhost:16000/kms</value>
</property>

添加属性后,请重新启动 kms 服务器和 hadoop 服务。

尝试并验证此解决方案是否适用于您的情况。

最新更新