* 참고 사이트
http://jmlab.tistory.com/11

1. 개요
  직접 여러대의 노드를 구입해서, 하둡 시스템을 구축하기 힘든 상황이라면 cygwin을 이용해서 환경을 구축하는 것도 좋은 방법이다. 쉬운 프로그래밍 환경을 제공하기 위하여 eclipse를 이용한 코딩 환경을 구축한다. 
  설치 순서는 cygwin을 설치 후 hadoop을 복사한다. 그리고 난 후에 eclipse 환경 설정을 해 준다. 

2. 설치 방법

2.1 cygwin 설치

  웹에서 cygwin을 다운(http://www.cygwin.com)받고 설치를 진행한다. 개략적인 설명은 아래와 같다. 

1. install from Internet 선택 (next 클릭)
2. cygwin이 설치될 root 디렉토리 설정 (next 클릭)
3. download 받은 설치 파일이 저장될 경로 설정 (next 클릭)
4. Direct Connection 선택 (next 클릭)
5. Download 받을 사이트 선택 ( kaist 서버가 빠르다고 함 )

  다운로드가 완료되면 설치가 진행이 되는데 주의할 점은 "select package 창"이 뜨면 "Net" 을 선택하고 package 설명에 있는 openssh 항목을 설치 해 주어야 한다. 


2.2 Java 설치 

2.3 Eclipse europa 설치

2.4 Hadoop-0.20.2 설치
Hadoop 0.20.2버전 다운받아 압축을 푼 후 C:\cygwin\home\사용자명\ 하위 폴더에 복사


3. 환경설정

3.1 사용자 변수 추가 

제어판 -> 장치관리자 -> 고급 -> 환경변수에서 "사용자 변수"에 아래의 변수 추가
변수 : JAVA_HOME
값    : C:\Program Files\Java\jdk1.6.0_20

3.2 Path 추가
제어판 -> 장치관리자 -> 고급 -> 환경변수에서 "시스템 변수"의 변수란에 있는 Path 항목을 찾아 편집 클릭
값의 맨 뒤에 ";c:\cygwin\bin;c:\cygwin\usr\bin" 추가 

3.2 Hadoop 0.20.2에서 환경설정
( 참고 : http://hadoop.apache.org/common/docs/current/single_node_setup.html )
hadoop-0.20.2\conf\에 존재

conf/core-site.xml:
<configuration>
     <property>
         <name>fs.default.name</name>
         <value>hdfs://localhost:9000</value>
     </property>
</configuration>


conf/hdfs-site.xml:

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


conf/mapred-site.xml:

<configuration>
     <property>
         <name>mapred.job.tracker</name>
         <value>localhost:9001</value>
     </property>
</configuration>

설정 후 네임노드 포멧 수행
1. $ cd ~/hadoop-0.20.2 (hadoop 설치 폴더)
2. $ mkdir logs
3. $ bin/hadoop namenode -format

hadoop-0.20.2\contrib\eclipse-plugin\hadoop-0.20.2-eclipse-plugin.jar 파일을 (이클립스 설치 폴더)\plugins 에 복사

3.3 cygwin에서 deamon 설정 ( 어떤 이유로 필요하고, 전체 시스템에서 어떻게 동작하는지는 의문)

1. cygwin 실행
2. $ ssh-host-config
3. privilege 선택 질문에서 no
4. sshd 서비스 사용 유무 질문에서 yes
5. .....[] 에서 ntsec 입력후 엔터

6. 제어판 -> 관리도구 -> 컴퓨터 관리 -> 서비스 및 응용 프로그램 -> 서비스에서 cygwinsshd를 찾아서 실행

7. cygwin에서 $ssh-keygen.exe 입력 후 엔터( 나머지 질문들은 모두 엔터, 3번 정도)
8. $ cd ~
9. $ cd .ssh
10. $ cat id_rsa.pub >> authorized_keys


4. cygwin을 사용한 클러스터 실행

  총 5개의 cygwin을 실행시켜 namenode, secondary namenode, datanode, jobtracker, tasktracker를 실행시켜야 한다. 

1. namenode 실행
$ cd hadoop-0.20.2
$ bin/hadoop namenode

2. secondary namenode 실행
$ cd hadoop-0.20.2
$ bin/hadoop senamenode

3. job tracker 실행
$ cd hadoop-0.20.2
$ bin/hadoop jobtracker

4. data node 실행
$ cd hadoop-0.20.2
$ bin/hadoop datanode

5. task tracker 실행
$ cd hadoop-0.20.2
$ bin/hadoop tasktracker

5. Eclipse plug-in 실행
이클립스 실행 후 우측 상단에서 perspective 선택에서 Map/Reduce를 선택
하단의 Map/Reduce Locations 탭에서 New hadoop Location을 선택하고 입력
Location name : localhost
Map/Reduce Master
Host : location
port : 9001
DFS Master
Use M/R Master host 체크
port : 9000
좌측 네비게이션 바에 DFS Locations 하위 폴더로 tmp 파일이 보이면 성공. 에러메세지가 발생하면 어딘가 문제가 있음. 

6. Map/Reduce 프로젝트 생성
new -> Other -> Map/Reduce Project 선택
project wizard 창에서 
1. project name을 입력
2. use default location에 체크
3. 좌측의 Configure Hadoop install directory 선택
4. preferences 창에서 Hadoop installation directory에 "c:\cygwin\home\user\hadoop-0.20.2" 입력
5. 완료




Posted by simsiss

댓글을 달아 주세요