前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在hbase 激活kerberos 下opentsdb的使用

在hbase 激活kerberos 下opentsdb的使用

作者头像
stys35
发布2019-03-05 16:26:56
1.2K0
发布2019-03-05 16:26:56
举报
文章被收录于专栏:工作笔记精华工作笔记精华

最近公司大数据集群统一升级了 kerberos,那原先 的opentsdb就不能使用了,需要使用keytab方式登陆验证。

在百度找了好久没找到解决方案,还是组里勇哥看opentsdb源码才发现opentsdb怎么验证keytab.

下面是具体代码片断:

未使用kerberos 时候,直接使用下面的旧代码:

代码语言:javascript
复制
HBaseClient hbaseClient = new HBaseClient(zookeeper);

激活了kerberos需要:
代码语言:javascript
复制
System.setProperty("java.security.auth.login.config", "D:/kbs/ksm_jaas.conf");
System.setProperty("zookeeper.sasl.client",  "false");
//下面行只在本地打开
 System.setProperty("java.security.krb5.conf",  "D:/kbs/krb5.conf");

 org.hbase.async.Config asyncConfig = new org.hbase.async.Config();
 asyncConfig.overrideConfig("hbase.zookeeper.quorum", zookeeper);
 asyncConfig.overrideConfig("hbase.security.auth.enable", "true");
 asyncConfig.overrideConfig("hbase.security.authentication", "kerberos");
 asyncConfig.overrideConfig("hbase.sasl.clientconfig", "Client");
 asyncConfig.overrideConfig("hbase.kerberos.regionserver.principal", "hbase/_HOST@HTSEC.COM");
 HBaseClient   hbaseClient = new HBaseClient(asyncConfig);
 //认证
 KerberosClientAuthProvider   authProvider = new KerberosClientAuthProvider(hbaseClient);

需要注意的是maven jar包,低版本的opentsdb的确不支持kerberos
代码语言:javascript
复制
<dependency>
    <groupId>net.opentsdb</groupId>
    <artifactId>opentsdb</artifactId>
    <version>2.3.0-RC1</version>
</dependency>
代码语言:javascript
复制
<dependency>
    <groupId>org.hbase</groupId>
    <artifactId>asynchbase</artifactId>
    <version>1.7.2</version>
</dependency>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档