Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop加密区域远程异常_Hadoop_Encryption_Hdfs - Fatal编程技术网

Hadoop加密区域远程异常

Hadoop加密区域远程异常,hadoop,encryption,hdfs,Hadoop,Encryption,Hdfs,我正在尝试在空目录/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 i

我正在尝试在空目录/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中启动并运行。此外,列出关键点和列出区域的命令正在工作,这意味着keyprovider正在工作

这是名称节点的错误日志

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中添加了以下属性之后。我能够创建encrytpion区域

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

dfs.encryption.key.provider.uri
kms://http@本地主机:16000/公里
添加属性后,请重新启动kms服务器和hadoop服务


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

Rajkamal在我的情况下,甚至我也面临同样的问题,但在hdfs-site.xml中添加了以下属性之后。我能够创建encrytpion区域

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

dfs.encryption.key.provider.uri
kms://http@本地主机:16000/公里
添加属性后,请重新启动kms服务器和hadoop服务


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

像符咒一样工作,感谢像符咒一样工作,谢谢