这篇文章主要介绍Hadoop中KMS如何配置,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
hdfs透明加密处于数据库加密层和文件系统加密层之间。能有效地防止对文件系统的攻击,因为他的存储都是加密的。
对于每个用户可以有不同的加密区。
注:加密的是数据块,就是存在磁盘上的东西,在hdfs上直接看是自动解密了,加密的要直接取数据块看。
配置KMS步骤如下:
core-site.xml 新增配置项
//配置客户端的地址
<property>
<name>hadoop.security.key.provider.path</name>
<value>kms://http@master:16000/kms</value>
</property>
hdfs-site.xml 新增配置项
//主要配置hdfs
<property>
<name>dfs.encryption.key.provider.uri</name>
<value>kms://http@master:16000/kms</value>
</property>
使用keytool生成的秘钥密码是123456 将密码直接写入到kms.keystore.password文件(文件名一定要是这个)
echo 123456 > ${HADOOP_HOME}/share/hadoop/kms/tomcat/webapps/kms/WEB-INF/classes/kms.keystore.password
${HADOOP_HOME}:表示Hadoop安装的路径
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
创建秘钥
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:
cd /root/hadoop-2.7.4/sbin
./kms.sh start #停止的话 sbin/kms.sh stop ;
此时通过jps能看到Bootstrap进程,表示成功启动。
重新启动namenode与datanode
[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
上传一个文件到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如何配置”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网行业资讯频道!