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

时间:2019-01-16 15:30:31

标签: configuration amazon-emr livy

我正在创建一个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配置livy.server.session.timeout有关,但是我不知道如何在集群的引导程序中进行设置(我需要在引导程序中进行设置,因为集群是创建时没有ssh访问权限)

非常感谢

3 个答案:

答案 0 :(得分:4)

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

[{'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主节点
  • 导航到/etc/livy/conf,vim livy.conf并查看livy.server.session.timeout的更新值

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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