能否在cloudera hadoop集群中将hbase.rpc.protection属性值设置为none?如果是,那么如何?

s5a0g9ez  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(543)

我使用的是启用了kerberos安全性的clouderahadoop集群。但在属性文件中,我提到hbase.encryption为none。所以我需要在hbase-site.xml中将hbase.rpc.protection属性的值更改为none。我试图将这个属性值设置为none,但失败了,因为在cloudera中,它只显示身份验证、隐私和完整性选项。有人有解决办法吗?提前谢谢。

lh80um4z

lh80um4z1#

你只能选择 authentication , integrity ,或 privacy 用于hbase.rpc.protection。设置为“无”时,默认为 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加密传输中的数据来确保隐私。选择“隐私”还可以实现身份验证和完整性。将此属性设置为privacy以启用安全rpc传输。
所以通过选择 authentication 或者 integrity 您没有加密rpc通信。

相关问题