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

bil*_*ill 3 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."
Run Code Online (Sandbox Code Playgroud)

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

提前谢谢

Nav*_*tha 7

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

[{'classification': 'livy-conf','Properties': {'livy.server.session.timeout':'5h'}}]
Run Code Online (Sandbox Code Playgroud)
  • 在EMR上,Livy二进制文件位于/etc/livy/,因此配置文件位于/etc/livy/conf/livy.conf

为了验证这一点,

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

  • 将“分类”替换为“分类”。 (3认同)

小智 6

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