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

配置HDFS数据传输加密

设置HDFS安全通道加密

默认情况下,组件间的通道是不加密的。您可以配置如下参数,设置安全通道为加密的。

参数修改入口:在FusionInsight Manager系统中,选择“集群 > 服务 > HDFS > 配置”,展开“全部配置”页签。在搜索框中输入参数名称。

配置后应重启对应服务使参数生效。

表1 参数说明

配置项

描述

默认值

hadoop.rpc.protection

须知:
  • 设置后需要重启服务生效,且不支持滚动重启。
  • 设置后需要重新下载客户端配置,否则HDFS无法提供读写服务。
  • 设置后需要重启executor,否则将导致管控面作业管理及文件管理功能不可用。

设置Hadoop中各模块的RPC通道是否加密。通道包括:

  • 客户端访问HDFS的RPC通道。
  • HDFS中各模块间的RPC通道,如DataNode与NameNode间。
  • 客户端访问Yarn的RPC通道
  • NodeManager和ResourceManager间的RPC通道。
  • Spark访问Yarn,Spark访问HDFS的RPC通道。
  • Mapreduce访问Yarn,MapReduce访问HDFS的RPC通道。
  • HBase访问HDFS的RPC通道。
  • CDL提交任务的RPC通道。
说明:

设置后全局生效,即Hadoop中各模块的RPC通道的加密属性全部生效。

  • 安全模式:privacy
  • 普通模式:authentication
说明:
  • “authentication”:只进行认证,不加密。
  • “integrity”:进行认证和一致性校验。
  • “privacy”:进行认证、一致性校验、加密。

dfs.encrypt.data.transfer

设置客户端访问HDFS的通道和HDFS数据传输通道是否加密。HDFS数据传输通道包括DataNode间的数据传输通道,客户端访问DataNode的DT(Data Transfer)通道。设置为“true”表示加密,默认不加密。

说明:
  • 仅当hadoop.rpc.protection设置为privacy时使用。
  • 业务数据传输量较大时,默认启用加密对性能影响严重,使用时请注意。
  • 如果互信集群的一端集群配置了数据传输加密,则对端集群也需配置同样的数据传输加密。

false

dfs.encrypt.data.transfer.algorithm

设置客户端访问HDFS的通道和HDFS数据传输通道的加密算法。只有在dfs.encrypt.data.transfer配置项设置为“true”,此参数才会生效。

说明:

缺省值为“3des”,表示采用3DES算法进行加密。此处的值还可以设置为“rc4”,避免出现安全隐患,不推荐设置为该值。

3des

dfs.encrypt.data.transfer.cipher.suites

可以设置为空或“AES/CTR/NoPadding”,用于指定数据加密的密码套件。如果不指定此参数,则使用“dfs.encrypt.data.transfer.algorithm”参数指定的加密算法进行数据加密。默认值为“AES/CTR/NoPadding”

AES/CTR/NoPadding

dfs.data.transfer.protection

设置HDFS客户端读写数据中RPC通道是否加密。

对RPC的加密方式,有如下三种取值:

  • authentication:只进行认证,不加密。
  • integrity:进行认证和一致性校验。
  • privacy:进行认证、一致性校验、加密。
    须知:

    修改该配置后,需要重启HDFS服务及依赖HDFS的上层服务,且不支持滚动重启。重启过程中会造成业务中断,请谨慎修改。

-