티스토리 뷰

AWS

EC2에서 하둡 설치하기

blrunner 2012.09.10 01:21


 금요일 밤부터 AWS에서 하둡 개발 환경을 구성하고 있습니다.

 

아마존 웹서비스 (Amazon Web Services: 이하 AWS)는 컴퓨팅 자원(CPU, 메모리, 디스크, 네트워크)를 제공하는 EC2를 제공하며, EC2에서 아마존 리눅스, 레드햇, 우분트, 윈도우 서버 같은 OS 이미지를 구성하고, 다양한 어플리케이션을 설치할 수 있습니다. 하둡은 바로 이 EC2에서 설치를 해야 합니다.

 

EC2에서 하둡은 아래 다섯 가지 방식으로 설치할 수 있습니다. 참고로 Hadoop definition guide에서는 3번을, Hadoop in action에서는 4번을 이용한 설치방법을 설명하고 있습니다.

 

 1. 하둡이 이미 설치되어 있는 이미지를 사용하고, 수동 설정하는 방식


 2. EBS 기반 AMI에 하둡 설치 및 복사, 수동 설정

   http://www.cloudera.com/blog/2009/05/using-clouderas-hadoop-amis-to-process-ebs-datasets-on-ec2/


 3. whirr 패키지를 이용하는 방식

    http://whirr.apache.org/docs/0.8.0/quick-start-guide.html

    http://diveintodata.org/2011/03/19/whirr-usage-for-hadoop-cluster-in-amazon-ec2/


 4. 하둡 contrib 패키지의 ec2를 이용하는 방식

    http://wiki.apache.org/hadoop/AmazonEC2#AutomatedScripts


 5. 서버 하나 하나에 한땀 한땀 설치하는 방식

   http://www.slideshare.net/benjaminwootton/configuring-your-first-hadoop-cluster-on-ec2 

 

처음에는 whirr나 contrib 패키지를 이용해서 설치하려다가, 

AWS와 친해지는 차원에서 5번 방식으로 설치를 진행했는데요. ^^;;


EC2의 SSH 인증키 복사와 방화벽 설정이 기존 리눅스 서버와 차이가 있어서, 삽질을 조금(?) 많이 하게 됐네요. 


보통 마스터 서버의 id_rsa.pub 파일을 scp로 슬레이브 서버쪽으로 복사해주는데요.

EC2에서는 id_rsa.pub 파일을 로컬 PC로 다운받은 후에, WinSCP나 파일질라 같은 프로그램으로 슬레이브 서버쪽에 하나 하나 업로드를 해줘야 합니다. 이걸 몰라서 한참 삽질을 했습니다. ㅠㅠ


참고로 마스터 서버만 제대로 설치하고, 슬레이브 서버들은 마스터의 내용을 scp로 복사는데요. 

사실 이 부분도 조금만 더 공부했으면 2번처럼 할 수 있었는데, 

일단 되는 것부터 보기 위해서 우선 scp로 해봤습니다.


P.S 2번에 대해 정리한 포스팅은 아직 보지 못했는데요. 

     조만간 제가 2번 방식으로 설치를 해보고 공유해드릴께요~ ^^:;;

저작자 표시 비영리 변경 금지
신고
댓글
  • 프로필사진 hp 참고로 아시겠지만 Amazon EMR도 있답니다.
    http://aws.amazon.com/ko/elasticmapreduce/
    2012.09.13 13:43 신고
  • 프로필사진 blrunner EC2와 S3에서 맵리듀스 잡을 돌리고, EMR에서도 돌려봤는데요.성능은 EC2와 S3를 직접 붙였을때가 더 좋더군요.^^ 2012.09.14 01:53 신고
  • 프로필사진 biggammi id_rsa.pub 파일이 뭐에요? ㅠㅠ 어디서 다운 받아야 하나요 ㅠㅠㅠㅠ 2013.01.19 21:00 신고
  • 프로필사진 blrunner 리눅스 서버에서 ssh-keygen을 실행하면, id_rsa.pub 파일이 생성됩니다. 이 글(http://blrunner.com/29)은 맥북에서 하둡을 설치하는 내용인데요. aws도 위와 같은 방식으로 설치한다고 보시면 됩니다. JDK 경로같은 부분을 제외하고는 거의 똑같다고 보시면 됩니다. 2013.01.21 11:35 신고
  • 프로필사진 biggammi 5번 방식의 링크에 있는 슬라이드에서 13페이지에 있는 ssh 관련된 부분이 잘 이해가 되질 않습니다..

    거기서는 puttygen으로 생성한 private key(~.ppk)파일을 업로드 하라고 되어있는거 같은데

    무슨말인지 정확히 잘 모르겠어요 ㅠㅠ 다시한번만 설명을 부탁드려도 될까요?
    2013.01.19 21:19 신고
  • 프로필사진 blrunner 우선 putty사이트에서 puttykeygen을 다운받으세요. 그리고 나서 puttykeygen에서 키를 생성하고요. putty의 인증 설정을 찾아보면, ppk를 업로드하는 속성이 있습니다. 자세한 내용은 제 책을 참고하시면 됩니다. ^^;; 2013.01.21 14:11 신고
  • 프로필사진 biggammi 피드백 답변 감사합니다~책보고 따라해 봤는데 잘 안돼서 제공해주신 링크대로 따라해 봤거든요 ~ㅠㅠ
    그래도 잘 안돼서, ㅠㅠㅠ
    질문하나만 더 드릴게요~

    제가 master 인스턴스와 slave1 slave2 인스턴스 이렇게 3개로 만들었는데 (5번 링크에 따라..)

    ssh-keygen 을 master 와 slave1 , slave2 서버 각각에서 해줘야 하나요?

    아니면 master 서버에서만 id_rsa 와 id_rsa.pub 를 만들고 id_rsa.pub만 FTP 프로그램으로 로컬 PC에 다운받고

    slave 서버들의 .ssh폴더에 넣어줘야 하는건가요 ? ㅠㅠ


    그리고 이것저것 검색해보니까 ssh 권한 설정에 대해 나와 있는데 어떤 걸로 해야하는지 .,,

    답변해주시면 감사하겠습니다..^^



    2013.01.22 09:10 신고
  • 프로필사진 blrunner ssh-keygen은 각 각의 서버에서 하실 필요없고요. 네임노드에서 키젠하시고, 로컬에 id_rsa.pub파일을 다운받으신 후, 데이터노드들의 .ssh 디렉터리에 넣어주는 겁니다. (음..이것도 제 책에 나와 있는 내용인데, 제 설명이 부족했나 보네요. ㅠㅠ) 2013.01.22 14:25 신고
  • 프로필사진 blrunner ssh권한은 따로 설정한 적이 없는데요. 어떤 권한을 말씀하시는 건지 모르겠네요.^^;; 2013.01.22 14:25 신고
  • 프로필사진 biggammi 안녕하세요 ~ 위에서 몇가지 질문으로 귀찮게 해드렸던 1인입니다 ^^;;
    많은 도움을 주신 덕분에 드디어 하둡 설치가 성공한 것 같아요 ㅠㅠㅠㅠㅠㅠㅠ
    감사합니다. ~~

    근데 죄송한데 하나만 더 여쭐게요 --

    ./bin/hadoop jar hadoop-examples-*.jar wordcount conf/hadoop-env.sh wordcount_output

    이것을 실행한 결과는 비슷하게 잘 나오는 것 같은데

    그 다음에 확인하는 작업인
    ./bin/hadoop fs -cat wordcount_output/part-r-00000

    이것이 오류가 발생했습니다 ,,

    그럼 설치가 잘 안된건가요?

    개발자님이 출판하신 책 덕분에 도움이 많이 되었습니다.
    앞으로도 계속 공부하겠습니다. ~
    2013.01.23 16:09 신고
  • 프로필사진 blrunner 해결하셔서 다행이네요. ^^;;
    cat 코맨드를 실행했을 때 어떤 오류가 나왔나요?
    fs -ls wordcount_output하셔서 디렉터리가 존재하는지, 디렉터리내에 part-r 파일이 있는지 다시 한번 확인해보세요.
    그리고 노파심에 말씀드리는데요. hadoop 테스트를 하지 않으실 때는 꼭 ec2인스턴스를 shutdown 시켜 놓으세요. 안그러면 요금 폭탄맞으십니다. 제가 포스트(http://blrunner.com/33)한 내용 참고하세요~^^
    2013.01.23 17:44 신고
  • 프로필사진 biggammi 안녕하세요 -

    예전에 포스팅 해주신 글 보고 shutdown 꼬박꼬박 하고 있답니다 ^^ 감사합니다.
    suttdown 과 관련한 질문이 또 생겨서 그러는데요.

    instance를 생성하고 stop 시켰다가 다시 start 를 시키면 hostname 주소가 바뀌는데

    그래서 Elastic IPs 로 고정시킴으로써 해결할 수 있는 것으로 알고 있습니다...

    그런데 제가 생성한 인스턴스의 hostname을 Elatic IPs로 고정시키고 똑같은 방식으로

    하둡을 설치했는데 문제가 발생했습니다...

    web interface 연동을 확인하는데 문제가 있습니다.

    IP를 고정시키지 않고 했을때는 web interface 연동이 잘 되었는데 Elatic IPs를 이용하여 고정시킨 후 설치했을 때는 web interface 연동이 되질 않습니다...

    포트도 다 열어주고, security groups 도 셋팅해줬는데 잘 안되네요 ㅠㅠ

    혹시 이 부분에 대해서 알고 계시면 코멘트 부탁드려요 ^^;;;
    2013.01.24 15:37 신고
  • 프로필사진 blrunner shutdown하면 그런 문제가 생기는군요. Elastic IP는 저도 사용해보지 않아서 도움을 못드릴 것 같네요. 죄송합니다. ㅠㅠ 2013.01.24 16:22 신고
  • 프로필사진 blrunner aws보다는 개발pc에 버츄얼박스나 vmware같은 버츄얼호스트를 설치해서 진행하세요~ 2013.01.25 10:10 신고
댓글쓰기 폼