테스트 Poc를 수행하기 위해 CDH6.1을 설치 하였다.
거기서 분석 툴로서 Zeppelin을 간만에 올려 보기로 하고 진행 하던 중 발 생한 문제 정리
Zeppelin 버젼은 0.8.0
CDH 버젼은 6.1
Elasticsearch 버젼은 6.6
CDH 설치는 무리 없이 진행.
Elasticsearch도 별 무리 없이 진행.
zeppelin 설이 진행 시 많은 문제가 있었다.
-> 최초 zeppelin 홈페이지에서 package 파일을 다운 받아 실행
1. 에러 메시지
common-lang 버젼 충돌 오류
---------------------------------
CDH spark2.4에서는 common-lang-2.6을 사용하고 있는데 zeppelin 에서는 common-lang3-3.5를 사용 중
=> 그래서 CDH의 common-lang을 zeppelin lib로 옮겨주고 기존 common-lang3을 삭제
같은 오류 반복적으로 발생
결국 zeppelin source를 받아서 재컴파일 하기로 했음
git에서 source를 받음
<commons.lang.version>2.6</common.lang.version> 으로 변경하여
maven을 이용하여 컴파일
maven은 업그레이드를 해야 함
https://linuxize.com/post/how-to-install-apache-maven-on-centos-7/ <-따라하면 됨
하지만 compile 시 수많은 에러 들이 발생
화가 남
CDH6.1에 맞는 버젼을 설치 하기 힘듬
mvn clean package -Pbuild-distr -Pspark-2.4 -Phadoop-3.0 -Pscala-2.11 -DskipTests
위 명령 후 필요 한 interfreter 만 설치 하면 됨
beam 설치 시 오류 다음 위와 같은 모듈만 설치
설치 후 잘 동작하나
ElasticSearch와 Spark 연동이 이루어 지지 않음
Previous exception in task: org/apache/commons/httpclient/Credentials
org.elasticsearch.hadoop.rest.commonshttp.CommonsHttpTransportFactory.create(CommonsHttpTransportFactory.java:40)
org.elasticsearch.hadoop.rest.NetworkClient.selectNextNode(NetworkClient.java:102)
org.elasticsearch.hadoop.rest.NetworkClient.<init>(NetworkClient.java:85)
org.elasticsearch.hadoop.rest.NetworkClient.<init>(NetworkClient.java:61)
org.elasticsearch.hadoop.rest.RestClient.<init>(RestClient.java:94)
org.elasticsearch.hadoop.rest.RestRepository.<init>(RestRepository.java:129)
org.elasticsearch.hadoop.rest.RestService.createReader(RestService.java:419)
org.elasticsearch.spark.rdd.AbstractEsRDDIterator.reader$lzycompute(AbstractEsRDDIterator.scala:49)
org.elasticsearch.spark.rdd.AbstractEsRDDIterator.reader(AbstractEsRDDIterator.scala:42)
org.elasticsearch.spark.rdd.AbstractEsRDDIterator.hasNext(AbstractEsRDDIterator.scala:61)
org.apache.spark.util.Utils$.getIteratorSize(Utils.scala:1817)
org.apache.spark.rdd.RDD$$anonfun$count$1.apply(RDD.scala:1168)
org.apache.spark.rdd.RDD$$anonfun$count$1.apply(RDD.scala:1168)
org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:2113)
org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:2113)
org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:90)
org.apache.spark.scheduler.Task.run(Task.scala:121)
org.apache.spark.executor.Executor$TaskRunner$$anonfun$11.apply(Executor.scala:407)
org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1360)
org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:413)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
java.lang.Thread.run(Thread.java:748)
at org.apache.spark.TaskContextImpl.invokeListeners(TaskContextImpl.scala:138)
at org.apache.spark.TaskContextImpl.markTaskCompleted(TaskContextImpl.scala:116)
at org.apache.spark.scheduler.Task.run(Task.scala:131)
at org.apache.spark.executor.Executor$TaskRunner$$anonfun$11.apply(Executor.scala:407)
at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1360)
at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:413)
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)
위와 같은 에러가 발생함 여러 모로 고민하고 찾아 본 결과
결국은 commons-httpclient 파일이 CDH6.1 버젼에 존재하지 않아서 발생하는 문제 였음
spark홈페이지에서 제공하느 2.4 버젼에는 해당 파일이 있으나 CDH6.1의 spark 2.4 lib에는 파일이 없음
결국 심볼릭 링크 걸고 제실해하면 잘 동작함
'프로그래밍 > Elasticserach' 카테고리의 다른 글
ElasticSearch unassigned_shard 발생 시 (0) | 2018.11.15 |
---|---|
ElasticSearch window 10 설치 시 'common은 예상되지 않았습니다. 오류' (0) | 2018.09.06 |
ES-Hadoop(1) (0) | 2016.08.02 |