Windows7을 기반으로 Cygwin을 사용하여 설치합니다.
1. 다운로드
설치에 필요한 파일들을 다운로드 합니다.
※ Caution : 설치에 사용한 버전은 Cygwin 1.7.9, jdk 1.6.0_25, Hadoop 0.20.2, Eclipse Europa 3.3.2 입니다.
hadoop 0.20.203과 0.21.0 버전은 아직 많이 불안정한듯 합니다. 설치가 불가능했습니다. ㅠㅠ
hadoop 0.20.203과 0.21.0 버전은 아직 많이 불안정한듯 합니다. 설치가 불가능했습니다. ㅠㅠ
2. 설치
1) Cygwin
1. Install from Internet
2. Cygwin이 설치될 장소
2. Download 받은 설치 파일이 저장될 장소
2. Cygwin이 설치될 장소
2. Download 받은 설치 파일이 저장될 장소
4. Direct Connection
5. Download 받을 사이트 선택
6. Download가 완료된 후, select package에서 Net 부분의 Openssh와 Openssl부분에 체크하여 추가 설치
7. 환경변수 Path에 Cygwin이 인스톨 된 폴더와 그 아래의 bin폴더 두군데를 추가
(default값으로 설치했다면 path 뒤에 ";C:\cygwin\bin;C:\cygwin\usr\bin" 를 추가하면 된다.)
6. Download가 완료된 후, select package에서 Net 부분의 Openssh와 Openssl부분에 체크하여 추가 설치
7. 환경변수 Path에 Cygwin이 인스톨 된 폴더와 그 아래의 bin폴더 두군데를 추가
(default값으로 설치했다면 path 뒤에 ";C:\cygwin\bin;C:\cygwin\usr\bin" 를 추가하면 된다.)
2) Java
1. Installation
2. 환경변수에 새로운 환경변수를 추가한다.
변수 이름 : JAVA_HOME
변수 값 : [자바가 설치된 폴더 지정(default값으로 설치했다면 C:\Program Files\Java\jdk1.6.0_25)]
3. 환경변수 Path에 자바가 설치된 폴더 아래의 bin폴더를 추가
(마찬가지로 설치시에 변경없이 설치했다면 C:\Program Files\Java\jdk1.6.0_25\bin을 추가하면 된다.)
2. 환경변수에 새로운 환경변수를 추가한다.
변수 이름 : JAVA_HOME
변수 값 : [자바가 설치된 폴더 지정(default값으로 설치했다면 C:\Program Files\Java\jdk1.6.0_25)]
3. 환경변수 Path에 자바가 설치된 폴더 아래의 bin폴더를 추가
(마찬가지로 설치시에 변경없이 설치했다면 C:\Program Files\Java\jdk1.6.0_25\bin을 추가하면 된다.)
3) Hadoop
1. Cygwin창을 열어서 "explorer ."
2. 다운받은 하둡 파일을 이 사용자 폴더에 넣는다.
3. Cygwin에서 작업한다.
2. 다운받은 하둡 파일을 이 사용자 폴더에 넣는다.
3. Cygwin에서 작업한다.
Cardia@Cardia ~ $ tar -xvzf hadoop-0.21.0.tar.gz $ cd conf $ explorer .4. 하둡 환경설정을 한다. 열린 폴더에서 *-site.xml 파일을 텍스트 에디터로 편집한다.
core-site.xml:
<configuration> <property> <name>fs.default.name</name> <value>hdfs://localhost:9000</value> </property> </configuration>hdfs-site.xml:
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>mapred-site.xml:
<configuration> <property> <name>mapred.job.tracker</name> <value>localhost:9001</value> </property> </configuration>
5. conf 폴더에서 나와서 bin폴더로 들어간다. hadoop 파일을 텍스트 에디터로 열어서 $JAVA_PLATFORM 을 찾은 다음 그 줄에 ${JAVA} 부분 앞뒤로 ""를 붙여준다 -> "${JAVA}"
(버그가 신고되었지만 아직 고쳐지지 않았음)
6. Cygwin에서 작업한다.
(버그가 신고되었지만 아직 고쳐지지 않았음)
6. Cygwin에서 작업한다.
Cardia@Cardia-PC ~ # SSH관련 setting $ ssh-host-config # 첫번째 권한 분리 질문에 no라고 대답 # 두번째 sshd를 서비스로 등록 하는 질문에 yes라고 대답 # 값을 물어오는 질문에 ntsec 입력 # 다음 질문에선 엔터를 치고 비밀번호를 물어오면 입력한다. # 제어판->관리도구->서비스에서 CYGWIN sshd 서비스를 시작한다. # 이클립스 플러그인을 사용하기 위해 하둡 스크립트와 ssh 인증을 사용한다. $ ssh-keygen # 나오는 질문에 전부 엔터 $ cd ~/.ssh $ cat id_rsa.pub >> authorized_keys # ssh 연결 확인 $ ssh localhost # 연결확인 질문이 나오면 yes입력 그 후 프롬프트가 뜨면 인증 성공 $ logout
7. Namenode format
Cardia@Cardia-PC ~ $ cd hadoop-0.20.2 (하둡 설치 디렉토리로 이동) $ mkdir logs $ bin/hadoop namenode -format # format완료 후 cygwin을 다섯개 구동시킨 후 각각 하둡 디렉토리로 이동 후 동작시킨다 $ bin/hadoop namenode $ bin/hadoop secondarynamenode $ bin/hadoop datanode # Starting Periodic block scanner. 메세지를 기다린 후 $ bin/hadoop jobtracker $ bin/hadoop tasktracker
8. 에러 없이 구동되는 화면을 볼 수 있다.
4) Eclipse
1. 적당한 곳에 압축을 푼다.
2. hadoop이 설치된 폴더 안에 contrib 폴더로 가보면 eclipse-plugin 폴더가 있다.
이 안에 있는 hadoop-0.20.2-eclipse-plugin.jar 파일을 이클립스의 압축을 푼 폴더 안 plugins 폴더에 넣어준다.
3. 이클립스를 실행시킨다.
4. 오른쪽 맨 위에 perspective 선택 메뉴에서 Others를 선택한 다음 Map/Reduce를 선택한다.
2. hadoop이 설치된 폴더 안에 contrib 폴더로 가보면 eclipse-plugin 폴더가 있다.
이 안에 있는 hadoop-0.20.2-eclipse-plugin.jar 파일을 이클립스의 압축을 푼 폴더 안 plugins 폴더에 넣어준다.
3. 이클립스를 실행시킨다.
4. 오른쪽 맨 위에 perspective 선택 메뉴에서 Others를 선택한 다음 Map/Reduce를 선택한다.
5. 아래의 Map/Reduce Locations 탭에서 New hadoop Location을 선택하고 입력
(Map/Reduce Locations탭이 없으면 Windows->view->others에서 찾으면 된다.)
Location name : localhost
Map/Reduce Master
Host : location
port : 9001
DFS Master
Use M/R Master host 체크
port : 9000
왼쪽 Project Explorer에서 DFS Locations 하위 폴더로 tmp 파일이 보이면 연결 성공
6. new -> Other -> Map/Reduce Project 선택해서 새 프로젝트 만듬
project wizard 창에서 Configure Hadoop install directory 선택 후
Hadoop installation directory에 하둡이 설치된 디렉토리
(Default : "c:\cygwin\home\[user name]\hadoop-0.20.2") 입력
project wizard 창에서 Configure Hadoop install directory 선택 후
Hadoop installation directory에 하둡이 설치된 디렉토리
(Default : "c:\cygwin\home\[user name]\hadoop-0.20.2") 입력
3. http://localhost:50070과 http://localhost:50030을 통해서 cluster상태와 map/reduce상태를 체크할 수 있다.