ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • zeppelin, Elasticsearch 와 spark
    프로그래밍/Elasticserach 2019. 2. 28. 15:46
    728x90

    테스트 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에는 파일이 없음


    결국 심볼릭 링크 걸고 제실해하면 잘 동작함


    728x90
Designed by Tistory.