apache-spark - 如何确定 Apache Livy 的“允许的最大活动会话数”?
问题描述
比方说,我想继续为提交给 YARN 的每个 Spark 作业创建一个会话。每个连接都有一个唯一的用户,他不断地轮询状态并将语句发布到会话。在任何给定时间,我如何计算 Livy 可以拥有多少活动会话?它是基于我配置的 livy.spark.driver 大小吗?此计算中涉及的所有其他参数是什么?
解决方案
yarn 有一个调度程序来利用 AM 容器,并且 livy 将使用集群/独立服务器上的可用资源初始化 yarn 上接受的请求。请参阅yarn-scheduler livy-client.conf 应配置为处理长时间运行的作业以产生响应。
livy-client.conf
取消作业的状态检查之间的时间
livy.rsc.job-cancel.trigger-interval = 100ms
取消的 Job 强制进入 Canceled 状态之前的时间
livy.rsc.job-cancel.timeout = 60m
这是您应该过滤状态的示例代码:输出中的繁忙会话。
import requests
host = "{livy_host}:8998"
sessions = requests.get(host + '/sessions/')
输出 b'{"from":0,"total":1,"sessions":[{"id":3,"appId":"application_1566223151385_0085","owner":null,"proxyUser":null,"state ":"busy","kind":"pyspark","appInfo":{"driverLogUrl":"{livy_host}:8042/node/containerlogs/container_e182_1566223151385_0085_01_000001/mapr","sparkUiUrl":"{livy_host}:8088/代理/应用程序_1566223151385_0085/"},"log":[""]}]}'
sum(session['state'] == 'busy' for session in sessions.json()['sessions'])
推荐阅读
- firebase - 对于 Firebase 应用程序出现错误:OAuth2 客户端已存在此包名称和另一个项目中的 SHA-1
- css - 我怎样才能为图片制作滑块
- apache - 有没有办法在 apache 日志中获取内容长度(响应头)?
- c++ - std::forward 和有什么区别
() 和 std::move 完美转发右值引用时? - python - 如何在标签上显示sql中的数据!(Python、Sql、tkinter)
- javascript - 用javascript创建一个新数组
- nuxt.js - Vue-Howler (Howler.js) 和移动浏览器锁屏控件
- python - 替换 2d numpy 数组中的一行
- python - 无法将令牌写入缓存:.cache
- python - 将 txt 文件从 Google Drive 导入到 Google Collab 时出错