我使用的是启用了kerberos安全性的clouderahadoop集群。但在属性文件中,我提到hbase.encryption为none。所以我需要在hbase-site.xml中将hbase.rpc.protection属性的值更改为none。我试图将这个属性值设置为none,但失败了,因为在cloudera中,它只显示身份验证、隐私和完整性选项。有人有解决办法吗?提前谢谢。
lh80um4z1#
你只能选择 authentication , integrity ,或 privacy 用于hbase.rpc.protection。设置为“无”时,默认为 authentication . 这可以在hbase client/src/main/java/org/apache/hadoop/hbase/security/saslutil.java中看到:
authentication
integrity
privacy
/** * @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(","); ....
使用cloudera manager配置加密的hbase数据传输说明如下:搜索hbase transport security属性并选择以下选项之一:身份验证:启用使用kerberos的简单身份验证。完整性:检查接收到的数据的完整性,以确保数据在传输过程中没有损坏。选择完整性还可以启用身份验证。隐私:通过使用tls/ssl加密传输中的数据来确保隐私。选择“隐私”还可以实现身份验证和完整性。将此属性设置为privacy以启用安全rpc传输。所以通过选择 authentication 或者 integrity 您没有加密rpc通信。
1条答案
按热度按时间lh80um4z1#
你只能选择
authentication
,integrity
,或privacy
用于hbase.rpc.protection。设置为“无”时,默认为authentication
. 这可以在hbase client/src/main/java/org/apache/hadoop/hbase/security/saslutil.java中看到:使用cloudera manager配置加密的hbase数据传输说明如下:
搜索hbase transport security属性并选择以下选项之一:
身份验证:启用使用kerberos的简单身份验证。
完整性:检查接收到的数据的完整性,以确保数据在传输过程中没有损坏。选择完整性还可以启用身份验证。
隐私:通过使用tls/ssl加密传输中的数据来确保隐私。选择“隐私”还可以实现身份验证和完整性。将此属性设置为privacy以启用安全rpc传输。
所以通过选择
authentication
或者integrity
您没有加密rpc通信。