본문 바로가기
Data 엔지니어링/Big Data 운영

[빅데이터 플랫폼 구축 #4] Ambari로 빅데이터 플랫폼 구축하기 :: Data 쿡북

by 쿡북 2017. 3. 5.



오늘은 지난 블로깅에 이어 Ambari로 빅데이터 플랫폼을 구축하는 것을 공유할까 한다.

Ambari에 대한 설치는 이전 블로깅을 확인바란다.

▶http://datacookbook.co.kr/32


그럼 이제 Ambari를 통해 설치해보자


[들어가기 전에]

만약 전체 진행 중에

Ambari 설치후 최초 hostname 등록까지는 진행되나 confirm hosts에서 filed되는 등의 오류가 나올 경우

http://datacookbook.kr/46

글을 참고하기 바란다.



| SSH key 복사

Ambari 설치 전에 대상 서버에 SSH key를 복사해 놔야 한다.

SSH 가 필요한 이유는 각 서버끼리 ssh 통신으로 모두 접근이 되어야 하는데 이때 Password를 생략하고 접근 할 수 있도록 해야 하기 때문이다.

SSH에 대한 Key 생성은 Ambari가 설치되어 있는 서버에서 생성후 전 서버에 배포하면 된다.

SSH Key 생성 및 배포 방법은 다음과 같다.

   1) ssh-keygen (이후는 모두 엔터)

      

   2) cd ~/.ssh 

   3) cat id_rsa.pub >> authorized_keys

   4) chmod 700 ~/.ssh

   5) chmod 600 ~/.ssh/authorized_keys

   6) 전체 서버에 ssk-key 복사

      ssh-copy-id root@ubuntu-02

      ssh-copy-id root@ubuntu-03

      root는 계정명이고 뒤 부분이 배포 하려는 서버명이다.

   7) ssh 접근 테스트

      ssh ubuntu-02

      ssh ubuntu-03 

      각 서버에 접근시 password를 물어보지 않고 바로 접근 된다면 성공이다.



| Ambari로 플랫폼 구축

1. Ambari에 로그인 한다. (admin / admin)


2. Launch Install Wizard를 선택한다

    


3. cluster 이름을 부여하고 nexf를 선택한다.

    

   

4. 설치하고자 하는 버전을 선택한다. 필자는 현재 가장 최신 버전은 HDP-2.5를 선택했다.

   Repository는 Public을 할 것인지 Local을 할것인지 선택하라고 나와 있는데 참고로 폐쇄망에서는 외부 Repository로의 접근이 안되기 때문에 

   내부 repository서버를 구축하고 해당 위치로 설치 버전을 다운 받아와야 한다.  본 블로깅은 Public을 활용하는 것으로 한다.

   Local Repository에 대한 설치 과정은 HDP 설치 가이드에 잘 나와 있다.

    


5. Target Host명을 이력한다. 여기서의 Harget Host는 플랫폼을 설치하려는 대상 서버를 모두 넣어주면 되는데 필자의 환경에서는 ubuntu-01,ubuntu-02,ubuntu-03 이다

   만약 대상 호스트가 많다면 Pattern Expression으로 몇 줄로 수백대를 지정할 수 도 있다.

    


6. SSH Private Key를 복사 붙여 넣기 한다.

   cat ~/.ssh/id_rsa 후 출력된 내용을 복사 붙여 넣기 한다.

    

    


7. Confirm host를 통해 정상적으로 서버들이 등록되었는지 확인한다.

   만약 Failed가 되었다면 원인이 뭔지 확인해서 retry 하면 된다. 모두 Success가 뜬 것을 확인하고 Next로 넘어간다.

    


8. Choose Service에서 설치하려는 서비스를 선택한다. 

   여기서 선택하지 않았다 하더라도 나중에 추가로 얼마든지 설치가 가능하다. 

   필자는 현재 필요로 하는 것만 선택했다.

    


9. Assign Masters 에서 어느 서버에 어떤 서비스를 추가할지 선택한다. 

   여기서는 Master 성격의 서비스만 선택이 가능하다.

   3대로만 한 상황이기 때문에 너무 한 쪽 서버에 많은 서비스가 몰리지 않도록 조정해 주는것도 필요하다.

    


10. Slave와 Clients를 할당한다.

     Master를 이전 단계에서 선택했다면 여기는 Slave 또는 Client 성격의 서비스를 선택할 수 있다.

    


11. 각 서비스에 대한 설정을 추가해야 하는데 빨간색으로 표시된 부분들이 현재 설정이 아직 끝나지 않았다는 표시다.

     Alert이 떠 있는 서비스를 눌러 필요한 설정을 추가해준다.

     각 서비스 별로 요구하는 것들이 다양한데 실제 warning 등이 많이 뜨기 때문에 꼼꼼하게 확인해서 설정해야 한다.

     참고로 hive 의 meta store를 기존에 설치되어 있는 mysql로 할 경우 

        1) ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar  명령어로 jdbc connector 위치를 알려줘야하고

        2) database를 미리 생성해야 한다.  

     이 두 가지 이외의 오류도 Test Connection으로 확인할 수 있으니 설치 Fail 이 될 경우 원인을 확인해서 조치 해야한다.

    


12. Review를 확인한다.

    


13. Install, Start and Test를 진행한다.

    실제 전체 서버에 설치가 진행되기 때문에 시간이 올래 걸린다.

    


    만약 다음과 같이 오류가 나온다면 원인을 확인해서 조치후에 retry 한다. 

    사실 원인들은 너무 다양하다 때로는 다운로드 시간이 오래 걸려 timeout이 나오는 경우도 있다.

    timeout은 네트워크 원인일 수 있으니 일부는 그냥 다시 시도해서 넘어가는 경우도 있다. ;; 

    


    설치가 완료되었다고 하더라도 아래와 같이 warning이 뜨는 경우가 있는데 일부 서비스가 start 되지 않았을 뿐 설치는 정상이다.

    

    


14. 최종 설치 완료 확인

    최종적으로 설치가 완료되면 다음과 같이 서비스가 어떻게 기동되어 있는지 모니터링 화면을 제공한다.

    


| 정리

  지금까지 Ambari를 통해 빅데이터 플랫폼을 설치하는 과정을 해봤다. 

  과정이 많이 간소화 된 것은 맞지만 워낙에 서비스가 많아서 한번에 설치되는 경우가 생각보다 많지는 않다.

  하나하나 원인을 확인해 해결하는 모든 과정이 개인의 Know-how 이기 때문에 많은 경험을 해보는 것이 중요하겠다.

  필자의 경우도 하둡을 수년간 운영했었는데, Ambari가 있다고 해서 모든 장애상황이 판단되는 것은 아니다. 

  오픈소스인 만큼 수시로 모니터링 하고 bug report를 확인해 조치하는 노력들이 필요하다.




댓글