如何在 EMR 集群引导上设置 livy.server.session.timeout?

Posted

技术标签:

【中文标题】如何在 EMR 集群引导上设置 livy.server.session.timeout?【英文标题】:how to set livy.server.session.timeout on EMR cluster boostrap? 【发布时间】:2019-01-16 15:30:30 【问题描述】:

我正在创建一个 EMR 集群,并使用 jupyter notebook 运行一些 spark 任务。 我的任务在执行大约 1 小时后终止,错误是:

An error was encountered:
Invalid status code '400' from https://xxx.xx.x.xxx:18888/sessions/0/statements/20 with error payload: "requirement failed: Session isn't active."

我的理解是它与 Livy config livy.server.session.timeout 有关,但我不知道如何在集群的引导程序中设置它(我需要在引导程序中进行设置,因为集群是使用没有 ssh 访问)

提前非常感谢

【问题讨论】:

【参考方案1】:

在 EMR 上,livy-conf 是 livy 的 livy.conf 文件的属性分类,因此在创建 EMR 集群时,选择 advanced options 并选择 Livy 作为要安装的应用程序,请在 @ 中传递此 EMR 配置987654325@字段。

['classification': 'livy-conf','Properties': 'livy.server.session.timeout':'5h']
在 EMR 上,Livy 二进制文件位于 /etc/livy/,因此配置文件位于 /etc/livy/conf/livy.conf

为了验证这一点,

使用已知的ec2 key-pair、Livy 及以上配置创建 EMR 集群 使用ec2 key-pair,登录到与集群ssh -i some-ec2-key-pair.pem hadoop@ec2-00-00-00-0.ca-region-n.compute.amazonaws.com关联的EC2 Master节点 导航到/etc/livy/conf,vim livy.conf & 查看livy.server.session.timeout 的更新值

【讨论】:

用“分类”替换“分类”。 我们如何更改 livy-client.conf 中的 livy.rsc.launcher.port.range 属性?无法这样做,分类“livy-client”或“livy-client-conf”不起作用。 嗨@Naveen,您可以将此链接添加到您的答案aws.amazon.com/premiumsupport/knowledge-center/…【参考方案2】:

如果您根本不希望 Livy 会话停止,请在 /etc/livy/conf/livy.conf 中将属性 livy.server.session.timeout-check 设置为 false

【讨论】:

对我的集群使用 AWS 控制台 EMR 页面,我可以使用 livy-conflivy.server.session.timeout-checkfalse 编辑表并为所有实例组添加配置。之后主控和核心进入“重新配置”模式。 @Merlin,我的 Master 和 Core 进入了“重新配置”状态一段时间,然后 Master 变成了“Suspended”,Core 变成了“Running”。有一条警告说“主实例组:配置恢复失败,逮捕实例组”。这就是你的遭遇吗?【参考方案3】:

如果您不想重新创建集群,另一种方法是: 转到/etc/livy/conf/livy.conf 并将livy.server.session.timeout 属性设置为您想要的值。 之后,运行sudo restart livy-server 使配置生效。

【讨论】:

该命令对重启不起作用。最好使用这个:sudo systemctl restart livy-server 超时时间单位是多少?秒?

以上是关于如何在 EMR 集群引导上设置 livy.server.session.timeout?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Amazon EMR 上引导安装 Python 模块?

Amazon EMR - 从设备上的 Yum 更新引导操作失败

无法在正在运行的 EMR 上执行步骤

AWS EMR 集群在自定义引导时终止

如何在 EMR 上使用 MrJob 0.4.2 设置 IAM 角色

如何设置 Zeppelin 以使用远程 EMR Yarn 集群