更新时间:2024-07-24 GMT+08:00

配置Hadoop数据传输加密

配置场景

安全加密通道是HDFS中RPC通信的一种加密协议,当用户调用RPC时,用户的login name会通过RPC头部传递给RPC,之后RPC使用Simple Authentication and Security Layer(SASL)确定一个权限协议(支持Kerberos和DIGEST-MD5两种),完成RPC授权。用户在部署安全集群时,需要使用安全加密通道,配置如下参数。安全Hadoop RPC相关信息请参考:

MRS 3.2.0之前版本:https://hadoop.apache.org/docs/r3.1.1/hadoop-project-dist/hadoop-common/SecureMode.html#Data_Encryption_on_RPC

MRS 3.2.0及之后版本:https://hadoop.apache.org/docs/r3.3.1/hadoop-project-dist/hadoop-common/SecureMode.html#Data_Encryption_on_RPC

配置描述

请参考修改集群服务配置参数,进入HDFS的“全部配置”页面,在搜索框中输入参数名称。

表1 参数说明

参数

描述

默认值

hadoop.rpc.protection

须知:
  • 设置后需要重启服务生效,且不支持滚动重启。
  • 设置后需要重新下载客户端配置,否则HDFS无法提供读写服务。

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

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

用户可在HDFS组件的配置界面中设置该参数的值,设置后全局生效,即Hadoop中各模块的RPC通道的加密属性全部生效。

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

  • “authentication”:普通模式默认值,指数据在鉴权后直接传输,不加密。这种方式能保证性能但存在安全风险。
  • “integrity”:指数据直接传输,即不加密也不鉴权。 为保证数据安全,请谨慎使用这种方式。
  • “privacy”:安全模式默认值,指数据在鉴权及加密后再传输。这种方式会降低性能。
  • 安全模式:privacy
  • 普通模式:authentication