无法使用密钥dfs.encryption.key.provider.uri找到uri来为CDH 5.4创建HDFS加密的keyProvider

Jac*_*row 8 encryption hadoop copy hdfs cloudera-cdh

CDH版本:CDH5.4.5

问题:使用Hadoop CDH 5.4中提供的KMS启用HDFS加密时,将文件放入加密区时会出现错误.

脚步:

加密Hadoop的步骤如下:

  1. 创建密钥[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.
    
    Run Code Online (Sandbox Code Playgroud)

2.创建目录[SUCCESS]

[tester@master ~]$ hdfs dfs -mkdir /user/tester/vs_key_testdir
Run Code Online (Sandbox Code Playgroud)
  1. 添加加密区[成功]

    [tester@master ~]$ hdfs crypto -createZone -keyName 'TDEHDP' 
    -path /user/tester/vs_key_testdir
    Added encryption zone /user/tester/vs_key_testdir
    
    Run Code Online (Sandbox Code Playgroud)
  2. 将文件复制到加密区[错误]

    [tdetester@master ~]$ hdfs dfs -copyFromLocal test.txt /user/tester/vs_key_testdir
    
    Run Code Online (Sandbox Code Playgroud)

15/09/04 06:06:33错误hdfs.KeyProviderCache:用密钥[dfs.encryption.key.provider.uri]找不到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没有任何打开的文件.

任何想法/建议都会有所帮助.

Den*_*din 0

此问题在此交叉发布: https: //community.cloudera.com/t5/Storage-Random-Access-HDFS/Could-not-find-uri-with-key-dfs-encryption-key-provider-uri-to/ td-p/31637

主要结论:这不是问题

以下是支持人员提供的答案:

CDH 的基本发行版本就是这样:base。自 CDH 5.4.1 以来的所有 CDH5 版本中都存在对 HDFS-7931 造成的无害日志打印的修复。

如果您在配置 KMS 的情况下看到该错误,那么它值得考虑。如果您不使用 KMS 或 EZ,则该错误可能会被忽略。或者升级到最新的 CDH5(5.4.x 或 5.5.x)版本以接收错误修复,该修复使得错误仅在通过加密路径配置 KMS 的上下文中出现。

根据您的日志片段,我没有看到问题(金丝雀似乎没有失败?)。如果您尝试报告故障,请向我们发送更多故障特征,因为 HDFS-7931 是一个小问题,会出现不必要的日志打印。