실무개발자를위한 실무교육 전문교육센터학원
www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.

 

 

 

 

실무개발자를위한 실무교육 전문교육센터학원
www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.

 

하둡 실행모드
 
싱글노드 모드 (서버 하나)
Standalone mode (local mode)
모든 데몬들이 하나의 JVM안에서 동작. 로컬 파일시스템을 HDFS로 사용.
개발환경으로 적합 (디버깅이 용이)
Pseudo Distributed mode
각각의 데몬이 각기 별개의 JVM으로 동작. Replication factor가 하나인 HDFS를 사용. 한대라는 점을 제외하고는 멀티노드 모드와 동일.
멀티노드 모드 (서버 둘 이상)
Fully Distributed mode

실무개발자를위한 실무교육 전문교육센터학원
www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.

 

 

 

 

실무개발자를위한 실무교육 전문교육센터학원
www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.

 

기타 소프트웨어 다운로드
 
 
자바설치
먼저 java -version을 실행해서 자바버전이 1.6 밑이면 다음 명령을 실행
sudo apt-get update
sudo apt-get install openjdk-6-jre
sudo apt-get install openjdk-6-jdk
JDK의 홈디렉토리를 JAVA_HOME이란 환경변수로 지정
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk
ls -tl $JAVA_HOME을 수행하여 존재 여부 확인
JDK 홈디렉토리가 위와 다르면 다음을 수행
JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:bin/javac::")
메이븐 설치
sudo apt-get install maven2
ssh와 ssh-keygen
ssh-keygen이 필요한데 이는 아마 디폴트로 설치되어 있을 것임.

실무개발자를위한 실무교육 전문교육센터학원
www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.

 

 

 

 

실무개발자를위한 실무교육 전문교육센터학원
www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.

 

하둡 다운로드
 
 
먼저 우분투 컴퓨터로 로그인
http://archive.apache.org/dist/hadoop/core/hadoop-1.0.3
상단의 추천 미러 링크로 가서 hadoop-1.0.3 디렉토리로 들어간다.
hadoop-1.0.3.tar.gz를 다운로드
이는 하둡 소스코드 포함 (hadoop-1.0.3-bin.tar.gz는 소스제외 버전).
wget http://archive.apache.org/dist/hadoop/core/hadoop-1.0.3/hadoop-1.0.3.tar.gz
홈 디렉토리에서 이것의 압축을 풀고 untar
gzip -d hadoop-1.0.3.tar.gz
tar xvf hadoop-1.0.3.tar
하둡이 설치된 루트 디렉토리를 HADOOP_HOME이란 환경변수로 지정하고 PATH에 추가한다.
export HADOOP_HOME=[하둡루트디렉토리]
예) export HADOOP_HOME=/home/ubuntu/hadoop-1.0.3/

실무개발자를위한 실무교육 전문교육센터학원
www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.

 

 

 

 

실무개발자를위한 실무교육 전문교육센터학원
www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.

 

설치소프트웨어
 
 
아파치 하둡 1.0.3 (1.1.x도 무방)
자바 1.6 (JRE,JDK)
메이븐 (Maven) 2 이상
예제프로그램 컴파일에 필요.
ssh, ssh-keygen
Password-less 로그인을 위해 필요.

실무개발자를위한 실무교육 전문교육센터학원
www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.

 

 

 

 

실무개발자를위한 실무교육 전문교육센터학원
www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.

 

하둡 및 기타 소프트웨어 다운로드
 
 
설치환경

 

 

우분투 환경의 리눅스 서버를 사용

사실 맥이나 다른 환경의 리눅스 서버도 문제 없으나 윈도우 환경의 경우 cygwin설치가 필요.
VM 매니저 설치 후 우분투 VM을 설치하고 우분투를 설치하는 것을 추천

 

실무개발자를위한 실무교육 전문교육센터학원
www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.

 

 

 

 

실무개발자를위한 실무교육 전문교육센터학원
www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.

 

하둡 클러스터 구성 (2009년)
 
 
2010년 5월 자료
노드수: 2000대
총 스토리지크기: 21PB
네트웍 스위치: 1Gbps and uplink 40Gbps
서버 스펙:
Cent OS 4 64 bit
8 core 서버: 1200대, 16 core 서버: 800대.
32GB RAM
12TB HDD

실무개발자를위한 실무교육 전문교육센터학원
www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.

 

 

 

 

실무개발자를위한 실무교육 전문교육센터학원
www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.

 

MapReduce 사용 적합 분야
 
 

병렬도가 높은 Jobs (no dependency)
File Format conversion, Text Grep, Web Crawling, ...
로그 분석
Search Log
머신 러닝, 데이터 마이닝
Recommendation Engine
Model Building
Search Ranking, Document Classifier, ...
ETL (Extract, Transform and Load)
리얼타임 데이터 처리
데이터 스트립을 리얼타임으로 처리해주는 Realtime Analytics
리얼타임 데이터 액세스
하둡이 처리한 데이터는 리얼타임으로 외부에서 액세스 불가 -> HBase!
많은 Iteration이 필요한 작업들
그래프 프로세싱

실무개발자를위한 실무교육 전문교육센터학원
www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.

 

 

 

 

실무개발자를위한 실무교육 전문교육센터학원
www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.

 

MapReduce 프로그래밍
 
 
기본적으로 자바
Hive/Pig 등의 하이레벨 언어
UDF 등으로 확장가능.
작업성격에 따라 프로그래밍이 훨씬 간편하지만 느림.
Streaming (stdin/stdout)
Python, Perl, shell, ruby, ...
자바에 비해 20% 정도 느림.
Pipe (C++)
소켓을 입출력으로 사용하는 모델.
 

+ Recent posts