2017-12-15 17 views
7

를 통해 워크 벤치 나는 그런액세스 HDFS - 비행선

https://github.com/big-data-europe/docker-hadoop-spark-workbench을 설치 docker-compose up로를 시작했습니다. 나는 the various urls mentioned in the git readme에 항해하고 모두는 위로있는 것처럼 보인다. 비행선 인터프리터 설정에서

./bin/zeppelin.sh start 

내가 통역을 촉발 한 후 탐색 및 docker

마스터와 함께 설치된 로컬 클러스터를 가리 키도록 마스터를 업데이트 :

은 그때와 로컬 아파치 제플린을 시작했다 :

: spark://localhost:8080

그때 노트북에서 다음 코드를 실행에 local[*]에서에서 업데이트

import org.apache.hadoop.fs.{FileSystem,Path} 

FileSystem.get(sc.hadoopConfiguration).listStatus(new Path("hdfs:///")).foreach(x => println(x.getPath)) 

17,451,515,나는 비행선 로그에이 예외를 얻을 :

INFO [2017-12-15 18:06:35,704] ({pool-2-thread-2} Paragraph.java[jobRun]:362) - run paragraph 20171212-200101_1553252595 using null [email protected] 
WARN [2017-12-15 18:07:37,717] ({pool-2-thread-2} NotebookServer.java[afterStatusChange]:2064) - Job 20171212-200101_1553252595 is finished, status: ERROR, exception: null, result: %text java.lang.NullPointerException 
    at org.apache.zeppelin.spark.Utils.invokeMethod(Utils.java:38) 
    at org.apache.zeppelin.spark.Utils.invokeMethod(Utils.java:33) 
    at org.apache.zeppelin.spark.SparkInterpreter.createSparkContext_2(SparkInterpreter.java:398) 
    at org.apache.zeppelin.spark.SparkInterpreter.createSparkContext(SparkInterpreter.java:387) 
    at org.apache.zeppelin.spark.SparkInterpreter.getSparkContext(SparkInterpreter.java:146) 
    at org.apache.zeppelin.spark.SparkInterpreter.open(SparkInterpreter.java:843) 
    at org.apache.zeppelin.interpreter.LazyOpenInterpreter.open(LazyOpenInterpreter.java:70) 
    at org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:491) 
    at org.apache.zeppelin.scheduler.Job.run(Job.java:175) 
    at org.apache.zeppelin.scheduler.FIFOScheduler$1.run(FIFOScheduler.java:139) 
    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) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:748) 

가 어떻게 비행선 및 자바/스파크 코드에서 HDFS 액세스 할 수 있습니까?

답변

1

Zeppelin에서 개체가 null 인 이유는 예외입니다.

참조 : https://github.com/apache/zeppelin/blob/master/spark/src/main/java/org/apache/zeppelin/spark/SparkInterpreter.java

private SparkContext createSparkContext_2() { 
    return (SparkContext) Utils.invokeMethod(sparkSession, "sparkContext"); 
} 

가 구성과 관련된 문제가 될 수있다. 설정/구성 및 스파크 클러스터 설정을 교차 확인하십시오. 스파크가 잘 작동하는지 확인하십시오.

참고 :이 도움이 https://zeppelin.apache.org/docs/latest/interpreter/spark.html

희망.