问题标签 [livy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
apache-spark - Configure external jars with HDI Jupyter Spark (Scala) notebook
I have an external custom jar that I would like to use with Azure HDInsight Jupyter notebooks; the Jupyter notebooks in HDI use Spark Magic and Livy.
Within the first cell of the notebook, I'm trying to use the jars
configuration:
But the error message I receive is:
I'm wondering if I'm just not understanding how Livy works in this case as I was able to successfully include a spark-package (GraphFrames) on the same cluster:
Some additional references that may be handy (just in case I missed something):
apache-spark - spark.executor.cores 在使用 livy 时无法生效
我正在使用 livy-server-0.2 运行 spark 作业,但是,我无法更改 spark.executor.cores 的默认设置,它无法生效,而其他设置可以。
它总是使用 1 个核心来启动一个执行器。
这是我在 $SPARK_HOME/conf 中的 spark-defaults.conf 文件
有谁能够帮我?谢谢!
apache-spark - 使用 Livy Rest 请求提交的 Spark 字数统计作业进入 Dead 状态
我正在使用 Livy 运行一个火花字数统计程序(在没有 Livy 的情况下使用 spark-submit 运行它可以正常工作)。在使用 Livy Rest 请求提交作业时,它会返回作业的 id,如下所示:
回复:
如果我使用以下命令检查 id 为 12 的作业的状态,它会给出响应说死:
回复
谢谢
apache-spark - 使用 Livy 上传 Python 脚本
我正在尝试找到一种Livy API (or client)
在 spark 服务器上使用推送 python 脚本的方法。我尝试了以下方法。
curl -X POST --data '{"file": "/user/test/pi.py"}' -H "Content-Type: application/json" localhost:8998/batches
,但是当我看到日志时,它给出了找不到文件,因为它试图在服务器上查找路径。
- 使用 Livy Python 客户端。
r = client.upload_pyfile("/tmp/code/test.py")
,这将返回一个未来的对象,但没有创建批次,(我什至不确定它上传到的文件路径)。
基本上我想要的是 -
能够通过 API 在使用 Livy 的 Spark 服务器上上传文件。
提交批处理/运行触发器。使用李维。
hadoop - 在启用 Kerberos 的 Hadoop 集群中运行 Livy 作业
我创建了一个示例 Livy (Spark) 应用程序,使用com.cloudera.livy.Job
该类计算 Pi 的近似值(来源:https ://github.com/cloudera/livy#using-the-programmatic-api ),作为 jar 文件导出到例如C:/path/to/the/pijob.jar
.
实际上我正在从另一个这样的Main
类中运行这项工作(也从上面的链接复制并改编):
此应用程序在外部(从我的客户端开始)的不安全 Hadoop 集群中完美运行。但是当我尝试在启用 Kerberos 的集群上运行它时,它会失败。
我尝试在LivyClientBuilder
类中设置相应的 Kerberos 属性:
但我仍然得到一个例外,说需要身份验证:
在这一点上的问题是给我的:
- 这些都是我需要的 Kerberos 设置吗?
- 还是我必须添加更多内容才能登录?
- 我必须在我的客户端机器上提供配置文件/密钥表吗?
- 还是我仍然可以使用服务器路径(就像我到目前为止所做的那样)?
- 是否有一些关于 Livy 的 Kerberos 内容的有用文档?
maven - 如何向 Livy 提交带有依赖项的 jAR?
我在 HDInsight 上使用 Livy 将作业提交到 Spark 群集。我将代码编写并编译到 JAR 中,但它有多个依赖项,其中一些来自自定义存储库。
如何让 Livy 自行解决这些依赖关系?我不想提交一个胖 jar,因为依赖项总是在变化,我不喜欢所涉及的操作工作。
apache-spark - 每次提交批处理作业时,livy 服务器都会提交 jar
使用 Livy 服务器提交 Apache Spark 批处理作业时,它每次都上传 jar 文件(包含应用程序),即每次提交批处理作业。这似乎增加了作业提交时间。有没有办法引用 spark 中存在的 jar主本地目录?
apache-spark - livy - 服务器限制作业数
我正在寻找一些配置,以限制我的 livy 服务器不使用超过 X 核心或作业数量,我看到有人已经在 Jira 问题中问过这个问题(https://issues.cloudera.org/browse/LIVY -74 ),他得到的回答是 Yarn 正在这样做,但我不需要纱线,因为我不想控制每个用户的工作/会话,而且我没有任何其他资源可以管理,除了 spark。
rest - curl:如何在 Windows 上使用 Kerberos 而不是 NTLM 身份验证?
我正在尝试在 Kerberos 安全性下连接到 Livy REST 服务。在 Linux CentoS 上curl
可以正常工作negotiate
,在收到 Kerberoskinit
票证后,连接通过
我面临的问题是尝试在远程 Windows 桌面上做同样的事情。我正在使用 MIT Kerberos for Windows,它能够成功地完成kinit
. 但是,curl
似乎正在使用 NTLM SSL 票证而不是 Kerberos 进行协商,这会导致以下错误:
我尝试使用windows 的官方 curl 版本,具有以下功能(curl --version
):
这两个在协商时都使用 NTLM SLL。
问题:有没有办法强制使用 Kerberos 而不是 NTLM?是否可以调试 Negotiator 以查看它是否(以及在哪里)正在寻找 Kerberos(并且可能没有看到)票?
关于 Kerberos,它似乎将 keytabs 存储在它的 api 上,所以我将KRB5CCNAME
环境变量设置为API:Initial default ccache
; klist
能够看到票,但是,可能curl
需要额外的规范?
另外——是否有其他方法可以curl
与 Kerberos 安全性进行这种连接?