맥용 유용한 프로그램 추천


압축


1. The Unarchiver (무료)
https://itunes.apple.com/us/app/the-unarchiver/id425424353?mt=12




동영상 Player


1. VLC Player (무료)


http://www.videolan.org/vlc/download-macosx.html





문서



1. Sublime Text 2 (유료)

유료지만 평가판을 기간 제한 없이 사용할 수 있는 텍스트 에디터

EUC-KR 한글 깨짐 문제 있음. UTF-8로 변환해서 인식 가능.

http://www.sublimetext.com/2



2. Skim (무료)

PDF Reader  

https://www.macupdate.com/app/mac/24590/skim




화면 캡춰


1. Monosnap (무료)


Mac App Store에서 다운로드 가능 

https://itunes.apple.com/us/app/monosnap/id540348655?mt=12





가상 컴퓨터


1. Parallels (유료)


http://www.parallels.com/download/





터미널


1. iTerm2 (무료)

http://code.google.com/p/iterm2/downloads/list




시스템


1. AppCleaner (무료)

앱 삭제 프로그램

 


2. XtraFinder (무료)

XtraFinder add Tabs and features to Mac Finder


http://www.trankynam.com/xtrafinder/






개발


1. SequelPro (무료)

MySQL GUI Client

 


2. IntelliJ IDEA (유/무료)


Java IDE


Community Edition (무료)

Ultimate Edition (유료)


http://www.jetbrains.com/idea/download/index.html




3. Balsamiq Mockups (유료)


UI Design (Adobe Air를 사용해서 윈도우즈/맥/리눅스에서 설치 가능)


http://www.balsamiq.com/download



4. SvnX (무료)

GUI Subversion Client


http://code.google.com/p/svnx/downloads/list






[MAC] 맥에서 하둡 설치 (Hadoop Single node Setup on OS X Mountain Lion)

맥에서 Hadoop을 설치하는 방법입니다. 설치 환경은 아래와 같습니다.

  • OS X 10.8.3
  • Java 1.7.0_17
  • Hadoop 1.0.4


설치 과정은 아래와 같은 단계를 거칩니다.

  • 설치 준비
    • hadoop 계정 생성
    • Java 설치
    • SSH 설치
  • 설치 및 설정
    • hadoop 설치
    • hadoop 설정 



설치 준비 


hadoop 계정 생성


꼭 필요한 과정은 아니지만 보안상의 이유로 hadoop을 위한 별도 계정을 만드는 것이 좋습니다.

전체 이름: Hadoop

계정 이름: hadoop


시스템 환경설정 > 사용자 및 그룹에서 사용자 계정을 추가합니다.




이제 생성한 hadoop 계정으로 로그인 합니다.



Java 설치


$ java -version


터미널에서 위와 같이 입력합니다.


java version "1.7.0_17"

Java(TM) SE Runtime Environment (build 1.7.0_17-b02)

Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode)


Hadoop을 사용하기 위해서는 java 1.6 이상의 버전이 설치되어 있어야 합니다.

혹시 자바가 설치되어 있지 않거나 버전이 1.6 미만이면 아래 사이트를 통해 자바를 설치합니다.


http://docs.oracle.com/javase/7/docs/webnotes/install/mac/mac-jdk.html




SSH 설치


이번 단계에서는 SSH를 통해 local 머신에 접속을 할 수 있도록 하고 접속하되 password를 입력하지 않도록 해야합니다.


시스템 환경설정 > 공유를 선택합니다.



왼쪽에 원격 로그인에 체크를 하면 원격 로그인이 켜집니다. 보안상 새로 추가한 hadoop 계정만 접근을 허용하는 것이 좋습니다.


$ ssh localhost


위와 같이 입력해서 접속이 되는지 확인합니다.


The authenticity of host 'localhost (127.0.0.1) stablished.

RSA key fingerprint is 67:ef:a4:e1:38:51:64:0f:2f:f8:d5:bc:72:b9:4f:a0.

Are you sure you want to continue connecting (yes/no)? 


처음 접속하면 위와 같은 메세지가 나오는데 yes 을 입력하면 다음부터는 이 메세지가 출력되지 않습니다.

그런데 아직까지는 ssh 접속할때 패스워드를 입력을 해야합니다. hadoop은 내부적으로 ssh로 통신하므로 패스워드 입력없이 ssh 접속이 가능하도록 설정해야 합니다.


$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa


위와 같이 입력해서 키를 생성합니다. 중간에 입력을 해야 하는 항목이 나오면 그냥 엔터키를 누르면 됩니다.


The key's randomart image is:

+--[ DSA 1024]----+

|                 |

|           .     |

|      .   . .    |

|     + + o .     |

|    o + S +      |

| . o o + = .     |

|  + o o +        |

|  .oEo o         |

|   ++ .          |

+-----------------+


재미있는 그림도 나오네요 :)


$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys


키를 생성하면 ~/.ssh 디렉토리에 파일이 생기는데 위와 같이 입력하여 이 키 파일을 같은 디렉토리에 있는 authorized_keys 파일에 추가해 줍니다.


$ ssh localhost


자, 이제 다시 ssh 접속을 해서 패스워드 입력없이 접속이 되면 성공입니다~




설치 및 설정



다운로드 및 설치


설치는 간단합니다. 아래 사이트에 접속해서 파일을 다운 받습니다.


[Hadoop Releases]



Hadoop 버전이 여러가지가 있는데 간단하게 언급하면

  • 1.0.x - 현재 안정된 버전
  • 1.1.x - 베타 버전
  • 2.x.x - 알파 버전
  • 0.23.x - 2.x.x 버전과 유사하나 namenode 이중화 구성이 빠짐
  • 0.22.x - security 기능 제외
  • 0.20.203.x - 안정된 버전(구버전)
  • 0.20.x - 구버전


여기서는 1.0.4 버전으로 설치할 것입니다.

적당한 디렉토리에 다운받은 파일의 압축을 풉니다.


$ tar -xzvf hadoop-*.tar.gz


이것으로 설치는 끝입니다 :)

설치가 잘 됐는지 확인해 볼까요?




Hadoop 설정


hadoop cluster를 시작하기 위한 준비 작업으로 hadoop 홈 디렉토리 하위에 conf/hadoop-env.sh 파일을 수정해야 합니다.


  • Java Home 설정
    hadoop-env.sh 파일에서 JAVA_HOME 설정부분에 주석(#)을 제거하고 /Library/Java/Home (또는 /System/Library/Frameworks/JavaVM.framework/Home)를 입력합니다.
    혹시 자바를 다른 디렉토리에 설치했으면 자바를 설치한 디렉토리를 적어주면 됩니다.
      export JAVA_HOME=/Library/Java/Home

  • OS X용 환경변수 추가
    이 부분 때문에 좀 고생을 했는데, 아래와 같은 내용을 추가해줍니다. (참조: https://issues.apache.org/jira/browse/HADOOP-7489)

      export HADOOP_OPTS="-Djava.security.krb5.realm=OX.AC.UK -Djava.security.krb5.kdc=kdc0.ox.ac.uk:kdc1.ox.ac.uk"

  • 아래는 hadoop-env.sh 파일의 예입니다.


    # Set Hadoop-specific environment variables here.
    
    # The only required environment variable is JAVA_HOME.  All others are
    # optional.  When running a distributed configuration it is best to
    # set JAVA_HOME in this file, so that it is correctly defined on
    # remote nodes.
    
    # The java implementation to use.  Required.
    export JAVA_HOME=/Library/Java/Home
    
    # Extra Java CLASSPATH elements.  Optional.
    # export HADOOP_CLASSPATH=
    
    # The maximum amount of heap to use, in MB. Default is 1000.
    export HADOOP_HEAPSIZE=2000
    
    # Extra Java runtime options.  Empty by default.
    # export HADOOP_OPTS=-server
    export HADOOP_OPTS="-Djava.security.krb5.realm=OX.AC.UK -Djava.security.krb5.kdc=kdc0.ox.ac.uk:kdc1.ox.ac.uk"
    


    여기까지 했으면 hadoop이 잘 돌아가는지 테스트 해 볼 수 있습니다.


    $ bin/hadoop


    위와 같이 입력했을 때, hadoop 실행 방법이 출력되면 정상입니다.



    이제 본격적으로 설정을 해 볼텐데요, Hadoop은 3가지 모드를 지원합니다.

    • Standalone mode (Local mode)
    • Pseudo-Distributed mode
    • Fully-Distributed mode


    Standalone mode


    기본 설정입니다. 모든 hadoop daemon이 하나의 java process로 실행됩니다. 

    처음 hadoop-env.sh 파일 수정한 것 외에는 별도 수정할 필요 없이 바로 hadoop을 실행하면 됩니다. local mode 라고도 불리는 것처럼 HDFS에 파일을 올릴 필요없이 local 파일을 바로 access 해서 출력도 local에 생성됩니다. 디버깅할 때 편리합니다.


    Standalone으로 실행해 보려면 아래와 같이 입력합니다.


    $ mkdir input 

    $ cp conf/*.xml input 

    $ bin/hadoop jar hadoop-examples-*.jar grep input output 'dfs[a-z.]+' 

    $ cat output/*




    Pseudo-Distributed mode


    Standalone mode와는 달리 Hadoop daemon들이 각각 별도의 java process로 실행되는데 하나의 node로 실행되는 형태입니다. input 파일은 HDFS 상에 있어야 하고 output 파일도 HDFS에 생성됩니다.


    conf/core-site.xml:


    
         
             fs.default.name
             hdfs://localhost:9000
         
    
    


    conf/hdfs-site.xml:

    
         
             dfs.replication
             1
         
    
    


    conf/mapred-site.xml:

    
         
             mapred.job.tracker
             localhost:9001
         
    
    


    위와 같이 설정 파일을 입력했으면 hadoop을 실행해 보기 전에 HDFS를 포맷해야 합니다.

    $ bin/hadoop namenode -format



    다음은 hadoop daemon을 실행시키는 명령입니다.


    $ bin/start-all.sh



    hadoop을 실행 시켰으면 log를 보면서 제대로 기동이 됐는지 확인합니다. log 디렉토리는 기본적으로 ${HADOOP_HOME}/logs 입니다.


    그 다음 hadoop에서 web interface로 제공하는 NameNode와 JobTracker에 접속해 봅니다.


    여기까지 잘 됐다면 위 Standalone mode에서 했던 예제를 해볼까요?


    $ bin/hadoop fs -put conf input


    hadoop의 conf 디렉토리를 HDFS 에 input 위치에 올리는 명령입니다.


    예제 실행은 아래와 같이 합니다.


    $ bin/hadoop jar hadoop-examples-*.jar grep input output 'dfs[a-z.]+'



    똑같이 결과가 output 디렉토리에 생기는데 Standalone mode와는 다르게 local이 아니고 HDFS상입니다. 결과를 확인해 보려면


    $ bin/hadoop fs -get output output 

    $ cat output/*


    위와 같이 HDFS의 output을 local의 output으로 내려받아서 확인해 보거나


    $ bin/hadoop fs -cat output/*


    HDFS상의 파일을 바로 확인할 수도 있습니다.



    마지막으로 hadoop daemon을 종료하려면 아래와 같이 입력합니다.


    $ bin/stop-all.sh



    Fully-Distributed mode는 여기서 다루지 않겠습니다~


    'framework > hadoop' 카테고리의 다른 글

    GenericOptionsParser 활용(ToolRunner)  (0) 2013.08.02
    Hadoop 실행시 jar 파일 추가하기  (0) 2009.09.04