更新时间:2025-09-08 GMT+08:00
分享

配置Hadoop数据传输加密

设置Hadoop组件安全通道加密

安全加密通道是HDFS中RPC通信的一种加密协议,当用户调用RPC时,用户的login name会通过RPC头部传递给RPC,之后RPC使用Simple Authentication and Security Layer(SASL)确定一个权限协议(支持Kerberos和DIGEST-MD5两种),完成RPC授权。

默认情况下,大数据集群内组件间的通信是不加密的,为防止数据在公网或非可信网络中被截获,集群管理员可以调整Hadoop组件相关配置,使用加密协议对数据传输通道加密。

在HDFS组件的配置界面中设置相关参数的值,设置后全局生效,即Hadoop中各模块的RPC通道是否加密全部生效。

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通道。

在集群Manager管理界面中,选择“集群 > 服务 > 服务名 > 配置”,展开“全部配置”页签,在搜索框中输入参数名称,修改配置参数后需要重启对应服务以使配置生效

表1 参数说明

服务名称

配置参数

说明

缺省值

HDFS

hadoop.rpc.protection

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

  • 设置为“privacy”表示通道加密,认证、完整性和隐私性功能都全部开启。这种方式会降低性能。
  • 设置为“integrity”表示不加密,只开启认证和完整性功能。 为保证数据安全,请谨慎使用这种方式。
  • 设置为“authentication”表示不加密,仅要求认证报文,不要求完整性和隐私性。这种方式能保证性能但存在安全风险。

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

  • 设置后需要重启服务生效,且不支持滚动重启。
  • 设置后需要重新下载客户端配置,否则HDFS无法提供读写服务。
  • 安全模式:privacy
  • 普通模式:authentication

HDFS

dfs.encrypt.data.transfer

设置客户端访问HDFS的通道和HDFS数据传输通道是否加密,包括DataNode间的数据传输通道、客户端访问DataNode的DT(Data Transfer)通道。

仅当“hadoop.rpc.protection”设置为“privacy”时使用,业务数据传输量较大时,默认启用加密对性能影响严重,使用时请注意。

如果互信集群的一端集群配置了数据传输加密,则对端集群也需配置同样的数据传输加密。

  • 设置为“true”表示加密。
  • 设置为“false”表示不加密。

false

HDFS

dfs.encrypt.data.transfer.algorithm

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

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

3des

HDFS

dfs.encrypt.data.transfer.cipher.suites

指定数据加密的密码套件。

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

AES/CTR/NoPadding

HBase

hbase.rpc.protection

设置HBase通道是否加密,包含HBase客户端访问HBase服务端的RPC(remote procedure call)通道,HMaster和RegionServer间的RPC通道。

  • 设置为“privacy”表示通道加密,认证、完整性和隐私性功能都全部开启。
  • 设置为“integrity”表示不加密,只开启认证和完整性功能。
  • 设置为“authentication”表示不加密,仅要求认证报文,不要求完整性和隐私性。

privacy方式会对传输内容进行加密,包括用户Token等敏感信息,以确保传输信息的安全,但是该方式对性能影响很大,对比另外两种方式,会带来约60%的读写性能下降。

请根据企业安全要求修改配置,且客户端与服务端中该配置项需使用相同设置。

  • 安全模式:privacy
  • 普通模式:authentication

Web最大并发连接数限制

为了保护Web服务器的可靠性,当访问的用户连接数达到一定数量之后,对新增用户的连接进行限制。防止大量同时登录和访问,导致服务不可用,同时避免DDOS攻击。

在集群Manager管理界面中,选择“集群 > 服务 > 服务名 > 配置”,展开“全部配置”页签,在搜索框中输入参数名称,修改配置参数后需要重启对应服务以使配置生效

表2 参数说明

服务名称

配置参数

说明

缺省值

HDFS/Yarn

hadoop.http.server.MaxRequests

设置各组件Web的最大并发连接数限制。

2000

Spark/Spark2x

spark.connection.maxRequest

JobHistory允许的最大请求连接数。

5000

相关文档