먼저 하둡을 설치하고 테스트하기 위해서는 리눅스 환경이 필요합니다. 우분투는 아래 URL에서 다운로드 하시면 되는데 처음 다운로드를 누르게 되면 약 16$라는 금액으로 표시가 됩니다. 각 부분별로 슬라이드를 최소화하면 무료로 다운로드 가능하니 참고하시기 바랍니다.
Ubuntu 12.04
1] http://www.ubuntu.com/download/
이 후 다운받은 iso파일을 이용해 VMWare나 직접 리눅스 환경을 구축하시면 됩니다. 만약 VMWare를 사용하실 분이라면 무료 버전인 VMWare Player나 30일 trial버전(아직도 가능한지 모르겠습니다)를 이용하시는 것을 추천합니다.
VMWare Player
2] https://my.vmware.com/web/vmware/free#desktop_end_user_computing/vmware_player/5_0
VMWare를 다운로드 하셨다면 그냥 Next만 계속 눌러서 설치를 진행합니다. 별다른 설정은 전혀 할 필요가 없습니다. 설치가 다 되었다면 VMWare를 실행해봅시다.
위와 같은 화면이 나올텐데 [Create a New Virtual Machine]을 클릭합니다. 클릭하게 되면 아래와 같은 화면이 나타날 것 입니다.
여기서 [Installer disc image file(iso)]를 클릭하시고 다운 받은 우분투 iso파일을 선택한 후 Next를 눌러주세요. 그러면 Full name, User Name, Password, Confirm이라는 창이 나타날텐데 각자 이름과 패스워드를 작성하고 Next를 눌러주세요.(단, 대문자는 사용하시면 안됩니다)
그러면 그냥 기본 설정대로 Next를 눌러 설치하시면 됩니다. 그러면 얼마 지나지 않아 Ubutun화면을 보실 수 있을 것 입니다. 여기서 HDD에 적어도 20GB의 여유는 남겨두는 것이 좋습니다. 아무튼 가만히 나두면 아래와 같이 자동으로 설치하는 모습을 볼 수 있습니다.
설치 완료까지는 시간이 다소 소요되니 그냥 여유롭게 기다리시면 됩니다 (상상 이상으로 오래 걸립니다. 그냥 마음 편하게 롤 한판 하고 오시는 것도 추천합니다.)
우분투가 정상적으로 설치 완료되었다면 이제 하둡을 사용하기 위한 준비 절반까지는 왔다고 생각하시면 됩니다. 이제 중요한 하둡 파일을 다운로드 해야하는데 여기서 부터는 Windows OS가 아닌 Linux에서 진행하셔야 합니다.
혹시나 설치 후에 우분투가 안뜨고 콘솔이 뜬다면 설치 중에 약간의 문제가 발생한 것이니 아래 명령을 통해 해결해주시면 됩니다.
- sudo mv /etc/issue.backup /etc/issue
- sudo mv /etc/rc.local.backup /etc/rc.local
- sudo mv /opt/vmware-tools-installer/lightdm.conf /etc/init
Hadoop Download
3] http://ftp.daum.net/apache/hadoop/common/
하둡은 위 URL에서 다운로드 하실 수 있습니다. 위 사이트에 들어가면 상당히 많은 버전의 하둡이 존재하는데 저는 hadoop-1.2.0버전을 사용할 계획입니다. 최신 버전의 경우 아직 알파 테스트 단계라 불안정한 요소가 있을 수 있다는 판단이니 뭐 최신버전을 사용하시겠다고 하시는 분은 그냥 원하시는거 받으시면 됩니다.
(그 이후에 이 가이드와 다소 다른 부분이 있어도…책임은..못집니다..)
hadoop-1.2.0.tar.gz를 다운로드 한 후에 아래 명령을 통해 압축을 풀어줍니다.
# tar xzf hadoop-1.2.0.tar.gz
압축을 풀었으면 아래 명령으로 노틸러스(nautilus)를 실행해서 /usr/local/에 압축 해제한 파일을 복사합니다. 노틸러스는 리눅스 기반의 관리자 탐색기로 기본적인 탐색기로는 usr 폴더에 접근할 수 없습니다.
#sudo nautilus
복사 후에 자바를 설치해야하는데 예전에는 bin파일로 설치만 하면 쉽게 사용할 수 있도록 제공했으나 최근에 변경되어 압축파일을 다운로드 하셔야하는데 저는 이 방법 말고 apt를 이용해서 설치하는 방법을 소개하려 합니다. 터미널을 열고 아래 명령을 순서대로 실행하면 쉽게 설치가 되니 참고해주세요.
- sudo apt-get purge openjdk*
- sudo add-apt-repository ppa:webupd8team/java
- sudo apt-get update
- sudo apt-get install oracle-java7-installer
여기까지 입력하고 정상적으로 자바를 설치했다면 이제 java -version을 통해 정상적으로 자바 버전이 출력되는지 확인하시면 되며, 정상 출력된다면 여기까지 성공적으로 수행하셨다는 의미가 되겠습니다.
이제 다시 하둡으로 돌아와서 아까 /usr/local/에 옮겨두었던 하둡 Path를 등록해야 합니다. 이 부분에서 vi를 사용하실 줄 알아야하는데…다들 잘 하시리라 믿고 vi에 대한 설명은 생략합니다. 만약 필요하시다면 댓글 남겨주세요.
아무튼 터미널에서 vi .bash_profile 을 열고 아래와 같이 환경변수를 작성하고 저장하시면 됩니다.
- export JAVA_HOME=/usr/lib/jvm/java-7-oracle
- export HADOOP_INSTALL=/usr/local/hadoop-1.2.0
- export PATH=$PATH:$HADOOP_INSTALL/bin
이 후 다시 터미널에서 source .bash_profile 명령을 통해 등록하고 hadoop version이라고 입력하셨을 때 아래와 같이 정상적으로 하둡 버전이 나온다면 모든 과정이 성공적으로 수행되었다는 의미입니다.
이제 모든 설치는 끝이 났고 본격적으로 하둡을 사용하기 위한 세팅이 필요합니다. 먼저 터미널에서 /usr/local/hadoop-1.2.0/으로 이동한 뒤 아래 명령을 통해 파일을 수정합니다.
# sudo vi conf/hadoop-env.sh
vi로 위 파일을 열면 export가 이미 되어있는데 다른건 건들지 말고 제일 아래에 아래와 같이 JAVA와 HADOOP패스트를 설정합니다.
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
export HADOOP_HOME=/usr/local/hadoop-1.2.0
여기까지 했으면 이제 하둡을 실행하기 위한 원격 시스템을 설치해야 합니다. 하둡은 보기와 다르게 상당히 설정 방법이 복잡하다면 복잡할 수 있으니 잘 따라오시고 잘 안된다면 다시 한번 확인하시는 것을 추천합니다.
#apt-get install openssh-server 명령을 통해 일단 ssh를 설치합니다. 설치 후에 /etc/init.d/ssh restart로 ssh를 재실행 합니다. 그리고 netstat -ntl을 입력했을 때 0 :::22 라는 Local Addr이 있으면 정상적인 것 입니다.
이제 ssh를 설치했으니 ssh-keygen을 통해 마스터와 슬레이브, 한쌍의 키를 생성합니다.
#ssh-keygen -t rsa
#cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
#ssh localhost
여기까지 하신 후에 몇 가지 xml을 수정하셔야 합니다. 저는 Pseudo-distributed mode로 구축할 것이기 때문에 다른 모드와는 차이가 있습니다. 즉, 이 글을 따라하시면 Pseudo-distributed mode로 구축하시는 것이 된다는 의미입니다.
먼저 hadoop이 설치된 폴더로 이동한 뒤 conf/ 폴더에 접속하시면 다양한 xml파일이 있는데 수정해야되는 파일은 core-site.xml, hdfs-site.xml, mapred-site.xml, 총 3개의 파일입니다.
core-site.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <? xml version = "1.0" ?> <? xml-stylesheet type = "text/xsl" href = "configuration.xsl" ?> <!-- Put site-specific property overrides in this file. --> < configuration > < property > < name >fs.default.name</ name > </ property > < property > < name >hadoop.tmp.dir</ name > < value >/usr/local/hadoop-1.2.0/hadoop-${user.name}</ value > </ property > </ configuration > |
hdfs-site.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <? xml version = "1.0" ?> <? xml-stylesheet type = "text/xsl" href = "configuration.xsl" ?> <!-- Put site-specific property overrides in this file. --> < configuration > < property > < name >dfs.name.dir</ name > < value >/usr/local/hadoop-1.2.0/dfs/name</ value > </ property > < property > < name >dfs.name.edits.dir</ name > < value >${dfs.name.dir}</ value > </ property > < property > < name >dfs.data.dir</ name > < value >/usr/local/hadoop-1.2.0/dfs/data</ value > </ property > </ configuration > |
mapred-site.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <? xml version = "1.0" ?> <? xml-stylesheet type = "text/xsl" href = "configuration.xsl" ?> <!-- Put site-specific property overrides in this file. --> < configuration > < property > < name >mapred.job.tracker</ name > < value >localhost:9001</ value > </ property > < property > < name >mapred.local.dir</ name > < value >${hadoop.tmp.dir}/mapred/local</ value > </ property > < property > < name >mapred.system.dir</ name > < value >${hadoop.tmp.dir}/mapred/system</ value > </ property > </ configuration > |
여기까지 잘 따라오셨다면 이제 하둡을 실행하기 위해 하둡 폴더에서 ./bin/start-all.sh 를 하신 뒤 firefox(웹브라우저)를 열어 http://localhost:50030/jobtracker.jsp에 접속하셨을 때 아래와 같이 Map/Reduce Administration 사이트가 나오면 모든 것이 완벽한 상태입니다^_^
현재 상태에서 hadoop-examples-1.2.0.jar에 포함된 모든 예제 파일을 실행해보실 수 있고 이는 위 사이트나 콘솔을 통해서 어떤 상태로 동작하는지 확인할 수 있습니다. 예제를 하나 실행해볼텐데 터미널에서 아래 명령을 순서대로 입력해주세요.
- cd /usr/local/hadoop-1.2.0/ (오타 수정)
- hadoop dfs -mkdir input
- hadoop dfs -put CHANGES.txt input/
- hadoop jar hadoop-examples-1.2.0.jar wordcount input output
마지막 명령이 정상적으로 수행되면 콘솔과 웹사이트에서 결과를 확인 할 수 있습니다.
이제 하둡의 기본적인 설치와 설정이 모두 끝났습니다. 본격적으로 하둡을 이용해서 다양한 어플리케이션을 개발해볼 생각입니다^^ 앞으로도 많은 관심부탁드리고 본 자료는 정말 오랜 시간동안 공 들여 작성한 자료인 만큼 퍼가시더라도 꼭 출처는 남겨주셨으면 합니다. 꾸벅!
[ 발생할 수 있는 에러 정리 ]
Error 1]
하둡이 실행되지 않고 Permission Denied라는 문구가 뜨면 아래와 같은 작업을 거쳐 권환을 부여해야 합니다. sudo chown -R 계정명 /usr/local/hadoop-1.2.0/
'하둡(Hadoop)' 카테고리의 다른 글
hadoop에 필요한 JDK 설치전 설치여부확인하기 (0) | 2013.06.14 |
---|---|
하둡의 종류 (0) | 2013.06.14 |
CDH 설정 변경이 안되는 경우 (0) | 2013.06.14 |
CDH 설정 하기 (0) | 2013.06.14 |
CDH 설치 (0) | 2013.06.14 |