我正在使用启用了 kerberos 安全性的 Cloudera Hadoop 集群。但是在属性文件中,我没有提到hbase.encryption。所以我需要在hbase-site.xml 中将属性hbase.rpc.protection的值更改为 none 。我试图将此属性值设置为 none,但它失败了,因为在 Cloudera 中它只显示身份验证、隐私和完整性选项。那么有人对此有解决方案吗?提前致谢。
问问题
1027 次
1 回答
0
对于 hbase.rpc.protection ,您只能选择authentication
、integrity
或。privacy
当它设置为 none 时,它默认为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(",");
....
使用 Cloudera Manager 配置加密的 HBase 数据传输说明如下:
搜索 HBase Transport Security 属性并选择以下选项之一:
- 身份验证:启用使用 Kerberos 的简单身份验证。
完整性:检查接收到的数据的完整性,以确保它在传输过程中没有损坏。选择完整性还可以启用身份验证。
隐私:通过使用 TLS/SSL 加密对传输中的数据进行加密来确保隐私。选择隐私还可以启用身份验证和完整性。将此属性设置为隐私以启用安全的 RPC 传输。
因此,通过选择authentication
或者integrity
您不加密 RPC 流量。
于 2017-08-01T22:08:17.923 回答