温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Hadoop中KMS如何配置

发布时间:2021-12-09 11:47:40 来源:亿速云 阅读:481 作者:小新 栏目:大数据

这篇文章主要介绍Hadoop中KMS如何配置,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

hdfs透明加密处于数据库加密层和文件系统加密层之间。能有效地防止对文件系统的攻击,因为他的存储都是加密的。

对于每个用户可以有不同的加密区。

注:加密的是数据块,就是存在磁盘上的东西,在hdfs上直接看是自动解密了,加密的要直接取数据块看。

配置KMS步骤如下:

1.core-site.xml 新增配置项

//配置客户端的地址

<property>

<name>hadoop.security.key.provider.path</name>

<value>kms://http@master:16000/kms</value>

</property>

2.hdfs-site.xml 新增配置项

//主要配置hdfs

<property>

<name>dfs.encryption.key.provider.uri</name>

<value>kms://http@master:16000/kms</value>

</property>

3.使用keytool生成的秘钥密码是123456  将密码直接写入到kms.keystore.password文件(文件名一定要是这个)

echo  123456  > ${HADOOP_HOME}/share/hadoop/kms/tomcat/webapps/kms/WEB-INF/classes/kms.keystore.password

${HADOOP_HOME}:表示Hadoop安装的路径

4.kms-env.sh        配置文件

export KMS_HOME=/opt/apps/hadoop-2.7.4

export KMS_LOG=${KMS_HOME}/logs/kms

export KMS_HTTP_PORT=16000

export KMS_ADMIN_PORT=16001

5、创建秘钥

keytool -genkey  -alias 'key1'       #删除的话 keytool -delete  -alias 'key1';

Enter keystore password:123456        #-----此处创建的密码,需要和上面kms.keystore.password配置文件的密码相同

Re-enter new password:

What is your first and last name?

[Unknown]:           #-----这一部分内容,用户随意填写,可以不写

What is the name of your organizational unit?

[Unknown]: 

What is the name of your organization?

[Unknown]: 

What is the name of your City or Locality?

[Unknown]: 

What is the name of your State or Province?

[Unknown]:

What is the two-letter country code for this unit?

[Unknown]: 

Is CN=lch, OU=gdbd, O=gdbd, L=sz, ST=sz, C=sz correct?

[no]:  yes                    #输入yes

Enter key password for <user_a_key>

(RETURN if same as keystore password):

Re-enter new password:

6、cd /root/hadoop-2.7.4/sbin

./kms.sh start                  #停止的话    sbin/kms.sh stop ;

此时通过jps能看到Bootstrap进程,表示成功启动。

7、重新启动namenode与datanode 

8、[root@hdp130 kms]#  hadoop key create key1  ---  wafkey为上面通过keytool创建的

[root@hdp130 kms]# hadoop key list    ---- 查看一下

[root@hdp130 kms]# hadoop fs -mkdir /sub     

[root@hdp130 logs]# hdfs crypto -createZone -keyName key1 -path /sub  ---设置/sub为加密区

Added encryption zone /sub

9、上传一个文件到hdfs的/sub上,拿到数据块的BP的id号到对应datanode节点上,下载文件快查看,然后具体磁盘上看到数据已经加密。

ok!

若删除加密区报错:

20/06/05 17:20:27 INFO fs.TrashPolicyDefault: Namenode trash configuration: Deletion interval = 1440 minutes, Emptier interval = 0 minutes.

rm: Failed to move to trash: hdfs://hdfscluster/subkey/testdata.sh: /subkey/testdata.sh can't be moved from an encryption zone.

则删除加密区域文件或文件夹命令: hadoop fs -rm -r -skipTrash /subkey/test.logs

以上是“Hadoop中KMS如何配置”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI