2015. 6. 12. 15:51ㆍ서버 프로그래밍
행정자치부
빅데이터 플랫폼 Hadoop 설계 및 구축
교육시간 : 34시간
1) http://www.oracle.com/index.html
Downloads-Java for developers
jdk-8u45-windows-x64.exe 파일 다운로드
~~~~~~~~~~~~~~~~~~~~~~~~
C:\jdk1.8.0_45 설치위치 변경
~~~~~~~~~~~~~~
C:\jre1.8.0_45 설치위치 변경
~~~~~~~~~~~~~~
2) http://www.eclipse.org/
Download-Eclipse IDE for Java Developers
eclipse-java-luna-SR2-win32-x86_64.zip 파일 다운로드
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Workspace Launcher : C:\Users\wtime\Desktop\workspace
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3)https://archive.apache.org/dist/hadoop/common/hadoop-1.2.1/
hadoop-1.2.1.tar.gz 파일 다운로드
~~~~~~~~~~~~~~~~~~~
4)https://www.cygwin.com/
setup-x86_64.exe 파일 다운로드
~~~~~~~~~~~~~~~~
환경변수 추가
...;c:\cygwin64\bin;c:\cygwin64\usr\sbin
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5)http://stat-computing.org/dataexpo/2009/the-data.html
1987.csv.bz2 ~ 2008.csv.bz2 22개 파일 다운로드
----------------------------------------------------------------------------------
1.관리자권한으로 Cygwin64 Terminal 실행
2. ssh-host-config
creating config file...
--> yes
StrictMode....
--> yes
separation....
--> no
sshd install....
---> yes
---> enter
different name...
---> no
create user
---> no
Do you want to proceed anyway?
---> yes
3. sshd 서비스 실행
net start sshd
(또는 cygrunsrv -S sshd)
4. 공개키 생성
ssh-keygen
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
5. hadoop 설치
tar xvfz hadoop-1.2.1.tar.gz
6. 심볼릭 링크
ln -s hadoop-1.2.1 hadoop
7. vi hadoop-env.sh
export JAVA_HOME=/cygdrive/c/jdk1.8.0_45
8. vi core-site.xml
<property>
<name>fs.default.name</name>
<value>hdfs://127.0.0.1:9000</value>
</property>
9. vi hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
10. vi mapred-site.xml
<property>
<name>mapred.job.tracker</name>
<value>hdfs://127.0.0.1:9001</value>
</property>
* hadoop 버전 변경
https://archive.apache.org/dist/hadoop/common/hadoop-0.21.0/
(1)hadoop-0.21.0.tar.gz 파일 다운로드
(2)c:\cygwin64\home\wtime 폴더에 복사
(3)홈디렉토리로 이동후 tar xvfz hadoop-0.21.0.tar.gz 압축 풀기
(4)rm hadoop (기존 심볼릭링크 제거)
(5)ln -s hadoop-0.21.0 hadoop (심볼릭 링크 연결)
(6)탐색기에서 c:\tmp\hadoop-wtime 폴더 제거
(7)탐색기에서 기존 hadoop-1.2.1의 conf 폴더에 있는
hadoop-env.sh 파일,core-site.xml 파일,
hdfs-site.xml 파일, mapred-site.zml 파일을
hadoop-0.21.0의 conf 폴더에 복사
(8)아래 11번 항목부터 다시 실행
11.네임노드 포맷
하둡 루트 폴더로 이동(~/hadoop)
./bin/hadoop namenode -format
12.hadoop 실행
./bin/hadoop-daemon.sh start namenode
./bin/hadoop-daemon.sh start secondarynamenode
./bin/hadoop-daemon.sh start jobtracker
./bin/hadoop-daemon.sh start datanode
./bin/hadoop-daemon.sh start tasktracker
* 확인방법 : /cygdrive/c/jdk1.8.0_45/bin/jps
4320 SecondaryNameNode
1780 TaskTracker
3860 NameNode
2552 JobTracker
4940 DataNode
2032 Jps
* mapreduce용 입력 파일 생성
vi input.txt
cat input.txt (확인)
* HDFS에 input.txt 파일 업로드
./bin/hadoop fs -put input.txt input.txt
./bin/hadoop fs -ls (확인)
./bin/hadoop fs -cat input.txt (확인)
* WordCount 실행
./bin/hadoop jar mogaha-wordcount.jar kr.go.mogaha.wordcount.WordCount input.txt wordcount_output
./bin/hadoop fs -cat wordcount_output/part-r-00000 (확인)
13.hadoop 종료
./bin/hadoop-daemon.sh stop namenode
./bin/hadoop-daemon.sh stop secondarynamenode
./bin/hadoop-daemon.sh stop jobtracker
./bin/hadoop-daemon.sh stop datanode
./bin/hadoop-daemon.sh stop tasktracker
----------------------------------------------------------
https://github.com/tomwhite/hadoop-book/tree/master/input/ncdc/all
1901.gz 파일 다운로드
1902.gz 파일 다운로드
* HDFS상에 폴더 생성 및 파일 업로드
$ ./bin/hadoop fs -mkdir maxtemp
$ ./bin/hadoop fs -ls
$ ./bin/hadoop fs -put 1901 maxtemp
$ ./bin/hadoop fs -put 1902 maxtemp
$ ./bin/hadoop fs -ls maxtemp
* 맵리듀스 실행
./bin/hadoop jar mogaha-maxtemp.jar kr.go.mogaha.maxtemp.MaxTemp maxtemp maxtemp_output
./bin/hadoop fs -cat maxtemp_output/part-r-00000 (결과확인)
* 1987년 데이터만 샘플 테스트
./bin/hadoop jar mogaha-delaycount.jar kr.go.mogaha.delaycount.DelayCount delaycount/1987.csv delaycount_output
./bin/hadoop fs -cat delaycount_output/part-r-00000
./bin/hadoop fs -get delaycount_output2/part-r-00000 delaycount.txt (결과 파일을 로컬디스크로 다운로드)
* 실행중인 맵리듀스잡 강제 종료
./bin/hadoop job -kill job_201506120944_0006