绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
HBase:用于安全操作的客户端配置
2020-05-09 15:36:36

文章来源:加米谷大数据

首先,参考以下内容,并确保您的基础 HDFS 配置是安全的。

较新版本的 Apache HBase(> = 0.92)支持客户端的可选 SASL 身份验证。另请参阅 Matteo Bertozzi 关于了解 Apache HBase 中的用户身份验证和授权的文章。

本小章介绍如何设置 Apache HBase 和客户端以连接到安全 HBase 资源。

Hadoop 认证配置

要使用强身份验证运行 HBase RPC,您必须设置hbase.security.authentication为kerberos。在这种情况下,您还必须在 core-site.xml 中设置hadoop.security.authentication为kerberos。否则,您将对 HBase 使用强身份验证,但不会对基础 HDFS 使用强身份验证,否则会取消任何收益。

Kerberos KDC

您需要有一个可用的 Kerberos KDC。

将以下内容添加到每个客户端上的 hbase-site.xml 文件中:

<property>
   <name>hbase.security.authentication</name>   
   <value>kerberos</value> 
</property>

客户端环境必须通过 kinit 命令从 KDC 或 keytab 登录到 Kerberos,然后才能与 HBase 群集通信。

请注意,如果客户端和服务器端站点文件中的 hbase.security.authentication 不匹配,则客户端将无法与群集进行通信。

一旦将 HBase 配置为安全 RPC,就可以选择配置加密通信。为此,请将以下内容添加到每个客户端上的 hbase-site.xml 文件中:

<property>
   <name>hbase.rpc.protection</name>   
   <value>privacy</value> 
</property>

此配置属性也可以在每个连接的基础上进行设置。将其设置为 Configuration 提供给 Table:

Configuration conf = HBaseConfiguration.create(); 
Connection connection = ConnectionFactory.createConnection(conf); 
conf.set("hbase.rpc.protection", "privacy"); 
try (Connection connection = ConnectionFactory.createConnection(conf);  
    Table table = connection.getTable(TableName.valueOf(tablename))) 
    {   
    .... do your stuff 
    }

对于加密通信,预计会有大约 10% 的性能损失。

分享好友

分享这个小栈给你的朋友们,一起进步吧。

Hbase资料库
创建时间:2020-05-08 14:42:11
Hbase资料库一站式查询。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • 小雨滴
    专家
  • Leila
    专家
  • 飘絮絮絮丶
    专家
戳我,来吐槽~