2

我尝试设置 Hadoop KMS 服务器和客户端。

下面是我的 kms.site.xml

<property>
   <name>hadoop.kms.key.provider.uri</name>
   <value>jceks://file@/${user.home}/kms.keystore</value>
   <description>
      URI of the backing KeyProvider for the KMS.
   </description>
</property>

<property>
   <name>hadoop.security.keystore.java-keystore-provider.password-file</name>
   <value>kms.keystore.password</value>
   <description>
     If using the JavaKeyStoreProvider, the file name for the keystore password.
   </description>
</property>

在下面添加的 core-site.xml

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

在下面添加的 hdfs-site

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

然后重启hadoop并使用./kms.sh start 启动kms

但是当我尝试使用以下命令生成密钥时

hadoop key create key_demo -size 256

我收到以下消息,我错过了什么吗?

There are no valid (non-transient) providers configured.
No action has been taken. Use the -provider option to specify
a provider. If you want to use a transient provider then you
MUST use the -provider argument.
4

1 回答 1

0

我正在使用 hadoop 3.3.1

这是我的kms-site.xml

<property> 
    <name>hadoop.kms.key.provider.uri</name> 
    <value>jceks://file@/${user.home}/kms.keystore</value> 
</property> 

<property> 
    <name>hadoop.security.keystore.java-keystore-provider.password-file</name> 
    <value>kms.keystore.password</value> 
</property>

这是我的core-site.xml

<property> 
    <name>hadoop.security.key.provider.path</name>
    <value>kms://http@localhost:9600/kms</value>
    <description> 
        The KeyProvider to use when interacting with encryption keys used 
        when reading and writing to an encryption zone. 
    </description> 
</property>

在将这些添加到我的 core-site.xml 之前,我也收到了与您相同的消息。我认为您使用的是 hadoop v2,所以您的 keyProvider 端口号仍然是 16000,我使用 v3。我还看到您仍在使用 JavaKeyStoreProvider,就像 hadoop 文档中的示例一样(我也是),如果您不提供“密码文件”,即kms.keystore.passwordKMS 将在启动后立即终止。因此,您需要在类路径中放置一个空文件,该文件位于/hadoop_home/etc/

我知道我来晚了,希望对你有帮助。

于 2021-12-19T11:04:49.840 回答