욱'S 노트

Hadoop - Hadoop 설치부터 테스트(Mac) 본문

Programming/Hadoop

Hadoop - Hadoop 설치부터 테스트(Mac)

devsun 2014. 12. 16. 17:20

오늘부터 hadoop에 대한 공부를 시작할려고 한다.

사실 필자는 Mac도 첨 쓰는지라 엄청 버벅되더라도 정리를 하고 가려고 한다.


1. Hadoop 구하기 및 설치  


Hadoop도 JVM위에서 돌아가는지라 설치는 정말 간단하다. 공식 사이트에 가서 받고 일단 풀기만 하면 된다.

공식사이트는 아시다시피 http://hadoop.apache.org/ 이다.

적당한 최신 버젼을 받고 필자는 2.6.0이 최신이었으나 마이너버젼이 너무 안올라간 관계로 2.5.2를 받았다.




그러면 당연히 다운로드 폴더에 아래와 같은 파일이 다운로드 된다.




그러면 원하는 위치에 풀면 된다.




우리가 항상 설치하고 해보는거 아래와 같이 쳐보자. 대충 버젼이랑 잘 나온다.

./hadoop version  


2. Hadoop Cluster 준비하기


아직 하둡의 개념이 없지 않은가? 그러니 시키는 대로 해보자.

Hadoop 설치한 디렉토리로 가보면 etc/hadoop/hadoop-env.sh 라는 파일이 있다.

이름만 봐도 이 쉘은 hadoop 기본 설정 쉘같이 생겼다.

아래와 같이 환경변수 두개를 export 하자

다들 영어가 되시겠지만, 자바가 설치된 디렉토리랑 하둡이 설치된 디렉토리를 지정하면 된다. HADOOP_HOME이 아닌 이유는 멀까?


# set to the root of your Java installation
export JAVA_HOME=/usr/java/latest

# Assuming your installation directory is /usr/local/hadoop
export HADOOP_PREFIX=/usr/local/hadoop


근데 Mac OS에서 자바 홈은 좀 지랄같다. 그래서 필자는 구글링 결과 다음과 같이 JAVA_HOME을 지정하였다.


export JAVA_HOME=`/usr/libexec/java_home -v 1.8`


3. SSH 설정하기 

로컬이지만 하둡에 원격으로 접속하기 위해 SSH 설정을 해야 한다고 한다.

한번 해보자. 일단 원격 접속을 허용한다.


시스템 환경설정 > 공유로 가보자. 아래와 같이 허용하자.






그리고 터미널에서 접속해보자.




접속이 잘되는 것을 확인할 수 있다.


4. Pseudo-Distributed 모드로 테스트 하기

공식 사이트를 참조해보면 Hadoop은 아래와 같이 세가지 모드를 지원한다고 한다. 로컬모드야 먼가 너무 간단한거 같고 로컬은 아마 가상분산모드 정도가 적합할 것 같아서 가상분산모드로 테스트를 수행해보겠다.

해당 파일 두개의 설정을 아래와 같이 변경하자. 오옷! 먼가 저 로컬호스트로 붙을 수 있을 것 같다.


etc/hadoop/core-site.xml



<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>


etc/hadoop/hdfs-site.xml:



<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>


다음은 수행법이라고 한다. 아무것도 모를때는 무작정 따라하자.

아래대로 따라하면 맵리듀스 작업을 로컬에서 수행하는 것이라고 한다.


파일시스템을 포맷한다.


  $ bin/hdfs namenode -format

  

네임노드 데몬과 데이터노드 데몬을 시작한다. 


  $ sbin/start-dfs.sh

  

아래 주소를 접속해보자. 놀랍다... 접속이 된다.


http://localhost:50070/





디렉토리를 만들자.


  $ bin/hdfs dfs -mkdir /user

  $ bin/hdfs dfs -mkdir /user/<username>

  

입력파일을 분산 파일 시스템에 카피하자.


  $ bin/hdfs dfs -put etc/hadoop input


몇개의 제공된 예제를 수행해보자.


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


결과도 확인해보자. 브라우져에서 바로 결과를 다운로드 할 수 있다. 신기하다.

Utilities > Browse the file system으로 가면 된다.





수고했다. 분산 파일 시스템을 종료하자.


  $ sbin/stop-dfs.sh



'Programming > Hadoop' 카테고리의 다른 글

HDFS - FileSystem API 맛보기  (0) 2014.12.18
HDFS 개발 시작하기(java)  (0) 2014.12.18
HDFS 개요  (0) 2014.12.17
HDFS 다루기 - File system shell  (0) 2014.12.17
Hadoop 개요  (0) 2014.12.17
Comments