JAVA安全客户端连接到Hbase_hbaseconfig.set-程序员宅基地

技术标签: java  安全  Hbase  hbase  

Hbase提供多种开发语言的API,通常我们通过JAVA API连接到Hbase只需要在HbaseConfiguration中配置zookeeper的相关信息就可以,配置如下:

HBaseConfiguration hbaseConfig = new HBaseConfiguration();
hbaseConfig.set("hbase.zookeeper.quorum", "master1,master2");
hbaseConfig.set("hbase.zookeeper.property.clientPort", "2181");
hbaseConfig.set("zookeeper.znode.parent","/hbase");
HTable table = new HTable(hbaseConfig,tableName);
Get get = new Get(rowKey.getBytes());
Result r =table.get(get);

但是当Hbase基于kerberos做安全认证以后,再使用上面的配置及方法连接到Hbase就不行了,这使用就要使用到Hadoop的UserGroupInformation类,关于这个类的说明有兴趣的可以找一些相关文档看看,在此就不啰嗦了。那么如何使用JAVA API连接到Hbase呢,处理上面提到的配置hbase.zookeeper.quorum、hbase.zookeeper.property.clientPort、zookeeper.znode.parent这3项外,还需要配置如下信息:

//设置安全验证方式为kerberos
hbaseConfig.set("hadoop.security.authentication","kerberos");
hbaseConfig.set("hbase.security.authentication","kerberos");
//设置hbase master及hbase regionserver的安全标识,这两个值可以在hbase-site.xml中找到
hbaseConfig.set("hbase.master.kerberos.principal", "hbase/[email protected]");
hbaseConfig.set("hbase.regionserver.kerberos.principal","hbase/[email protected]");
//使用设置的用户登陆
UserGroupInformation.setConfiguration(hbaseConfig);
UserGroupInformation.loginUserFromKeytab("username/[email protected]","/usr/username.keytab");
HTable table = new HTable(hbaseConfig,tableName);
Get get = new Get(rowKey.getBytes());
Result r =table.get(get);




其中loginUserFromKeytab方法的两个参数,第一个为KDC注册的用户标识,第二个为KDC生成的注册的用户的密钥文件路径。

OK,现在又可以查询Hbase的数据了。


注意:当使用java安全客户端连接到Hbase时,运行此客户端程序的机器必须有keytab文件,换句话说,这个机器已经注册到KDC了。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qxxiaohui/article/details/44240133

智能推荐

microk8s的registry私有镜像库

【代码】microk8s的registry私有镜像库。

开源项目,毕业设计_本科毕业设计拿别人的开源代码修改-程序员宅基地

文章浏览阅读1.5w次,点赞35次,收藏385次。自己在网上找的开源项目,比较好分享给大家热门开源项目(包含小四轴、智能手环、光立方、智能车、防丢器等项目)号外!号外!(搞四轴,有这套就足够了!)科研级别的小四轴STM32F4芯片支持WIFI且android手机控制自适应控制就是牛掰!该飞机面向有科研和强烈学习意向的小伙伴们使用,如果只是想玩的话你肯定不会喜欢这套四轴的,主要设计思想是提供一个高性能的控制和姿态算法验证平台,因此..._本科毕业设计拿别人的开源代码修改

Java快速开发框架_若依——Ruoyi添加自己的业务模块_ruoyi java17-程序员宅基地

文章浏览阅读1w次,点赞2次,收藏26次。QQ 1274510382Wechat JNZ_aming商业联盟 QQ群538250800技术搞事 QQ群599020441解决方案 QQ群152889761加入我们 QQ群649347320共享学习 QQ群674240731纪年科技aming网络安全 ,深度学习,嵌入式,机器强化,生物智能,生命科学。叮叮叮:产品已上线 —>关注 官方-微信公众号——济南纪年信息科技有限公司民生项目:商城加盟/娱乐交友/创业商圈/外包兼职开发-项目发布/安全项目:态势感.._ruoyi java17

CISCO 交换机配置 Web浏览器的方式-程序员宅基地

文章浏览阅读9k次,点赞2次,收藏3次。 当利用Console口为交换机设置好IP地址信息并启用HTTP服务后,即可通过支持JAVA的Web浏览器访问交换机,并可通过Web通过浏览器修 改交换机的各种参数并对交换机进行管理。事实上,通过Web界面,可以对交换机的许多重要参数进行修改和设置,并可实时查看交换机的运行状态。不过在利用 Web浏览器访问交换机之前,应当确认已经做好以下准备工作:·在用于管理的计算机中安装T..._思科交换机2960s有web配置吗

ERROR - file: tracker_proto.c, line: 48, server: 127.0.0.1:22122, response status 2 != 0-程序员宅基地

文章浏览阅读2.5w次,点赞2次,收藏6次。报错信息: [2018-09-09 20:33:12] ERROR - file: tracker_proto.c, line: 48, server: 127.0.0.1:22122, response status 2 != 0 [2018-09-09 20:33:12] ERROR - file: tracker_proto.c, line: 48, server: 127.0.0.1:..._error - file: tracker_proto.c, line: 48, server: 172.17.0.1:22122, response

使用matplotlib显示图片(《深度学习入门:基于Python的理论与实现》实践笔记)_matplotlib展示图片-程序员宅基地

文章浏览阅读3.9k次。使用matplotlib显示图片(《深度学习入门:基于Python的理论与实现》实践笔记)一、安装matplotlib库二、导入matplotlib.pyplot库和matplotlib.image库里的imread函数三、实例:显示图片一、安装matplotlib库在命令行使用下面的命令即可:pip install matplotlib二、导入matplotlib.pyplot库和matplotlib.image库里的imread函数在程序开头使用:import matplotlib.pyp_matplotlib展示图片

随便推点

Python协程(上)-程序员宅基地

文章浏览阅读52次。几个概念:event_loop 事件循环:程序开启一个无限的循环,程序员会把一些函数注册到事件循环上。当满足事件发生的时候,调用相应的协程函数。coroutine 协程:协程对象,指一个使用async关键字定义的函数,它的调用不会立即执行函数,而是会返回一个协程对象。协程对象需要注册到事件循环,由事件循环调用。task 任务:一个协程对象就是一个原生可以挂起的函数,任务则是对协程进一步封装..._python

linux 磁盘管理

在mm下新建文件,在文件中输入内容,此内容就被写入第一个分区内,同时mm下会生出lost+found目录,当档案系统发生错误时, 将一些遗失的片段放置到这个目录下。把sdb3挂载到mm,创建文件同时写入内容,查看发现只显示f3,之前挂载的sdb1中的f1不见,代表多个分区可以挂载一个挂载点,但只显示最新挂载的分区。特点:针对不同的数据建立不同的分区,同时为不同的分区创建不同的权限。输入swapon /dev/sdb2,并查看虚拟内存组成分区,两块虚拟内存组成,虚拟内存挂载成功。

【华为】华为防火墙双机热备

本篇文章主要是讲华为防火墙双机热备,主要是以CLI界面来配置,双机热备用到了VRRP(网关冗余技术)、VMGP和HRP(华为心跳协议),里面有详细的配置,可以放心食用呀

企业计算机服务器中了helper勒索病毒怎么办?Helper勒索病毒解密处理流程

Helper勒索病毒是近期新升级后的新变种勒索病毒,该勒索病毒非常猖狂,几乎攻击了所有暴露在公网之上的计算机端口,给国内众多企业带来了严重威胁,该勒索病毒能够伪装成系统不便识别的信任软件,通过远程桌面弱口令实施攻击,给企业带来了严重威胁,经过云天数据恢复中心工程师对多家企业中毒的helper勒索病毒解密,为大家整理了以下有关该勒索病毒的相关解密流程步骤。

简单聊聊JavaScript数组作为索引

简单聊聊JavaScrip数组作为索引的情况。

SpringCloud学习笔记1——入门篇_子模块继承之后,提供作用:锁定版-程序员宅基地

文章浏览阅读200次。搭建项目一、准备工作1.使用IDEA创建Maven父工程2.设置ctrl+alt+s打开设置①配置字符集编码②配置注解生效激活③配置Java编译版本④文件类型过滤(可选)3.修改项目①删除src目录,使项目只保留pom.xml删除前删除后②修改pom文件先添加如下内容<packaging>pom</packaging>如图然后将之后的内容使用如下内容替换<!--统一管理jar包版本--> <propert_子模块继承之后,提供作用:锁定版