用Java访问带有Kerberos认证的HBase
程序代码实例如下:package com.hbasedemo;import java.io.IOException;import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.KeyValue; import org.apache.hadoop.hbase.client.HTable; import org.apache.hadoop.hbase.client.Result; import org.apache.hadoop.hbase.client.ResultScanner; import org.apache.hadoop.hbase.client.Scan; import org.apache.hadoop.security.UserGroupInformation;public class Test {private static Configuration conf = null;static {// 这个配置文件主要是记录 kerberos的相关配置信息,例如KDC是哪个IP?默认的realm是哪个?// 如果没有这个配置文件这边认证的时候肯定不知道KDC的路径喽// 这个文件也是从远程服务器上copy下来的System. setProperty("java.security.krb5.conf", "C:/Users/dongzeguang/Downloads/krb5.conf" );conf = HBaseConfiguration.create();conf.set("hadoop.security.authentication" , "Kerberos" );// 这个hbase.keytab也是从远程服务器上copy下来的, 里面存储的是密码相关信息// 这样我们就不需要交互式输入密码了conf.set("keytab.file" , "C:/Users/Downloads/hbase.keytab" );// 这个可以理解成用户名信息,也就是Principalconf.set("kerberos.principal" , "hbase/1722.myip.domain@HADOOP.COM" ); UserGroupInformation. setConfiguration(conf);try {UserGroupInformation. loginUserFromKeytab("hbase/1722.myip.domain@HADOOP.COM", "C:/Users/Downloads/hbase.keytab" );} catch (IOException e) {// TODO Auto-generated catch block e.printStackTrace();}}public static void scanSpan(final String tableName) throws Exception {HTable table = new HTable(conf, tableName);System. out.println("tablename:" +new String(table.getTableName()));Scan s = new Scan();ResultScanner rs = table.getScanner(s);for (Result r : rs) {System. out.println(r.toString());KeyValue[] kv = r. raw();for (int i = 0; i < kv.length; i++) {System. out.print(new String(kv[i].getRow()) + "");System. out.print(new String(kv[i].getFamily()) + ":");System. out.print(new String(kv[i].getQualifier() ) + "" );System. out.print(kv[i].getTimestamp() + "" );System. out.println(new String(kv[i].getValue() ));}}}/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubtry {Test. scanSpan("h_span");} catch (Exception e) {// TODO Auto-generated catch block e.printStackTrace();}}}
转载于:https://www.cnblogs.com/felixzh/p/11586865.html
用Java访问带有Kerberos认证的HBase相关推荐
- Java API连接Kerberos认证的HBASE
网上关于 Java 代码连接启用了Kerberos认证的HBASE资料很多,但是总感觉不够准确,总是出现各种问题.经过整合网上资料和亲自试验,得出连接成功的最小配置项如下: java.security ...
- hadoop java client_hadoop3 Java client客户端kerberos认证
hadoop集群升级hadoop3,并需要Kerberos认证,hadoop3代码包做了合并,引用jar包如下: org.apache.hadoop hadoop-hdfs 3.1.1 org.apa ...
- 连接端口 配置hive_Zeppelin带有Kerberos认证的Hive解释器的配置
2.zeppelin连接Hive安装配置 zeppelin 版本0.8.2 ,hive版本:3.0.0 2.1.安装启动hive3 略 2.1.配置hiveserver2 如果需要配置zeppelin ...
- 使用Spark/Java读取已开启Kerberos认证的HBase
1.赋予drguo用户相应的权限 2.KDC中创建drguo用户并导出相应的keytab文件 [root@bigdata28 ~]# kadmin.local Authenticating as p ...
- 【kafka】kafka 消费 带有 kerberos认证的服务器
文章目录 1.概述 2.配置 3.测试 3.1 测试1 3.2 配置 1.概述 公司整了一个新的环境,然后我要进行适配,结果发现对方有认证,无法直接使用,使用控制台生产和消费的时候报错. 我们下面写一 ...
- 构建基于docker的airflow并访问有kerberos认证的cdh集群
目录 基于docker的airflow的构建 主要记录排错手段和几个巨坑: 调度 && 失败告警(邮件 && 微信) 基于docker的airflow的构建 基于doc ...
- Kafka 认证三:添加 Kerberos 认证详细流程
背景 上一章节介绍了 Kerberos 服务端和客户端的部署过程,本章节继续介绍 Kafka 添加 Kerberos 认证的部署流程,及 Java API 操作的注意事项. sasl.kerberos ...
- Java代码使用Spark on Yarn 方式提交任务到带Kerberos认证的Hadoop集群
2019独角兽企业重金招聘Python工程师标准>>> 项目中遇到Spark Yarn方式提交到Hadoop集群,访问集群HDFS时发现使用的当前用户,没有访问权限,经过排查后发现H ...
- Java应用/JDBC/Squirrel在Kerberos认证时报Unable to obtain Principal Name for authentication的解决方法
关于如何在Windows本地安装配置Kerberos客户端,以及进行相关的配置,网上有很多现成的文档可以参考,其中: https://841809077.github.io/2018/12/19/Wi ...
最新文章
- Digital Image Processing 学习笔记3
- Dataset:Big Mart Sales数据集的简介、下载、案例应用之详细攻略
- graphpad两组t检验_独立双样本检验(假设检验)
- mysql 5.5 双机热备_mysql 5.5双机热备份 master-master
- docker privileged作用_docker容器性能监控cAdvisor+influxDB+grafana监控系统安装部署
- 系统集成项目管理工程师10大管理47个过程域输入输出工具(项目成本管理)
- uniapp安卓app里拦截webview下载apk,显示下载进度
- Linux学习笔记-exec族函数,system函数,popen函数的用法
- 阿里云CDN介绍以及如何配合OSS使用
- 如何用牛顿迭代法求平方根
- 图像颜色空间转换--RGB to Lαβ
- 采样 -- 基本概念
- Linux内核编译出错
- Kotlin Mvp 协程 Retrofit整合
- 通过tasker上传手机电量到domoticz中,电量过低时,自动充电
- java乱码问题解决总结
- 事件循环EventLoop机制
- python 3d库_深入了解python的3D高级库pyvista
- tomcat+nginx
- 电商-- 京东和亚马逊,哪个更胜一筹?