Tag Archives: Hadoop

LogBase 순차데이터 저장소

필요이유:
데이터의 형태에 따라 퇴적의 데이터 저장소가 있다. 요즘처럼 RDBMS의 용량을 초과할 정도의 대량의 데이터가 나오는 경우에는 이 필요성이 더 커진다.
순차데이터저장소는 증권,날씨,시스템 로그 등처럼 순차적으로만 조회되고
그냥 로그를 쌓는것과 형태는 같다. 단지 이것을 관리해주는 기능만 추가될 뿐이다.
나와있는 오픈소스들의 기능과 연동해서 사용한다면 만들어야 할 기능은 많지 않다. 아예 없을지도…?
마이크로소프트 아치브데이터와 같은 것을 사용하지 않는 것은 하둡 클러스터에 얹는것을 기본 목표로 하기 때문.
hbase가 충분한 성능만 보여준다면 여기에 그냥 입력하는 입력기 정도만 만드는 수준으로 끝내도 될지도 모르겠다.

적합한 데이터의 형태 :
각 데이터별로 확실한 스키마가 있고
대량의 데이터가 실시간으로 쏟아져나오며
조회시에도 중간중간의 몇몇 값을 조회하는게 아니라 전체적으로 순차적으로 분석을 해야하는
증권데이터가 가장 적합하다.

파일의 저장형태:
yyyymmdd(hh)정도까지면 충분하지않을까? 확장가능하도록 처리하는게 좋을듯하다. 스키마/시간 – 계층형 디렉토리 구분
스키마의 루트에 dtd파일로 스키마 정의, 시작시에 스키마를 메모리에 로딩
key-value, 구분자
배치처리를 이용한 중복데이터 제거.
MQ를 이용한 데이터 수신

Hadoop, Pig 기본설치 실행법

현재 서버 상태
CentOS 6.3
OpenJdk 1.6
ant

Hadoop 설치

http://hadoop.apache.org
에서 다운로드
http://www.apache.org/dyn/closer.cgi/hadoop/common/

$ cd /opt

1. 다운로드 처리
$ wget http://apache.tt.co.kr/hadoop/common/hadoop-1.1.2/hadoop-1.1.2-bin.tar.gz

2. 압축해제 후 디렉토리명 변경
$ tar zxvf hadoop-1.1.2-bin.tar.gz
“hadoop-1.1.2” 디렉토리 생성됨
$ mv hadoop-1.1.2 hadoop

3. 자바패스 추가
$ vi /etc/profile
—– —– —– —–
맨 자바 패스 설정 추가 bash_profile를 사용해도 좋은데 모르면 그냥 따라하기
export JAVA_HOME=/usr/lib/jvm/java-openjdk
export PATH=$PATH:$JAVA_HOME/bin
—– —– —– —–
$ source /etc/profile

4. 하둡설정 편집
$ vi {hadoop_home}/conf/hadoop-env.sh
—– —– —– —–
export JAVA_HOME=/usr/lib/jvm/java-openjdk
—– —– —– —–

5. WordCount 테스트 작업
이 명령어가 수행되도록 작업
$ bin/hadoop jar hadoop-examples-1.1.2.jar wordcount input out1

$ bin/hadoop {jar파일} {처리할 jar파일} {wordcount모듈} {input text file directory} {outputdirectory}
명령어 실행해보면 한단계씩 설명이 잘 나온다
$ bin/hadoop
$ bin/hadoop jar
$ bin/hadoop jar hadoop-examples-1.1.2.jar
이런식으로 한단계씩 입력해보자
위 작업이 테스트까지 잘 수행이 되면 output 디렉토리에 처리된 파일이 올라온다.

Pig 설치
http://pig.apache.org
http://www.apache.org/dyn/closer.cgi/pig

1. 다운로드 처리
$ wget http://apache.mirror.cdnetworks.com/pig/pig-0.11.0/pig-0.11.0.tar.gz

2. 압축해제 후 디렉토리 변경
$ tar zxvf pig-0.11.0.tar.gz
$ mv pig-0.11.0 pig

3. 돼지 패스 추가
$ vi /etc/profile
—– —– —– —–
export PIG_HOME=/opt/pig
export PATH=$PATH:$PIG_HOME/bin
—– —– —– —–

4. 돼지 설정 변경
conf/pig.properties에서는 변경할게 없다
$ vi bin/pig
패스 추가
—– —– —– —–
export HADOOP_CONF_DIR=/opt/hadoop/conf
export PIG_HOME=/opt/pig
export PIG_CONF_DIR=$PIG_HOME/conf
—– —– —– —–

5. 실행 및 테스트
$ bin/pig
제대로 설정했으면 grunt> 쉘로 진입한다