【问题标题】:About Livy session for Jupyterhub on AWS EMR Spark关于 AWS EMR Spark 上 Jupyterhub 的 Livy 会话
【发布时间】:2019-05-23 17:07:24
【问题描述】:

我的客户在安装在 AWS EMR 上的 Jupyterhub 上配置了一个 AD 连接器,这样不同的用户将通过 AD 在 jupyterhub 上进行身份验证。目前的理解是,当不同的用户通过 Jupyterhub 上的 Jupyter notebook 提交自己的 spark 作业到共享底层 EMR spark 引擎时,spark 作业会通过 Livy 提交到 spark 引擎。每个 Livy 会话都会有一个相关的 spark 会话映射到它(这是我目前的理解,如果我错了,请纠正我)

问题是不同的 Jupyterhub 用户是共享 相同 Livy 会话(然后是不同 spark 会话)还是不同的 Livy 会话(然后是不同的 spark 会话)?

我能找到的唯一有限的材料是:

https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-jupyterhub.html

see this arch pic here

提前非常感谢!

【问题讨论】:

标签: apache-spark amazon-emr


【解决方案1】:

据我所知(在 HDP 发行版上测试)默认情况下,Livy 服务器将为每个用户创建不同的 Spark 驱动程序和不同的会话。服务器可通过 kerberized HTTP 接口访问,因此用户必须携带有效票证,并且相应的会话将以他的名义运行。这似乎是要走的路,因为在这种情况下,用户将有权访问他自己的资源(数据、YARN 队列等)。在这种情况下,livy 服务器模拟用户,它像用户一样运行 Spark 作业(请参阅Granting Livy the Ability to Impersonate

通过查看doc,我发现您可以使用与 EMR 中的 Livy 服务器完全相同的方式进行配置。

默认情况下,以这种方式提交的 YARN 作业以用户 livy 的身份运行,而与启动作业的用户无关。通过设置用户模拟,您可以让笔记本用户的用户 ID 也成为与 YARN 作业关联的用户。 不是将由 shirley 和 diego 发起的作业与用户 livy 关联,而是将每个用户发起的作业分别与 shirley 和 diego 相关联。这有助于您审核 Jupyter 的使用情况并管理组织内的应用程序。

因此,您可以选择使用模拟(作为不同的用户运行)或不使用模拟(作为单个 livy 用户运行)。

【讨论】:

  • Romain,只是想在这里再次确认一下:通过您上面提到的用户模拟方式,每个用户将有一个单独的 Livy 会话,然后为他单独的 Spark 会话(一个 Livy 会话映射到一次火花会议),正确的理解?
  • @KevinZhu 没错,如果激活了模拟,Livy 服务器将负责为每个用户会话使用用户身份创建 Spark 会话。
猜你喜欢
  • 2019-09-12
  • 2021-08-06
  • 1970-01-01
  • 2015-10-06
  • 1970-01-01
  • 2018-07-07
  • 2018-04-26
  • 1970-01-01
  • 2016-06-07
相关资源
最近更新 更多