更新时间:2024-11-29 GMT+08:00

配置Hive使用透明加密

操作场景

HDFS实现透明加密,加密区配置完成后,用户往加密区上存储数据的时候,加解密处理流程由HDFS客户端完成,上层应用无感知。Hive的业务数据存放到HDFS上,默认支持透明加密,需要将HDFS上Hive根目录设置为加密分区。

前提条件

  • 集群已安装KMS服务、HDFS服务、Hive服务等,且服务正常运行。
  • 已配置HDFS服务对接KMS,请参见配置HDFS对接KMS
  • 已创建加密使用的key,请参见密钥管理
  • 已安装集群客户端,例如安装目录为“/opt/client”。

操作步骤

  1. 登录集群客户端,进入客户端安装目录。

    例如:

    cd /opt/client

  2. 导入客户端环境变量,然后使用系统内的hdfs用户执行kinit命令进行用户认证。

    source bigdata_env

    kinit hdfs

  3. 创建新的Hive根目录,并使用生成的key,将新创建的Hive根目录设置为加密分区。

    hdfs dfs -mkdir Hive根目录

    hdfs dfs -chown Hive用户名:hadoop Hive根目录

    hdfs crypto -createZone -keyName key_name -path Hive根目录

    hdfs crypto -listZones //查看加密分区

    例如:

    hdfs dfs -mkdir /hive

    hdfs dfs -chown hiveuser:hadoop /hive

    hdfs crypto -createZone -keyName key1 -path /hive

    hdfs crypto -listZones

  4. 在上述目录下创建外表。

    例如:

    create external table test (id int) location '/hive';