当前位置: 首页 > 知识库问答 >
问题:

无法通过livy客户端将jar上载到livy会话

郑和泰
2023-03-14

代码

LivyClient client = null;
try
{
  String livyUrl = "http://dummy16814.zycus.net:8998";
  client = new LivyClientBuilder().setURI(new URI(livyUrl)).build();

  String piJar = "E:\\livy_old.jar";
  System.err.printf("Uploading %s to the Spark context...\n", piJar);
  client.uploadJar(new File(piJar)).get();

  int samples = 10;
  System.err.printf("Running PiJob with %d samples...\n", samples);

  double pi = client.submit(new PiJob()).get();
  System.out.println("Pi is roughly: " + pi);
}
finally
{
  client.stop(true);
}

上传jar时出现以下异常

上传E:\livy\u old。jar到Spark上下文。。。线程“main”java中出现异常。util。同时发生的ExecutionException:java。木卫一。IOException:请求错误:“请求失败:无法将本地路径/root/.livy sessions/61a5e39c-d199-4bb8-967b-960b4e3e9ee3/livy_old.jar添加到用户会话。”在爪哇。util。同时发生的未来任务。java上的报告(FutureTask.java:122)。util。同时发生的未来任务。在com上获取(FutureTask.java:192)。zycus。火花皮约伯。main(PiJob.java:64)由:java引起。木卫一。IOException:请求错误:“请求失败:无法将本地路径/root/.livy sessions/61a5e39c-d199-4bb8-967b-960b4e3e9ee3/livy_old.jar添加到用户会话。”在com。克劳德拉。利维。客户http。LivyConnection。com上的sendRequest(LivyConnection.java:197)。克劳德拉。利维。客户http。LivyConnection。在com上发布(LivyConnection.java:162)。克劳德拉。利维。客户http。HttpClient$2。在com上调用(HttpClient.java:155)。克劳德拉。利维。客户http。HttpClient$2。在java上调用(HttpClient.java:152)。util。同时发生的未来任务。在java上运行(FutureTask.java:266)。util。同时发生的ScheduledThreadPoolExecutor$ScheduledFutureTask。在java上访问$201(ScheduledThreadPoolExecutor.java:180)。util。同时发生的ScheduledThreadPoolExecutor$ScheduledFutureTask。在java上运行(ScheduledThreadPoolExecutor.java:293)。util。同时发生的线程池执行器。java上的runWorker(ThreadPoolExecutor.java:1142)。util。同时发生的线程池执行器$Worker。在java上运行(ThreadPoolExecutor.java:617)。朗。丝线。运行(Thread.java:745)

共有3个答案

晋安国
2023-03-14

如果在本地运行,则必须在livy.conf中修改两个属性。

利维。火花硕士=本地,

利维。文件本地目录白名单=[/path/tothe/file]

换了这两个参数后我就能让它工作了

公孙锋
2023-03-14

添加spark.masteryarn-集群到火花配置文件在我的情况下它是spark-defaults.conf

在群集中的所有节点上添加此项。

相弘方
2023-03-14

默认情况下,Livy不允许将本地文件附加到用户会话:https://groups.google.com/a/cloudera.org/forum/#!topic/livy user/mm XEhANDHU I通过在livy-server-0.3.0/conf/livy中指定本地路径解决了这个问题。形态:

利维。文件本地目录白名单=/root/。利维会议/

这应该在他们的文件中提到

 类似资料:
  • 我用EMR和livy一起,但是livy杀死了一些会话,有没有什么方法可以等待其他任务完成而不是杀死那些会话?谢谢, 纱线诊断应用程序应用程序_1556020828433_0008在172.18.29.18被用户livy杀死

  • 使用通过从EMR启动的请求执行存储在中的脚本。脚本运行,但超时非常快。我已经尝试过编辑livy.conf配置,但是没有一个改动能够持久。这是返回的错误:

  • 我正在尝试通过Phoenix连接HBase集群。首先,我已经将Phoenix客户端和查询服务器jars文件复制到HMaster和HRegion lib文件夹,并重新启动HBase服务。 服务器-通过/bin/queryserver.py启动Phoenix服务器。运转正常。 客户端- 它工作在伪节点集群上。但在启用HA的Hadoop集群中失败。 在高可用性集群中,我已经为文件中的属性设置了活动名称代

  • 我设置了一个带有官方REPO elasticsearch docker图像的elasticsearch容器。然后运行它 轻松又有效。ps信息是 我可以使用超文本传输协议访问服务器-客户端通过端口32769- 现在我需要我的JAVA程序与dockerize elasticsearch一起工作。java Node客户端只能通过32768-连接到elasticsearch 然后我在控制台中得到以下错误:

  • 我已经用serversocket和套接字类在Java语言上创建了一个客户机服务器程序,带有datainputstream和dataoutputstream用于发送和接收数据。 但问题是,当我在LAN(局域网)或本地主机上运行时,它可以正常工作,但当我试图通过WAN(广域网)连接客户端和服务器时,它甚至连服务器都没有连接 并且为了通过WAN连接它,我输入了服务器端程序的ip地址作为socket类的C