zeppelin 에서
아래와 같은 에러 발생 시
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | java.lang.NoSuchMethodError: scala.reflect.api.JavaUniverse.runtimeMirror(Ljava/lang/ClassLoader;)Lscala/reflect/api/JavaMirrors$JavaMirror; at org.apache.spark.repl.SparkILoop.<init>(SparkILoop.scala:936) at org.apache.spark.repl.SparkILoop.<init>(SparkILoop.scala:70) at org.apache.zeppelin.spark.SparkInterpreter.open(SparkInterpreter.java:790) 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:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) | cs |
** 해결 방법 1
우측 상단의 해당 계정을 클릭하면
아래와 같은 메뉴 바에서 InterPreter 를 클릭합니다.
상단의 검색창에서 찾으려는 Interpreter 를 조회합니다.
조회한 인터프리터의 목록 중 아래와 같은 내용을 확인합니다.
확인 후에 다음과 같이 실행합니다.
1 2 3 4 5 6 7 8 | $ /usr/local/zeppelin/bin/interpreter.sh -p 2080 -d /usr/local/zeppelin-0.7.3-bin-all/interpreter/spark/ -l /usr/local/zeppelin/local-repo/2D5AQF6P1 SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/usr/local/zeppelin-0.7.3-bin-all/interpreter/spark/zeppelin-spark_2.11-0.7.3.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/usr/local/zeppelin-0.7.3-bin-all/lib/interpreter/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/usr/local/spark-1.6.3-bin-hadoop2.6/lib/spark-assembly-1.6.3-hadoop2.6.0.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory] | cs |
* 포트 번호 2080은 사용하지 않은 포트 중 임의의 포트 번호를 지정합니다.
다시 zeppelin Web UI 로 돌아가서 spark 관련 interpreter 에 우측 상단의 edit 버튼을 클릭합니다.
위의 그림에서 Connect to existing process 체크 박스를 클릭하여 아래와 같이 설정 후 Save 버튼을 클릭합니다.
* Save 버튼은 하단에 있습니다.
다시 spark 작성 화면으로 돌아가서 실행하면
** 해결 방법 2
: spark 의 홈 디렉터리 이하에 lib 디렉터리 내에 *.jar 파일을 zeppelin 의 홈 디렉터리 이하 interpreter/spark 디렉터리로 복사
* spark/lib 의 jar 파일
1 2 3 4 5 6 7 8 9 10 11 | $ ll /usr/local/spark/lib/ total 299124 drwxr-xr-x 2 hadoop-user hadoop 4096 Jan 22 15:08 ./ drwxr-xr-x 13 hadoop-user hadoop 4096 Jan 22 15:32 ../ -rw-r--r-- 1 hadoop-user hadoop 339666 Jan 22 15:08 datanucleus-api-jdo-3.2.6.jar -rw-r--r-- 1 hadoop-user hadoop 1890075 Jan 22 15:08 datanucleus-core-3.2.10.jar -rw-r--r-- 1 hadoop-user hadoop 1809447 Jan 22 15:08 datanucleus-rdbms-3.2.9.jar -rw-r--r-- 1 hadoop-user hadoop 6920412 Jan 22 15:08 spark-1.6.3-yarn-shuffle.jar -rw-r--r-- 1 hadoop-user hadoop 182073169 Jan 22 15:08 spark-assembly-1.6.3-hadoop2.6.0.jar -rw-r--r-- 1 hadoop-user hadoop 113254112 Jan 22 15:08 spark-examples-1.6.3-hadoop2.6.0.jar | cs |
* zeppelin/interpreter/spark 디렉터리 이하에 복사
1 2 | $ cp /usr/local/spark/lib /usr/local/zeppelin/interpreter/spark | cs |
'Big Data Platform > Zeppelin' 카테고리의 다른 글
[에러] paragraph_1429882946244_-381648689's Interpreter r not found (0) | 2018.01.22 |
---|---|
[에러] Jackson version is too old 2.5.3 (0) | 2017.12.12 |
Export Spark (0) | 2017.11.28 |