Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法通过livy客户端将jar上载到livy会话_Java_Cloudera - Fatal编程技术网

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

Java 无法通过livy客户端将jar上载到livy会话,java,cloudera,Java,Cloudera,代码: 上传jar时出现以下异常 正在将E:\livy\u old.jar上载到Spark上下文。。。线程中的异常 “main”java.util.concurrent.ExecutionException:java.io.IOException: 错误请求:“要求失败:本地路径” /root/.livy sessions/61a5e39c-d199-4bb8-967b-960b4e3e9ee3/livy_old.jar 无法添加到用户会话。“在 java.util.concurrent.Fut

代码:

上传jar时出现以下异常

正在将E:\livy\u old.jar上载到Spark上下文。。。线程中的异常 “main”java.util.concurrent.ExecutionException:java.io.IOException: 错误请求:“要求失败:本地路径” /root/.livy sessions/61a5e39c-d199-4bb8-967b-960b4e3e9ee3/livy_old.jar 无法添加到用户会话。“在 java.util.concurrent.FutureTask.report(FutureTask.java:122)位于 java.util.concurrent.FutureTask.get(FutureTask.java:192)位于 com.zycus.spark.PiJob.main(PiJob.java:64)由以下原因引起: java.io.IOException:错误请求:“需求失败:本地路径 /root/.livy sessions/61a5e39c-d199-4bb8-967b-960b4e3e9ee3/livy_old.jar 无法添加到用户会话。“在 com.cloudera.livy.client.http.LivyConnection.sendRequest(LivyConnection.java:197) 在 com.cloudera.livy.client.http.LivyConnection.post(LivyConnection.java:162) 在 com.cloudera.livy.client.http.HttpClient$2.call(HttpClient.java:155) 在 com.cloudera.livy.client.http.HttpClient$2.call(HttpClient.java:152) 在java.util.concurrent.FutureTask.run(FutureTask.java:266)处 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) 在 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 运行(Thread.java:745)


spark.master纱线簇
添加到spark配置文件中,在我的示例中,它是
spark defaults.conf


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

默认情况下,Livy不允许将本地文件附加到用户会话: 我通过在livy-server-0.3.0/conf/livy.conf中指定本地路径解决了这个问题:

livy.file.local-dir-whitelist=/root/.livy会话/


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

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

livy.spark.master=本地

livy.file.local dir白名单=[/path/tothe/file]


在更改了这两个参数后,我能够使其工作

同时,您是否找到了解决此问题的方法?
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);
}