Java 无法通过livy客户端将jar上载到livy会话
代码: 上传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)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
将
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);
}