Spark节点间通信支持的加密算法及spark.network.crypto.config.*配置问题
Spark节点间通信加密问题解答
1. spark.network.crypto.config.* 取默认值None的影响
该配置项用于自定义Spark依赖的commons-crypto加密库参数,默认设为None时,Spark会直接使用commons-crypto库的默认配置执行加密逻辑:
- 前提是你已经开启了节点网络加密开关(
spark.network.crypto.enabled = true),否则该配置不会生效,节点间默认走明文传输 - 默认配置下会优先调用当前系统原生支持的加密指令(比如x86架构的AES-NI指令集),无法调用原生指令时会自动降级到JDK自带的加密实现,不会出现加密功能失效的问题,只是不会应用自定义的加密规则。
2. 支持的加密算法范围
Spark节点通信加密能力完全依托commons-crypto库,目前官方默认支持的算法如下:
- 核心对称加密算法为AES,支持128/192/256位密钥长度
- 支持的加密模式包括CTR、CBC、GCM等,默认使用
AES/CTR/NoPadding
所有commons-crypto库兼容的加密算法都可以通过该配置项自定义生效,配置时只需要去掉commons.crypto前缀即可,比如要指定加密转换规则为GCM模式,可配置spark.network.crypto.config.cipher.transformation = AES/GCM/NoPadding。
内容的提问来源于stack exchange,提问作者beatrice
相关产品推荐
相关产品推荐

