如何在 Hadoop mapReduce 中获取 Kerberos 而不是委托令牌?

2023-12-25

我是一名 Java 用户,当向 Hadoop mapReduce 提交作业时,它使用 Kerberos 对 Hadoop 进行身份验证,成功后会创建委派令牌,并将其与作业提交一起传递给 Hadoop,而不是 kerberos 票证(出于安全原因,如上所述)由 Hadoop 提供)。现在作业正在像我一样运行,但作业本身需要使用 Kerberos 向 Hadoop 外部的其他服务发送请求。现在我在 Hadoop 上没有 kerberos TGT,无法获取服务票证。

我是否可以通过该工作传递 Kerberos 票证? (我知道这可能很危险,因为我们不想传递秘密),JobConf 可以将字符串到字符串对传递到 Hadoop,但我必须将 TGT 转换为 json 字符串并在作业运行期间恢复它?

或者是否可以使用委托代币改革TGT?

我尝试用谷歌搜索,但没有太多信息,有人可以帮忙吗?谢谢。

**编辑:**


请参阅设计http://carfield.com.hk:8080/document/distributed/hadoop-security-design.pdf http://carfield.com.hk:8080/document/distributed/hadoop-security-design.pdf,如果您还没有这样做的话。

或者是否可以使用委托代币改革TGT? 不,委托令牌由 Hadoop 名称节点颁发,虽然它基于 Kerberos 身份验证,但它是独立的,您无法从中派生 Kerberos TGT。

在最初的设计中,我们考虑仅使用 Kerberos(没有任何额外的令牌),这将使您的计划变得简单,但由于以下原因决定不这样做:

表现:

  • 数千个 M/R 任务可能需要在以下位置获取 Kerberos 票证: 同时
  • Kerberos 凭据需要在到期前更新 对于预定的作业,这将是一个问题
  • 委派令牌不依赖于 Kerberos,并且可以与边缘使用的非 Kerberos 身份验证机制(例如 SSL)结合使用。

在您的情况下,您可以使用私有分布式缓存并发送可转发的 TGT。我认为这没问题,但需要再考虑一下。显然,您需要确保您的实施是安全的,您的票证具有最低限度的必要生命周期,如果可能,请使用 IP 通道绑定,并将票证仅用于授权进程。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Hadoop mapReduce 中获取 Kerberos 而不是委托令牌? 的相关文章

随机推荐

  • 从python查找Windows上程序的安装目录

    python 程序需要找到 openoffice org 的安装位置 该软件安装在 Windows XP 计算机上 做这个的最好方式是什么 您可以使用 winregWindows 上的模块 首先找到注册表中的路径 例如启动regedit e
  • Docker Compose 主机名命令不起作用

    我无法获取 Docker Composehostname https docs docker com compose compose file domainname hostname ipc mac address privileged r
  • Android 中的错误 -- 无法找到以下项的检测信息:ComponentInfo

    例如 我有一个应用程序将调用联系人并且必须选择其中一个联系人 但它并没有完全按照我想要的方式做 它向我显示错误Unable to find instrumentation info for ComponentInfo com sample
  • QSplitter 在 QWidget 和 QTabWidget 之间变得无法区分

    我将 QWidget 和 QTabWidget 放在一个水平拆分器中并排放置 并且分离器失去了形状 只有将鼠标悬停在分离器上才能知道有分离器 如何让它可见 Thanks 由于 QSplitterHandle 大多数人认为是 分割器 是从 Q
  • VS 2010 Tools 的 gacutil.exe 在哪里安装程序集?

    我使用 Visual Studio 2010 命令提示符的 gacutil exe 来安装程序集 我希望将程序集添加到C WINDOWS assemblies 但它被添加到C WINDOWS Microsoft NET assembly G
  • 如何在 IntelliJ 中运行同一个应用程序两次?

    我正在使用 IntelliJ 开发我的客户端 服务器应用程序 并且刚刚发现了Compounds 基本上我可以同时运行我的客户端和服务器 并且每次我想测试时它都可以节省我无用的操作 但是 我想用 2 个客户端和 1 个服务器来测试我的应用程序
  • Java 2D:将点 P 移动到靠近另一个点一定距离?

    将 Point2D Double x 距离移近另一个 Point2D Double 的最佳方法是什么 编辑 尝试编辑 但因维护而停机 不 这不是作业 我需要将飞机 A 移向跑道末端 C 并将其指向正确的方向 角度 a 替代文本http im
  • 兑换 + 点击一次 = :-(

    我有一个普通的 Windows 窗体程序 不是 VSTO 它使用单击一次进行部署 问题是 很多用户都遇到随机错误的问题 通常会指出 由于以下错误 IClassFactory 失败 80004005 我通过将模式更改为 隔离 来部署救赎 这似
  • 以百分比形式给出省略号

    我正在尝试省略span里面的元素td元素 问题是省略号有效当且仅当我给出span元素具有固定宽度 即宽度 以像素为单位 但在我的项目中 我不能使用固定宽度span元素 这span元素必须完全拉伸到各自的内部td可以通过使用的元素width
  • Unix - 在 shell 脚本中排序

    如何根据字段位置对文件进行排序 例如 我需要对下面给定的文件进行排序 基于第 4 5 和 8 名位置 请帮忙 我尝试了以下命令 它不起作用 sort d k 3 42 44 k 4 47 57 k 5 59 70 k 8 73 82 010
  • 如何从外部功能镜头转向功能镜头

    在我开始更好地使用函数式编程的过程中 在 SO 家族成员的帮助下 我发现了什么lens https bartoszmilewski com category lens 我什至通过下面的链接对其进行了一些研究 以了解有关它们的更多信息 htt
  • 如何与剧作家一起下载?

    我正在尝试使用以下命令从网站下载文件剧作家 https github com microsoft playwright 触发下载的按钮做了一些js 然后开始下载 使用单击按钮 click函数触发下载但显示错误 失败 下载错误 我尝试过使用
  • 我可以在 Mono CSharpRepl 中重新加载程序集吗?

    因此 我有 Python 背景 现在开始在 Mac 上使用 C 和 Mono 我最近才发现Mono CSharpRepl 工具 http www mono project com CsharpRepl并希望使用它来实现与 Python 中类
  • Java中的互斥方法执行

    我有两种方法 a and b 虽然我可以接受多个线程同时访问任何方法 这是可取的 但我不希望任何线程进入a while b 正在被执行 我怎么做 Edit 1 假设有 4 个线程Thread 1正在访问A 我想要的是所有 4 个线程都不应该
  • Angular REST API 安全性

    当我使用 Angular 消费 REST API 请求时 我的应用程序出现问题 Web 服务 URL 存储在 Angular 服务或控制器 js 文件中 因此 如果我有登录网络服务来检查用户名和密码 例如 最终用户或开发人员可以获取此网址并
  • 测试未通过:未定义方法“验证!”对于 nil:NilClass?

    我有以下失败 Failures 1 RelationshipsController creating a relationship with Ajax should increment the Relationship count Fail
  • 页面重新加载后记住 jQuery 选项卡位置

    我有一个包含一些 GridView 的页面 我使用选项卡菜单将它们保存在选项卡中 有四个选项卡 我的问题是 当页面重新加载时 选项卡会重置为第一个选项卡 HTML div class tabbed box nbsp nbsp div cla
  • 嵌入 hsql 的一些有趣的事情

    我只是对某些事情感到好奇 我在我的项目中使用 hsql 当然是嵌入式的 有时我觉得需要可视化 hibernate 生成的内容 我拿了一份 dbvisualizer 的免费副本 这是 hsqljdbc properties jdbc url
  • 如何为 postgres 编写 DELETE CASCADE?

    我正在为 postgres 手动构建 DELETE CASCADE 语句 我有一个 交易 和一个 切片 表 相关关系如下所示 Table public slice Column Type Modifiers id text not null
  • 如何在 Hadoop mapReduce 中获取 Kerberos 而不是委托令牌?

    我是一名 Java 用户 当向 Hadoop mapReduce 提交作业时 它使用 Kerberos 对 Hadoop 进行身份验证 成功后会创建委派令牌 并将其与作业提交一起传递给 Hadoop 而不是 kerberos 票证 出于安全