codecamp

用户访问Apache HBase的简单方法

用户访问Apache HBase

较新版本的Apache HBase(0.92版本以后)支持客户端的可选SASL身份验证。

本节介绍如何设置Apache HBase和客户端,以便用户访问HBase资源。

简单与安全访问

以下部分介绍如何设置用户访问Apache HBase的一种简单方法。简单的用户访问不是一种运行HBase的安全方法。此方法用于防止用户犯错。它可用于在开发系统上模拟访问控制,而无需设置Kerberos。

此方法不用于防止恶意或黑客入侵。为了使HBase能够抵御这些类型的攻击,您必须配置HBase进行安全操作。请参阅客户端安全访问Apache HBase部分并完成此处描述的所有步骤。

简单用户访问操作的服务器端配置

将以下内容添加到群集中每个服务器计算机上的hbase-site.xml文件中:

<property>
  <name>hbase.security.authentication</name>
  <value>simple</value>
</property>
<property>
  <name>hbase.security.authorization</name>
  <value>true</value>
</property>
<property>
  <name>hbase.coprocessor.master.classes</name>
  <value>org.apache.hadoop.hbase.security.access.AccessController</value>
</property>
<property>
  <name>hbase.coprocessor.region.classes</name>
  <value>org.apache.hadoop.hbase.security.access.AccessController</value>
</property>
<property>
  <name>hbase.coprocessor.regionserver.classes</name>
  <value>org.apache.hadoop.hbase.security.access.AccessController</value>
</property>

对于Apache HBase 0.94版本,请将以下内容添加到集群中每台服务器计算机上的hbase-site.xml文件中:

<property>
  <name>hbase.rpc.engine</name>
  <value>org.apache.hadoop.hbase.ipc.SecureRpcEngine</value>
</property>
<property>
  <name>hbase.coprocessor.master.classes</name>
  <value>org.apache.hadoop.hbase.security.access.AccessController</value>
</property>
<property>
  <name>hbase.coprocessor.region.classes</name>
  <value>org.apache.hadoop.hbase.security.access.AccessController</value>
</property>

部署这些配置更改时,需要完全关闭并重新启动HBase服务。

简单用户访问操作的客户端配置

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

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

对于Apache HBase 0.94版本,请将以下内容添加到集群中每台服务器计算机上的hbase-site.xml文件中:

<property>
  <name>hbase.rpc.engine</name>
  <value>org.apache.hadoop.hbase.ipc.SecureRpcEngine</value>
</property>

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

简单用户访问操作的客户端配置 - Thrift Gateway

用户将需要访问Thrift网关。例如,要为Thrift API用户提供thrift_server管理访问,你可能需要使用如下的命令:

grant 'thrift_server', 'RWCA'

Thrift网关将使用提供的凭证向HBase进行身份验证。Thrift网关本身不会执行任何身份验证。所有通过Thrift网关访问的客户端都将使用Thrift网关的凭证并拥有其权限。

简单用户访问操作的客户端配置 - REST Gateway

REST网关将使用提供的凭证对HBase进行身份验证。REST网关本身不会执行任何身份验证。所有通过REST网关访问的客户端都将使用REST网关的凭证并拥有其权限。

REST网关用户将需要访问。例如,要为REST API用户提供rest_server管理访问,你可能需要使用如下的命令:

grant 'rest_server', 'RWCA'
REST Gateway模拟配置
安全访问HDFS和ZooKeeper
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

HBase快速入门

HBase批量加载

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }