벌써 8월이... 3일밖에 안남았어요 !!

시간은 왕왕빠름

시간은 우리를 기다려주지를 않죠 ㅠㅠ

 

이번글은 MAPREDUCE 프로그램의 기본 골격에 대해서 공부하겠습니다.

 

mapred vs. mapreduce

 

두 종류의 MapReduce 라이브러리

* org.apache.hadoop.mapred(옛날버전)

* org.apache.hadoop.mapreduce(새버전)

 

mapreduce가 새로 제공되는 라이브러리이고 mapred는 점진적으로 phase out

이후 모든 예제에서 mapreduce를 사용

 

MapReduce 템플릿 (1)

 

import org.apache.hadoop.mapreduce.*;

 

public static class Reduce extends Reducer<K2, V2, K3, V3>

{

K3 k3 = new K3();

V3 v3 = new V3();

public void reduce(K2 key, lterable<V2> values, Context contes)

{

....

context.write(k3, v3)

}

}

 

 

 

MapReduce 템플릿 (2)

 

public static void main(String[] args) throws Exception

{

Configuration conf=new Conflguration();

Job job = new Job(conf, "wordcount")

// job 인스턴스를 갖고 각종 초기화 작업

...

// 최종적으로 실행 !

job.waitForCompletion(true);

}

 

 

 다음글에서 또만나요~~ ^^

빅데이터공부하기 !!!

WordCount에 대해서 공부할거에요 ^^

37번라인글도 퐈이팅!!

 

 

WordCount 프로그램

 

 가장 기본이 되는 프로그램입니다.

* 하둡 프로그래밍의 Hello World

 

입력으로 주어진 파일에서 단어들별로 빈도수를 카운트

* 단순 tokenization을 하기 때문에 CJK에는 제대로 동작하지 않음

 

WordCount 의사코드

 

Map(key, value)

- value : a line of text

- workflow

* tokenize value

* For each token

emit(token, 1)

 

Reduce(key, list(values))

- key : a word

- values: a list of count (1)

- workflow

* lterate values and sum them up

* emit (key, sum)

 

빅데이터공부하기 37

WordCount 프로그램

이번 빅데이터 공부하기는 예제프로그램을 실행하고 결과를 확인하려합니다.

오늘하루도 힘차게 !! 빅데이터 공부를 시작해볼께요 ^^

 

예제프로그램 실행

 

wordcount를 pseudo모드에서 재실행

 

input디렉토리를 HDFS로 먼저 복사

* bin/hadoop fs-copyFromLocal input /input

* 확인은 bin/hadoop fs-ls/input

 

Hadoop jar 명령실행

* bin/hadoop jar hadoop-examples-1.0.3.jar wordcount/input/README.txt/output/wordcount

 

 

 

 

예제프로그램 실행결과 확인

 

HDFS상의 출력디렉토리 확인

* hadoop fs -ls/output/wordcount

 

HDFS상의 출력파일 내용보기

* hadoop fs -text/output/wordcount/part-r-00000

 

Job Tracker 인터페이스를 통해 확인

http://[YourServer]:50030/

 

Task Tracker 인터페이스를 통해 확인

* http://[YourServer]:50060/

 

 

빅데이터공부하기

 

이번 공부하기는 웹인터페이스 입니다.

 

NameNode 웹인터페이스, JobTracker 웹인터페이스 두가지에대해서 공부할께요.

이번 빅데이터공부하기도 퐈이팅!!!

 

1. NameNode 웹인터페이스

 

 

 

2. JobTracker 웹인터페이스

 

 

여기까지!! 다음 빅데이터 공부에서 또만나요 ^^

 

 

빅데이터공부하기 -- 웹인터페이스

빅데이터공부하기 !!

이번시간도 하둡 Pseudo mode설치에 대해서 공부할거에요 ^^

 

지난글에선 설치를 했고 이번글은 설치확인을 해보겠어요.

 

 

 

설치확인

 

jps 커맨드를 실행하여 다음 5개의 프로세스가 모두 실행중인지 확인

* NameNode, Secondary NameNode, DataNode

* Job Tracker, Task Tracker

 

JT/NN 웹인터페이스 연결

* NameNode: http://[YourServer]:50070/

* Job Tracker: http://[YourServer]:50030/

 

HDFS shell 커맨드 실행

* bin/hadoop fs-ls/

 

하둡 Pseudo mode설치에 대해서 계속해서 공부하겠습니다.

 

 

설치(2)

 

환경파일들(conf 디렉토리)을 설정.

 

 core-site.xml

(Name Node) 

<configuration>

 <property>

   <name>fs.default.name</name>

   <value>hdfs://localhost:9000</value>

 </property>

 <property> 

   <name>hadoop.tmp.dir</name>

    <value>/mnt/hadoop.tmp</value>

 </property>

</configuration>

 hdfs-site.xml

(HDFS)

 <configuration>

 <property>

    <name>dfs.replication</name>

    <value>1</value>

 </property>

</configuration>

 mapred-site.xml

(Job Tracker)

<configuration>

 <property>

    <name>mapred.job.tracier</name>

    <value>localhost:9001</value>

</configuration> 

 

- 하둡 파일 시스템 포맷

* bin/gadoop namenode -format

 

- 다음으로 데몬들을 모두 실행

* bin/start-all.sh

 

- 에러메시지가 혹시 있는지 잘 확인

* 환경설정파일상의 오타일 가능성이 높음

*에러시 logs 디렉토리내의 파일들 점검

 

 

빅데이터공부하기 36-1 하둡 Pseudo mode 설치

 

이번 빅데이터공부하기내용은

하둡 PSEUDO MODE 설치입니다.

오늘날씨는 안좋지만 우리들마음은 행복을 잃지말아요! ^--^

 

설치 1

 

앞서 하둡디렉토리 설치와 JAVA_HOME 환경변수 설정

(conf/hadoop-env.sh)에 이어 다음 명령을 실행한다.

 

SSH key 설치

이는 패스워드없이 로그인하기 위함

ssh localhost시 패스워드를 물어본다면 다음 명령을 실행

 

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

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

 

위의 ssh-keygen명령에서 "는 단일 따옴표 두개라는 점에 주의

제대로 실행되었다면 "sshlocalhost"실행시 패스워드 입력시

로그인이 되어야한다. 로그인이 된 후 반드시 exit로 빠져나와야한다. 

 

 

빅데이터공부하기 36 하둡 PSEUDO MODE 설치

이번 빅데이터공부하기는 실행결과를 확인하는 글을 올리겠습니다.

 

실행결과확인

 

$ bin/hadoop jar hadoop-examples-1.0.3.jar wordcount ./input/README.txt./output/wordcount

 

12/07/*29 22:11:10 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

12/07/29 22:11:10 INFO input.FilelnputFormat: Total input paths to process:1

12/07/29 22:11:10 INFO mapred.JobClientL Running job:job_local_0001

...

 

$IS-tl ./output/wordcount/

total276

-rwxrwxrwx 1 root root  0 2012_07_29:11_SUCCESS

-rwxrwxrwx 1 root root 274751 2012-07-29 22:11 part-r-00000

 

 

+ Recent posts