问题:使用Hadoop CDH 5.4中提供的KMS启用HDFS加密时,将文件放入加密区时会出错。
步骤:
加密Hadoop的步骤如下:
创建密钥[SUCCESS]
[tester@master ~]$ hadoop key create 'TDEHDP'
-provider kms://https@10.1.118.1/key_generator/kms -size 128
tde group has been successfully created with options
Options{cipher='AES/CTR/NoPadding', bitLength=128, description='null', attributes=null}.
KMSClientProvider[https://10.1.118.1/key_generator/kms/v1/] has been updated.
2.创建目录[SUCCESS]
[tester@master ~]$ hdfs dfs -mkdir /user/tester/vs_key_testdir
添加加密区[成功]
[tester@master ~]$ hdfs crypto -createZone -keyName 'TDEHDP'
-path /user/tester/vs_key_testdir
Added encryption zone /user/tester/vs_key_testdir
将文件复制到加密区[错误]
[tdetester@master ~]$ hdfs dfs -copyFromLocal test.txt /user/tester/vs_key_testdir
15/09/04 06:06:33错误hdfs.KeyProviderCache:找不到uri 键[dfs.encryption.key.provider.uri]创建一个keyProvider !! copyFromLocal:没有配置KeyProvider,无法访问 加密文件15/09/04 06:06:33错误hdfs.DFSClient:无法关闭 inode 20823 org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.server.namenode.LeaseExpiredException): 没有租用/user/tester/vs_key_testdir/test.txt。 COPYING (inode 20823):文件不存在。持有人 DFSClient_NONMAPREDUCE_1061684229_1没有任何打开的文件。
任何想法/建议都会有所帮助。
答案 0 :(得分:0)
主要结论:这是一个无问题
以下是支持人员提供的答案:
CDH的基本版本只是:基础。修复了 所有CDH5版本都有HDFS-7931引起的无害日志打印 自CDH 5.4.1。
如果您在配置KMS的情况下看到该错误,那么它 一个值得考虑的人。如果您不使用KMS或EZ,那么错误 可能会被忽略。或者升级到最新的CDH5(5.4.x或 5.5.x)发布以接收错误修复,只有在通过加密路径配置KMS的上下文中才会出现错误。
根据您的日志片段,我没有看到问题(金丝雀没有 似乎失败了?)。如果您尝试报告失败,请 向我们发送更多失败的特征,因为HDFS-7931是未成年人 问题是不必要的日志打印。