【问题标题】:Can we set hbase.rpc.protection property value as none in Cloudera Hadoop cluster? If yes then how?我们可以在 Cloudera Hadoop 集群中将 hbase.rpc.protection 属性值设置为 none 吗?如果是,那怎么办?
【发布时间】:2018-01-01 06:05:33
【问题描述】:
我正在使用启用了 kerberos 安全性的 Cloudera Hadoop 集群。但是在属性文件中,我没有提到 hbase.encryption。所以我需要在 hbase-site.xml 中将属性 hbase.rpc.protection 的值更改为 none。我尝试将此属性值设置为 none,但它失败了,因为在 Cloudera 中它只显示身份验证、隐私和完整性选项。那么有人对此有解决方案吗?提前致谢。
【问题讨论】:
标签:
hadoop
hbase
kerberos
cloudera
spring-security-kerberos
【解决方案1】:
hbase.rpc.protection 只能选择authentication、integrity 或privacy。当设置为无时,默认为authentication。这可以在 hbase-client/src/main/java/org/apache/hadoop/hbase/security/SaslUtil.java 中看到:
/**
* @param rpcProtection Value of 'hbase.rpc.protection' configuration.
* @return Map with values for SASL properties.
*/
static Map<String, String> initSaslProperties(String rpcProtection) {
String saslQop;
if (rpcProtection.isEmpty()) {
saslQop = QualityOfProtection.AUTHENTICATION.getSaslQop();
} else {
String[] qops = rpcProtection.split(",");
....
Configuring Encrypted HBase Data Transport Using Cloudera Manager 声明如下:
搜索 HBase 传输安全属性并选择以下选项之一:
因此,通过选择 authentication 或 integrity,您并未加密 RPC 流量。