(二)Hbase_接口验证Restful(postman)

Hbase的访问方式包括:
​   Ø Native Java API:最常规和高效的访问方式;
​   Ø HBase Shell:HBase的命令行工具,最简单的接口,适合HBase管理使用;
​   Ø Thrift Gateway:利用Thrift序列化技术,支持C++,PHP,Python等多种语言,适合其他异构系统在线访问HBase表数据;
​   Ø REST Gateway:支持REST 风格的Http API访问HBase, 解除了语言限制;
​   Ø MapReduce:直接使用MapReduce作业处理Hbase数据;
​   Ø 使用Pig/hive处理Hbase数据。

1.rest API访问操作流程

首先,启动rest API服务

7891为端口号,可以自定义

->hbase-daemon.sh start rest -p 7891
->jps //查看服务是否启动

#如果出现下面的的服务,表示启动成功

12830 RESTServer 

浏览器验证:

hadoop-standalone:7891 (前提是要创建好数据表) // 主机名+端口,局域网:IP+端口

显示数据表,则表示rest接口测试正确

访问 http://192.168.1.5:7891/version/cluster 地址,查看版本信息

访问 http://192.168.1.5:7891/status/cluster 地址,查看状态

http://192.168.1.5:7891/studentinfo/stu对表中记录检索方式:查询指定rowkey下的指定列族的数据GET请求

向表添加列族与列:PUT请求

更多hbase的rest api请查看官网 http://wiki.apache.org/hadoop/Hbase/HbaseRest

局域网内Postman测试

1.获取数据表

在这里插入图片描述

2.创建数据表
在这里插入图片描述

3.获取数据表student的数据

在这里插入图片描述

*注:接口过多这里就不一一列举了,详细接口查询与使用,请查看*

https://blog.csdn.net/supperman_009/article/details/64440290?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-10.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-10.nonecase

Rest请求参数方式也可以是Json:

//举例:创建表
#json格式为:

{
    "ColumnSchema":[
        {
            "name":"family1",
            "KEEP_DELETED_CELLS":"TRUE",
            "VERSION":"3"
        }
    ]
}

URL:http://192.168.2.97:7891/users/schema headers:
Accept:application/json
Content-Type:application/json

*详细接口json格式请查看:https://blog.csdn.net/xuwukui/article/details/60872187

Rest访问安全配置(待验证)

用于安全操作的客户端配置 - REST网关

将以下内容添加到每个REST网关的hbase-site.xml文件:

 <property>
       <name> hbase.rest.keytab.file </ name>
    <value> $ KEYTAB </ value>
   </ property>
   <property>
    <name> hbase.rest.kerberos.principal </name>
    <value> $USER/_HOST@HADOOP.LOCALDOMAIN </value>
   </ property>

分别替换$ USER和$ KEYTAB的相应凭据和密钥表。

REST网关将使用提供的凭据与HBase进行身份验证。 REST网关本身将不执行身份验证。 通过REST网关的所有客户端访问将使用REST网关的凭据并具有其权限。

客户端应该可以通过SPEGNO HTTP身份验证通过REST网关以直通方式向HBase集群进行身份验证。 这是未来的工作。

SPEGNO HTTP身份验证加固后

在Web / REST接口中标识和认证请求客户端


```java
private static UserGroupInformation getUser(HttpServletRequest req) {  
  String remoteUser = req.getRemoteUser();  
  UserGroupInformation callerUGI = null;  
  if (remoteUser != null)   
  {    
    callerUGI = UserGroupInformation.createRemoteUser(remoteUser);  
  }  
  return callerUGI;
}

这可以用于处理事件

> @PUT@Path("/jobs/{jobid}/tasks/{taskid}/attempts/{attemptid}/state")@Produces({
> MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })@Consumes({
> MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })public
> Response updateJobTaskAttemptState(JobTaskAttemptState targetState, 
> @Context HttpServletRequest request, @PathParam("jobid"))    throws
> IOException, InterruptedException { init(); UserGroupInformation
> callerUGI = getUser(request); // if the UGI is null, no remote user.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值