问题标签 [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.

0 投票
2 回答
1446 浏览

apache-spark - 使用 Livy 执行 Spark 作业,使用 `--master yarn-cluster` 而不进行系统范围的更改

我想通过使用Livy从集群外部的 HTTP 调用执行 Spark 作业,其中 Spark jar 已经存在于 HDFS 中。

我可以spark-submit从集群节点上的 shell 完成工作,例如:

请注意,--master yarn-cluster访问 jar 所在的 HDFS 是必需的。

我还可以通过 Livy 提交命令,使用curl. 例如,这个请求:

... 在集群上执行以下命令:

这与有效的命令相同,减去--master yarn-cluster参数。尾矿验证了这一点/var/log/livy/livy-livy-server.out

所以,我只需要修改curl命令以包含--master yarn-clusterLivy 执行它的时间。乍一看,这似乎可以通过向 JSON 字典添加参数来实现。不幸的是,这些都没有通过。

有谁知道如何传递--master yarn-cluster给 Livy 以便在 YARN 上执行作业而不进行系统范围的更改

0 投票
3 回答
3083 浏览

json - Livy Server:以 JSON 格式返回数据帧?

我正在使用 HTTP POST 调用在 Livy Server 中执行一条语句,localhost:8998/sessions/0/statements正文如下

我想要以下格式的答案

但我得到的是

这是数据框的toString()版本。

有没有办法使用 Livy 服务器将数据帧作为 JSON 返回?

编辑

发现了一个解决问题的 JIRA 问题:https ://issues.cloudera.org/browse/LIVY-72

通过评论可以说 Livy 不支持也不会支持这样的功能?

0 投票
1 回答
1119 浏览

java - 从当前 livy 会话访问数据文件

我有一个在 Hadoop 上以 YARN 模式运行的 Spark 集群。我已将 Livy 服务器配置为交互并将客户端 spark 作业提交到 spark 集群。我将一个数据文件与来自 java 程序的 jar 一起上传到了 Livy,该文件被上传到 HDFS 的 .livySessions 文件夹中。

我应该如何配置我的程序以从当前的 Livy 会话中读取数据文件以执行。

0 投票
2 回答
4331 浏览

apache-spark - 为什么使用 Livy 或 spark-jobserver 而不是简单的 Web 框架?

我正在 Apache Spark 之上构建一个 RESTful API。提供以下 Python 脚本spark-submit似乎可以正常工作:

但是谷歌搜索我看到了Livyspark-jobserver 之类的东西。我阅读了这些项目的文档和一些教程,但我仍然不完全理解 Livy 或 spark-jobserver 相对于使用 CherryPy 或 Flask 或任何其他 Web 框架的简单脚本的优势。是关于可扩展性吗?上下文管理?我在这里想念什么?如果我想要的是一个用户不多的简单 RESTful API,那么 Livy 或 spark-jobserver 值得麻烦吗?如果是这样,为什么?

0 投票
1 回答
922 浏览

apache-spark - 如何为 Zeppelin 配置 Livy / spark?

我已经成功地用 Spark 配置了 Zeppelin。但是,我想使用多租户,为此我想使用 Livy 和 Spark 配置 Zeppelin。

对于 Livy,我提供了以下两条路径

我可以在 Zeppelin 中成功运行以下命令:

但是,以下命令失败:

我看到以下错误:

我还没有为 Zeppelin 启用 Shiro 身份验证。我的假设是,当我提供 Spark 主目录时,Livy 将使用默认用户登录 Spark。谁能指出我该如何解决上述问题?而且,我需要做哪些配置来启用模拟?

0 投票
1 回答
619 浏览

python-2.7 - 使用 Livy 连接到 Kerberized Hadoop 集群时 Python Requests Post 请求失败

我正在尝试通过 Livy 连接到 kerberized hadoop 集群以执行 Spark 代码。我发出的请求如下。

此调用失败并出现以下错误

GSSException:未提供有效凭据(机制级别:未能找到任何 Kerberos 凭据)

这里的任何帮助将不胜感激。

0 投票
1 回答
4470 浏览

linux - Maven enforcer plugin 1.4.1 or one of its dependencies cannot be resolved

I am trying to build livy-server on one of the datanodes of our hadoop cluster which has all the prerequisites like Spark 1.6.2, hadoop 2.4.2 already set up.

I am following the instrucctions as described in the link below

https://github.com/cloudera/livy

After executing the mvn package as follows

However I am getting an error as
Plugin org.apache.maven.plugins:maven-enforcer-plugin:1.3.1 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-enforcer-plugin:jar:1.3.1: Could not transfer artifact org.apache.maven.plugins:maven-enforcer-plugin:pom:1.3.1 from/to central (https://repo.maven.apache.org/maven2): repo.maven.apache.org: unknown error: Unknown host repo.maven.apache.org: unknown error ->

I tried searching for this error however since I am a newbie I am not able to follow the solutions mentioned, but one common thing was configuring the pom.xml

my pom.xml conf related to the maven enforcer plugin 1.4.1 is as follows

Can anyone help me in resolving this build issue?

Thanks for your help

0 投票
3 回答
8580 浏览

apache-spark - 使用 Spark Magic 的 Jypyter 中的 Livy pyspark Python 会话错误 - 错误 repl.PythonInterpreter: Process has dead with 1

我正在运行 spark v2.0.0 YARN 集群。我在 Spark 大师旁边奔跑。

我已经设置了一个 jupyter Python3 笔记本并安装了Spark Magic ,并按照必要的说明将 Spark Magic 连接到 Livy,尽管当我创建会话时,我从笔记本中收到一条错误消息。

在 jupyter 的管理 spark 部分中创建新会话时,我从 Livy 日志中得到错误

并在 livy 日志中获取此输出

我无法确定确切的问题/修复是什么。如果我将会话设置为使用 Scala 语言而不是 Python,我就能够创建成功的连接。尽管只有将会话语言设置为 python 时才会出现错误。如果有人知道在 Jupyter 中连接 livy-repl pyspark 会话的解决方案,请告诉我!

更新

Livy 仍然无法创建 PySpark 会话。

会话状态将直接从“开始”变为“失败”。在 livy 会话失败之前,资源管理器上的 YARN 日志提供以下权利。

spark-defaults.conf

核心站点.xml

livy.conf

0 投票
1 回答
56 浏览

pyspark - Livy 在计算结束前返回

在 Hortonworks Sandbox 上使用 Livy 时,我们发现在某些情况下,Livy API 会在 Spark 监控工具指示的实际工作结束之前为语句提供结果。在某些情况下,对于正常执行时间超过 10 分钟的作业,Livy 可以在不到 5 秒的时间内提供结果。如果我们在某些情况下以相同的初始条件多次重复相同的任务,我们就会看到这个问题发生。任何想法?

0 投票
1 回答
1084 浏览

apache-spark - 运行示例 Spark Livy 作业时出现“内部服务器错误:会话处于启动状态”错误

运行示例 Spark Livy 作业时出现“内部服务器错误:会话处于启动状态”错误。

我安装了 Livy 以使用 REST API 访问 apache-spark 并启动了 Livy 服务器。在运行示例 spark Pi 应用程序(如在https://github.com/cloudera/livy上提供)时,我收到错误消息“Caused by: java.io.IOException: Internal Server Error:”java.lang.IllegalStateException:会话处于启动状态”。

线程“主”java.util.concurrent.ExecutionException 中的异常:java.io.IOException:内部服务器错误:com.cloudera.livy.client.http.JobHandleImpl 处的“java.lang.IllegalStateException:会话处于启动状态”。 get(JobHandleImpl.java:201) at com.cloudera.livy.client.http.JobHandleImpl.get(JobHandleImpl.java:91) at PiApp.main(PiApp.java:96) 原因:java.io.IOException:内部服务器错误:com.cloudera.livy.client.http.LivyConnection 的 com.cloudera.livy.client.http.LivyConnection.sendRequest(LivyConnection.java:197) 处的“java.lang.IllegalStateException:会话处于启动状态”。在 com.cloudera.livy.client.http.LivyConnection.post(LivyConnection.java:149) 在 com.cloudera.livy.client.http.JobHandleImpl$1 处发送 JSONRequest(LivyConnection.java:173)。run(JobHandleImpl.java:145) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent .ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在 java.lang.Thread.run(Thread.java:745)concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142 ) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在 java.lang.Thread.run(Thread.java:745)concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142 ) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在 java.lang.Thread.run(Thread.java:745)在 java.lang.Thread.run(Thread.java:745) 处运行(ThreadPoolExecutor.java:617)在 java.lang.Thread.run(Thread.java:745) 处运行(ThreadPoolExecutor.java:617)