首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >设置Hadoop KMS

设置Hadoop KMS
EN

Stack Overflow用户
提问于 2020-04-23 18:44:44
回答 1查看 528关注 0票数 2

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

下面是我的kms.site.xml

代码语言:javascript
复制
<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中

代码语言:javascript
复制
<property>
    <name>dfs.encryption.key.provider.uri</name>
    <value>kms://http@mydomain:16000/kms</value>
</property>

在hdfs中添加了以下站点

代码语言:javascript
复制
<property>
    <name>dfs.encryption.key.provider.uri</name>
    <value>kms://http@mydomain:16000/kms</value>
</property>

然后重新启动hadoop并使用./kms.sh开始启动kms。

但是当我试图使用下面的命令生成一个键时

代码语言:javascript
复制
hadoop key create key_demo -size 256

我收到了下面的留言,我有遗漏什么吗?

代码语言:javascript
复制
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.
EN

回答 1

Stack Overflow用户

发布于 2021-12-19 11:04:49

我正在使用hadoop 3.3.1

这是我的kms-site.xml

代码语言:javascript
复制
<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

代码语言:javascript
复制
<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>

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

我知道我到得很晚,希望能帮上忙。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61394730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档