HBase Kerberos代币是否会过期

技术标签: apache spark  HBase  kerberos

我都有一个火花流应用程序,对于每批,我都需要将其插入受Kerberos保护的HBase。我找到了一个解决方案,即在驱动程序端,我创建了一个连接并从该符号获得令牌,然后将其传递给执行者。在执行者方面,我将其解码并获取令牌,这样我就可以成功地将数据插入到HBase。这似乎很好,但我担心的是代币会过期吗?如果是这样,请如何解决?

我的代码片段是

val ugi=UserGroupInformation.loginUserFromKeytabAndReturnUGI(principle,keytabfile);
ugi.doAs(new PrivilegedAction[Unit]() {
  def run(): Unit = {
    conn = ConnectionFactory.createConnection(conf)
    val token = TokenUtil.obtainToken(conn)
    tokenStr = token.encodeToUrlString()
  }
})

在rdd.foreachpartition中

val token = new Token()
token.decodeFromUrlString(tokenStr)
UserGroupInformation.getCurrentUser.addToken(token)

尽管我已经从Internet上搜索了很多有关此问题的信息,但是我没有找到有关此问题的好解决方案。这个问题的共同答案是

UserGroupInformation.getLoginUser().checkTGTAndReloginFromKeytab();

但是作为我的测试,在此方法中,

public synchronized void checkTGTAndReloginFromKeytab() throws IOException {
if (!isSecurityEnabled()
    || user.getAuthenticationMethod() != AuthenticationMethod.KERBEROS
    || !isKeytab)
  return;
KerberosTicket tgt = getTGT();
if (tgt != null && Time.now() < getRefreshTime(tgt)) {
  return;
}
reloginFromKeytab();

}

iskeytab 总是错误的,因此它永远不会执行以下代码,我不明白为什么返回false。所以有人可以帮助我解决这个问题吗?任何帮助都将受到赞赏!

看答案

它是由Java版本引起的。如果您想在JDK 1.7.0_85或更高版本上运行安全的Hadoop群集,则必须运行Apache Hadoop 2.7.0或更高版本。

查看这个Jira问题 Hadoop-10786


智能推荐

Hbase

Hbase(hadoop database) 1.特点 费关系型数据库 适合存放半结构化或者非结构化的数据 高效 扩展 面向列 2.数据结构 传统型关系数据库 行的主键 列 HBase RowKey 行的唯一主键 默认按照字典序排序 设置Rowkey的时候,注意当前数据特点进行设置 Column Family 列族 属于列的一个集合 属于列的时候必须列族:列 列族最好在声明的时候提前给出 列族的数...

HBase

HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。H...

Hbase

一、数据模型 Hbase即数据库,不过它不同于关系型数据库。 HBase 以表的形式存储数据,可以通过Row、Column、Version确定一个Cell,相关属性如下: Row Key(行键),相当于关系型数据库中的主键,具有唯一性 Column Family(列族),创建表时定义 Column(列),包含在某个列族中 时间戳,可以在添加数据时指定也可以让系统赋值,类型为64为整型。每个Cell...

HBASE

一。概念 HBASE是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBASE技术可在廉价PC Server上搭建起大规模结构化存储集群。数据以二进制byte数组存储。 二。数据模型(Row key,Columns family,Cell,Time Stamp) 三。常用命令 名称 命令表达式 创建表 create '表名', '列族名1','列族名2','列族名N' 查看所有表 li...

Hbase

应用:     海量数据存储(上百亿行,上百亿列)     准实时查询 在实际业务场景的应用:     交通 ,金融,电商,移动 特点:     单表可以有百亿行,百万列,数据矩阵横向和纵向两个维度所支持的数据量级都非常有弹性      HBase是面向列存储和权限控制,并支持独立检索。列...

猜你喜欢

HBase

一、概述 HBase是Apache提供的一套分布式的、可扩展的非关系型数据库 HBase能存储billions of rows X millions of columns HBase是Doug仿照Google的Big Table来设计实现的 HBase是NOSQL(Not only SQL)数据库,HBase不支持SQL HBase中,数据是采取了列级别的方式来存储,并且数据在存储的时候是以键值对...

Hbase

Hbase(hadoop database) 1.特点 费关系型数据库 适合存放半结构化或者非结构化的数据 高效 扩展 面向列 2.数据结构 传统型关系数据库 行的主键 列 HBase RowKey 行的唯一主键 默认按照字典序排序 设置Rowkey的时候,注意当前数据特点进行设置 Column Family 列族 属于列的一个集合 属于列的时候必须列族:列 列族最好在声明的时候提前给出 列族的数...

hbase

1.定义与结构 同类型的列分为列族,存在不同的文件中,且可以动态增加。 Row key:行键,有序,按位比较的,只要唯一就行了,如果不唯一就是覆盖。 Region是横向切片,按照数据量划分到不同的文件夹。 宽表:列多 高表:行多 store:真正存在hdfs里边 列名等元数据信息存在内存中 2.物理存储 上面中t4是修改覆盖了t3的数据,取数据返回时取时间戳最大的t4 TimeStamp字段一定要...

网线接法

摄像头的8种颜色:橙、黄、绿、紫、灰、蓝、棕、白 分别对应双绞线的8种颜色:橙白、橙、绿白、蓝、蓝白、绿、棕白、棕 简化一点用网线的568B顺序分别对接就是:橙白(接橙色)、橙(接黄色)、绿白(接绿色)、蓝(接紫色)、蓝白(接灰色)、绿(接蓝色)、棕白(接棕色)、棕(接白色) 568A标准:绿白,绿,橙白,蓝,蓝白,橙,棕白,棕 橙绿蓝棕 排列好,先4-6交叉,再1-3、2-6 RJ-4...

SpringBoot打包成war包,部署到Tomcat并添加项目路径后,导致静态资源路径失效

静态资源访问失效,是应为其地址无法自动添加项目路径 以下model.html 以下index.html 以下index_1.html 以下controller.java 结果...

问答精选

Suppress default handling of Ctrl+O in Internet Explorer

I'm trying to suppress IE's default handling of Ctrl+O. I've got a onKeyDown handler which get's called, but even though I call event.cancelBubble and return false, the default File|Open command still...

Oracle SQL function problems

Recently i've picked up Oracle SQL, Right now i'm trying to write a function that later will be used in a view to generate a list. but for now im stuck on the function itself... The function makes use...

HTML : How to merge rowspan if have a looping?

I have a problem regarding of creating table. I want to do this: But I got this: I have tried everything and I'm realize that I have problem with the looping. I've tried to put @endforeach before <...

Which WPF Brush to use and how to create it

I have a WPF 3D application (C# .NET 4.0) that has a lot of 3D geometries. Now I need to color these geometries by applying a texture. The source for the texture is one large .PNG file like the follow...

CakePHP XAMPP Internet Explorer losing Session after 10 seconds

after filling the inputs in the view and clicking the submit button, the records gets saved just fine if I use Firefox. The same goes for IE if I'm quick enough. But when I wait 10 seconds, the POST d...

相关问题

相关文章

热门文章

推荐文章

相关标签

推荐问答