Hadoop+Hive의 로컬 개발 환경 구축 자동화

소개





Hadoop + Hive 을 사용하여 대량 데이터의 분석 기반을 구축할 수 있습니다.
Hadoop + 스파크 을 사용하는 경우도 늘고 있습니다.

도전



다음과 같은 이유로 Hadoop+Hive/Hadoop+Spark 모두 로컬 개발 환경을 구축하기가 매우 어렵습니다.

왜 로컬 개발 환경의 구축이 어려운가?



이유 1: 구성할 애플리케이션 수가 많음





Hadoop+Hive의 경우를 예로 들면 다음과 같은 응용 프로그램을 설치해야 합니다.
  • hadoop
  • hadoop-client
  • hadoop-conf-pseudo
  • hadoop-hdfs
  • hadoop-hdfs-datanode
  • hadoop-hdfs-namenode
  • hadoop-hdfs-secondarynamenode
  • hadoop-mapreduce
  • hadoop-mapreduce-historyserver
  • hadoop-yarn
  • hadoop-yarn-nodemanager
  • hadoop-yarn-resourcemanager

  • 이들을 이치에서 설치하는 것은 매우 어렵습니다.

    이유 2: 설정 항목이 매우 많음



    응용 프로그램 수가 많다는 것 외에도 설정 항목이 매우 많습니다.
    잘못된 설정으로 인해 환경이 고장날 수 있습니다.

    그 때문에, 설정 변경에 의한 튜닝에 발을 디디고 버리는 것입니다.

    해결책이 없습니까?





    로컬 개발 환경의 구축을 준비하기 위해서, Vagrant 가 좋은 해결책이 됩니다.
    도커 라고 하는 방법도 있습니다만, Windows/Linux/Mac 의 어느 환경에서의 동작 실적이 풍부하고, 넷상에서의 정보의 모으기 쉬움은 Vagrant 에 군배가 오릅니다.

    만들어 보았습니다.


    vagrant up 명령을 실행할 때 자동으로 Hadoop+Hive 환경이 완성되는 구조를 만들어 보았습니다.

    Vagrantfile과 프로비저닝시 실행되는 명령을 함께 Githug에 게시했습니다.
  • genzouw/hive-pseudo-distributed

  • 사용법



    다음 명령을 실행하기만 하면 됩니다.
    $ git clone [email protected]:genzouw/hive-pseudo-distributed.git; cd hive-pseudo-distributed/
    
    $ vagrant up
    

    마지막으로



    Hadoop + Spark의 조합에 대해서도 위의 Vagrantfile + setup.sh를 확장하여 실현할 수 있다고 생각합니다.

    크거나 작지만 피드 백을 기다리고 있습니다!

    좋은 웹페이지 즐겨찾기