118
Department of Computer Science, Kangwon National University Apache Hadoop Study 손시운 2017. 01. 11.

Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

Department of Computer Science, Kangwon National University

Apache Hadoop Study

손시운2017. 01. 11.

Page 2: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

빅데이터

빅데이터란?– 기존의시스템에서는관리하기어려운복잡한형태의대용량데이터

– 또는이러한데이터를처리하기위한기술

빅데이터의 정의: 3V– 크기(Volume)

테라바이트단위의대용량데이터

– 다양성(Variety) 반정형또는비정형데이터

– 속도(Velocity) 대용량데이터를처리하는빠른속도

2017-01-11 2

Page 3: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

Apache Hadoop

하둡(Apache Hadoop)– 가장대표적인빅데이터기술

– 대용량데이터의일괄처리(batch processing)를위한오픈소스분산플랫폼

– HDFS와맵리듀스로구성

특징– 접근성(Accessible): 범용 PC들로구성된클러스터및클라우드컴퓨팅서비스에서실행

– 견고성(Robust): H/W의빈번한고장을가정하여설계하여, 대응이가능

– 확장성(Scalable): 클러스터에단순히컴퓨터(node)를추가하여확장

– 단순성(Simple): 효과적인병렬코드를빠르게작성

2017-01-11 3

Page 4: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

HDFS의구조

HDFS: 대용량의 데이터를분산환경에저장및관리

블록구조파일시스템– 저장하는파일이특정사이즈의블록으로나눠져분산된서버에복제하여저장

– 기본 128MB 사용

2017-01-11 4

640

Page 5: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

기존대용량파일시스템

DAS(Direct-attached Storage)– 서버에직접연결된스토리지(storage)이며, 외장형하드디스크와유사– 여러개의하드디스크를장착할수있는외장케이스를이용하는방식사용

NAS(Network-attached Storage)– 일종의파일서버. 별도의운영체제를사용하며, 파일시스템을안정적으로공유– 주로첨부파일이나이미지같은데이터를저장하는데사용

SAN(Storage Area Network)– DAS의단점을극복하기위해개발– DBMS와 같이안정적이고빠른접근이필요한데이터를저장하는데사용

2017-01-11 5

Page 6: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

HDFS 구성요소

네임노드(NameNode): Master 역할– 하둡의가장필수적인하둡데몬

– HDFS의모든메타데이터를관리

– 클라이언트가 HDFS에저장된파일에접근할수있게함– 단점: 단일실패지점보유

데이터노드(DataNode): Slave 역할– 블록으로나눠진데이터를저장

– 주기적으로네임노드에게하트비트(heartbeat)와블록리포트(block report)를전송

2017-01-11 6

Page 7: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

HDFS 구성요소

2017-01-11 7

Page 8: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

HDFS 구성요소

보조네임노드(Secondary NameNode): Stand-by Master 역할– 주기적으로 HDFS 메타데이터의스냅샷을저장

– 네임노드에오류가발생할경우네임노드의역할을대신수행

2017-01-11 8

Page 9: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

HDFS 메커니즘

Writing to Cluster

2017-01-11 9

Page 10: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

HDFS 메커니즘

Reading from Cluster

2017-01-11 10

Page 11: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

맵리듀스개요(1/6)

프로그램확장 – Word Count(계속)– 단일시스템에서 Word Count의의사코드

2014-01-03 11

단어 개수

as 2do 2i 2

not 1say 1

Page 12: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

맵리듀스개요(2/6)

프로그램확장 – Word Count– 분산된시스템에서 Word Count 의사코드

– 위코드를구현할경우 2가지단점이발생 중앙서버에접근하는컴퓨터에의해병목현상이발생

Word Count 결과가메모리에저장

2014-01-03 12

Page 13: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

맵리듀스개요(3/6)

맵리듀스정의– 구글에서정보검색을위한데이터가공을목적으로개발된분산환경에서의병렬데이터처리기법이자프로그래밍모델

맵리듀스시스템구성

2017-01-11 13

클라이언트

잡트래커

태스크트래커

맵맵맵

리듀스리듀스리듀스

데이터노드

태스크트래커

맵맵맵

리듀스리듀스리듀스

데이터노드

태스크트래커

맵맵맵

리듀스리듀스리듀스

데이터노드

Page 14: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

맵리듀스개요(4/6)

맵리듀스구성요소(계속)– mapper

입력데이터를필터링

reduce가처리할수있는형태로변형

– reducer 값을받아통합

2014-01-03 14

Page 15: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

맵리듀스개요(5/6)

맵리듀스구성요소

– 입력은반드시 (키, 값)으로구성

– 각데이터를 mapper에있는 map함수를호출해처리– mapper는 <k2, v2>형태의리스트로변환

– 키값(k2)가같은경우, 새로운 <k2, list(v2)>의형태로재구성

– reducer에의해 <k3, v3>의형태로로재구성

– MapReduce 프레임워크는자동으로모든결과값을모아파일에기록

2014-01-03 15

입력 출력

map <k1, v1> list(<k2, v2>)reduce <k2, list(v2)> list(<k3, v3>)

Page 16: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

맵리듀스개요(6/6)

맵리듀스를 이용해프로그램확장 – Word Count– Word Count를위한 map과 reduce 함수의의사코드

2014-01-03 16

Page 17: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

YARN

하둡1 MR 시스템의몇가지단점

2017-01-11 17

출처: 최범균, 하둡2 YARN 짧게보기, http://www.slideshare.net/madvirus/2-yarn, 2014.

한 노드에서 실행할 수 있는 Map과Reduce용 태스크개수가제한됨.

즉, 노드에 여유 자원이 있어도그 자원을활용 하지못하는상황이발생.

MR만실행가능.

클러스터의자원배분과 Job 관리를함께수행. 클러스터에서병목지점이됨.

Page 18: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

YARN

YARN: Yet Another Resource Negotiator

주요특징– MR1 시스템의잡트래커가하던두가지역할(자원관리, Job 상태관리)를 ResourceManager와

ApplicationMaster로분리 기존잡트래커에몰리던병목을제거

– 범용컴퓨팅클러스터 맵리듀스외에다양한어플리케이션을실행할수있으며, 어플리케이션마다자원(CPU, 메모리)을할당받음

2017-01-11 18

출처: 최범균, 하둡2 YARN 짧게보기, http://www.slideshare.net/madvirus/2-yarn, 2014.

Page 19: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

YARN

YARN의 구조

2017-01-11 19

출처: 최범균, 하둡2 YARN 짧게보기, http://www.slideshare.net/madvirus/2-yarn, 2014.

어플리케이션마다자원을할당하고, App Master를관리한다.클러스터에 1개

노드의 컨테이너를 관리하고 자원 상태를 RM에통지. 노드당 1개

어플리케이션의실행을관리하고, 상태를 RM에통지어플리케이션당 1개

어플리케이션을실행. 제한된자원을가지고, 상태를 AM에 통지

Page 20: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

YARN

YARN의 실행흐름– 1.클라이언트가 RM에어플리케이션제출

– 2. NM를 통해 AM를 실행

– 3. AM은 RM에 자신을등록– 4. AM은 RM을 통해어플리케이션을실행할컨테이너할당을요청함

– 5. AM은 NM에게할당된컨테이너를실행하라고요청함 (AM은어플리케이션실행에필요한정보를 NM에제공)

– 6.컨테이너에서실행되는어플리케이션은상태정보를 AM에전송

– 7.클라이언트는어플리케이션실행상태정보를얻기위해 AM와 직접통신

– 8.어플리케이션이종료되면 AM은 RM에서자신을제거하고셧다운됨

2017-01-11 20

출처: 최범균, 하둡2 YARN 짧게보기, http://www.slideshare.net/madvirus/2-yarn, 2014.

Page 21: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

하둡클러스터설정

독립실행(Standalone) 모드– 사용자의 H/W 정보없이최소한의환경설정만요구

– 로컬머신에서만실행

가상분산(Pseudo-distributed) 모드– 클러스터가한대로구성되어모든데몬이실행– 코드디버깅시독립실행모드에서의기능을보완

완전분산(Fully-distributed) 모드– 분산저장및연산이가능한모든기능이갖추어진클러스터를구성

2017-01-11 21

Page 22: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

준비물

MS Windows 7 이상

Oracle VirtualBox 5 이상– https://www.virtualbox.org/wiki/Downloads– 미리설치할것

CentOS 7 x86_64 DVD 이미지파일– https://www.centos.org/download/– DVD ISO

2017-01-11 22

호스트서버(Windows)

VirtualBox

VM(CentOS)

VM(CentOS)

VM(CentOS)

네임노드보조네임노드

데이터노드01 데이터노드02

Page 23: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

가상머신설치

MN서버

2017-01-11 23

Page 24: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

VirtualBox 실행

[새로만들기(N)] 클릭

2017-01-11 24

Page 25: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

MN서버가상머신생성

이름및운영체제– 이름: MN– 종류: Linux– 버전: Red Hat (64-bit)

[다음(N)] 클릭

2017-01-11 25

Page 26: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

MN서버가상머신생성

메모리크기– 추천메모리크기로...

다음(N) 클릭

2017-01-11 26

Page 27: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

MN서버가상머신생성

하드디스크– [지금새가상하드디스크만들기(C)] 체크

[만들기] 클릭

2017-01-11 27

Page 28: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

MN서버가상머신생성

하드디스크파일종류– [VDI (VirtualBox 디스크이미지)] 체크

다음(N) 클릭

2017-01-11 28

Page 29: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

MN서버가상머신생성

물리적하드드라이브에저장– [동적할당(D)] 체크

[다음(N)] 클릭

2017-01-11 29

Page 30: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

MN서버가상머신생성

파일위치및크기– 기본값으로...

[만들기] 클릭

2017-01-11 30

Page 31: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

MN서버가상머신생성

생성완료

2017-01-11 31

Page 32: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

MN서버에 CentOS 이미지파일연결

MN 가상머신우클릭 > [설정]

2017-01-11 32

Page 33: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

MN서버에 CentOS 이미지파일연결

[저장소] > [컨트롤러: IDE]의 [비어있음]을클릭

[광학드라이브] 오른쪽의 CD 아이콘클릭

[가상광학디스크파일선택] 클릭 > 다운로드받은 CentOS 이미지파일선택

2017-01-11 33

Page 34: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

MN서버의네트워크어댑터설정

[네트워크] 탭– [어댑터 1]는 NAT로설정, [어댑터 2]는호스트전용어댑터로설정

2017-01-11 34

Page 35: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

MN서버 CentOS 설치

MN 실행– [Install CentOS Linux 7] 실행

설치과정– [한국어] 체크– [계속진행] 클릭

2017-01-11 35

Page 36: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

MN서버 CentOS 설치

[소프트웨어 선택] 클릭

2017-01-11 36

Page 37: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

MN서버 CentOS 설치

소프트웨어 선택– 기본환경에서 [GNOME 데스크탑] 체크 > 선택한환경의기능에서 [개발용도구] 체크– [완료] 클릭

2017-01-11 37

Page 38: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

MN서버 CentOS 설치

설치대상– 변경없이 [완료] 클릭

2017-01-11 38

Page 39: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

MN서버 CentOS 설치

네트워크 & 호스트이름– 이더넷 (enp0s3)의네트워크를켬으로변경

– 호스트이름을 MN으로수정후 [적용]

[완료] 클릭

[설치시작] 클릭

2017-01-11 39

Page 40: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

MN서버 CentOS 설치

[ROOT 암호] 클릭

2017-01-11 40

Page 41: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

MN서버 CentOS 설치

ROOT 암호– 루트계정의암호를입력

– 실습에서는간단히 “1234”를사용

[완료] 클릭

2017-01-11 41

Page 42: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

MN서버 CentOS 설치

사용자생성– 성명에 hadoop을입력

– [이사용자를관리자로합니다] 체크– 암호입력– 실습에서는 “hadoop”을사용

[완료] 클릭

2017-01-11 42

Page 43: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

MN서버 CentOS 설치

설치중...

2017-01-11 43

Page 44: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

MN서버 CentOS 설치

설치가완료되면자동으로재부팅

2017-01-11 44

Page 45: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

MN서버네트워크설정

hadoop 계정으로로그인– 우측상단의메뉴를클릭 > 설정아이콘클릭

2017-01-11 45

Page 46: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

MN서버네트워크설정

하드웨어 > [네트워크] 클릭

2017-01-11 46

Page 47: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

MN서버네트워크설정

[이더넷 (enp0s8)] 클릭 > 우측하단의설정아이콘클릭

2017-01-11 47

Page 48: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

MN서버네트워크설정

수동 IP 설정– IPv4에서네트워크를켬으로변경

– IP 할당방식을 [수동]으로변경

– 주소에 192.168.56.100을입력– 네트마스크에 255.255.255.0을입력

– 게이트웨이에 192.168.56.1을입력

– 네임서버에 168.126.63.1을입력

[적용] 클릭

2017-01-11 48

Page 49: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

가상머신설치

SN01

2017-01-11 49

Page 50: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

VirtualBox 실행

[새로만들기(N)] 클릭

2017-01-11 50

Page 51: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

SN01 서버가상머신생성

이름및운영체제– 이름: SN01– 종류: Linux– 버전: Red Hat (64-bit)

[다음(N)] 클릭

2017-01-11 51

Page 52: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

SN01 서버가상머신생성

메모리크기– 추천메모리크기로...

다음(N) 클릭

2017-01-11 52

Page 53: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

SN01 서버가상머신생성

하드디스크– [지금새가상하드디스크만들기(C)] 체크

[만들기] 클릭

2017-01-11 53

Page 54: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

SN01 서버가상머신생성

하드디스크파일종류– [VDI (VirtualBox 디스크이미지)] 체크

다음(N) 클릭

2017-01-11 54

Page 55: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

SN01 서버가상머신생성

물리적하드드라이브에저장– [동적할당(D)] 체크

[다음(N)] 클릭

2017-01-11 55

Page 56: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

SN01 서버가상머신생성

파일위치및크기– 기본값으로...

[만들기] 클릭

2017-01-11 56

Page 57: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

SN01 서버가상머신생성

생성완료

2017-01-11 57

Page 58: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

SN01 서버에 CentOS 이미지파일연결

SN01 가상머신우클릭 > [설정]

2017-01-11 58

Page 59: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

SN01 서버에 CentOS 이미지파일연결

[저장소] > [컨트롤러: IDE]의 [비어있음]을클릭

[광학드라이브] 오른쪽의 CD 아이콘클릭

[가상광학디스크파일선택] 클릭 > 다운로드받은 CentOS 이미지파일선택

2017-01-11 59

Page 60: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

SN01 서버의네트워크어댑터설정

[네트워크] 탭– [어댑터 1]는 NAT로설정, [어댑터 2]는호스트전용어댑터로설정

2017-01-11 60

Page 61: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

SN01 서버 CentOS 설치

SN01 실행– [Install CentOS Linux 7] 실행

설치과정– [한국어] 체크– [계속진행] 클릭

2017-01-11 61

Page 62: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

SN01 서버 CentOS 설치

[소프트웨어 선택] 클릭

2017-01-11 62

Page 63: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

SN01 서버 CentOS 설치

소프트웨어 선택– 기본환경에서 [최소설치] 체크 > 선택한환경의기능에서 [개발용도구] 체크– [완료] 클릭

2017-01-11 63

Page 64: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

SN01 서버 CentOS 설치

설치대상– 변경없이 [완료] 클릭

2017-01-11 64

Page 65: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

SN01 서버 CentOS 설치

네트워크 & 호스트이름– 이더넷 (enp0s3)의네트워크를켬으로변경

– 호스트이름을 SN01로수정후 [적용]

[완료] 클릭

[설치시작] 클릭

2017-01-11 65

Page 66: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

SN01 서버 CentOS 설치

[ROOT 암호] 클릭

2017-01-11 66

Page 67: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

SN01 서버 CentOS 설치

ROOT 암호– 루트계정의암호를입력

– 실습에서는간단히 “1234”를사용

[완료] 클릭

2017-01-11 67

Page 68: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

SN01 서버 CentOS 설치

사용자생성– 성명에 hadoop을입력

– [이사용자를관리자로합니다] 체크– 암호입력– 실습에서는 “hadoop”을사용

[완료] 클릭

2017-01-11 68

Page 69: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

SN01 서버 CentOS 설치

설치중...

2017-01-11 69

Page 70: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

SN01 서버네트워크설정

루트계정으로로그인– $ yum install -y net-tools

2017-01-11 70

Page 71: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

SN01 서버네트워크설정

정적 IP 할당– $ vi /etc/sysconfig/network-scripts/ifcfg-enp0s8– BOOTPROTO, ONBOOT 항목수정

– IPADDR, NETMASK, GATEWAY 추가

2017-01-11 71

Page 72: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

SN01 서버네트워크설정

네트워크재시작– $ service network restart

MN서버에게 ping– $ ping 192.168. 56.100

2017-01-11 72

Page 73: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

가상머신설치

SN02

2017-01-11 73

Page 74: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

SN01 서버복제

SN01 서버종료– $ shutdown -h now

2017-01-11 74

Page 75: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

SN01 서버복제

서버복제– SN01 서버우클릭 > [복제] 클릭

2017-01-11 75

Page 76: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

SN01 서버복제

새머신이름– SN02 입력– [모든네트워크카드의 MAC 주소초기화] 체크

[다음] 클릭

2017-01-11 76

Page 77: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

SN01 서버복제

복제방식– [완전한복제] 체크

[복제] 클릭

2017-01-11 77

Page 78: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

SN02 서버실행

서버실행후루트계정로그인– 현재호스트명이 SN01이므로변경

2017-01-11 78

Page 79: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

호스트명변경

호스트명을 SN02로 변경– $ hostnamectl set-hostname SN02

로그아웃하면 SN02로 변경되어있음

2017-01-11 79

Page 80: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

SN02 서버네트워크설정

정적 IP 할당– $ vi /etc/sysconfig/network-scripts/ifcfg-enp0s8– IPADDR 수정

2017-01-11 80

Page 81: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

SN02 서버네트워크설정

네트워크재시작– $ service network restart

MN 서버에게핑– $ ping 192.168.56.100

2017-01-11 81

Page 82: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

하둡설치

2017-01-11 82

Page 83: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

호스트명추가

모든서버에서 /etc/hosts 파일수정– $ sudo vi /etc/hosts– 192.168.56.100 MN– 192.168.56.101 SN01– 192.168.56.102 SN02

2017-01-11 83

Page 84: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

SSH 공개키배포

모든서버에서 SSH 공개키생성– $ ssh-keygen -t rsa

[Enter], [Enter], ...

2017-01-11 84

Page 85: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

SSH 공개키배포

키배포– $ scp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys– $ scp ~/.ssh/id_rsa.pub SN01:~/.ssh/authorized_keys– $ scp ~/.ssh/id_rsa.pub SN02:~/.ssh/authorized_keys

2017-01-11 85

Page 86: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

SSH 공개키배포

SSH 확인– $ ssh MN– $ ssh SN01– $ ssh SN02– MN, SN01, SN02에 ssh로접근했을때, 암호없이로그인해야함

2017-01-11 86

Page 87: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

Java 설치

모든서버에서 Java 설치– $ sudo yum install -y java-1.8.0-openjdk-devel.x86_64

모든서버에서 Java 환경변수등록– $ vi ~/.bashrc– export JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.x86_64/"– export PATH=$PATH:$JAVA_HOME/bin/:– $ source ~/.bashrc

2017-01-11 87

Page 88: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

하둡다운로드

하둡홈페이지접속후 [Releases] 클릭

2017-01-11 88

Page 89: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

하둡다운로드

필요한버전의 tarball을 받기위해 [binary] 클릭– 이문서는 Hadoop 2.6.5 사용

2017-01-11 89

Page 90: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

하둡다운로드

Apache에서 추천하는 미러사이트의경로확인– http://apache.tt.co.kr/hadoop/common/hadoop-2.6.5/hadoop-2.6.5.tar.gz

2017-01-11 90

Page 91: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

하둡다운로드

MN 서버에서하둡다운로드– wget http://apache.tt.co.kr/hadoop/common/hadoop-2.6.5/hadoop-2.6.5.tar.gz

하둡압축해제– $ tar -zxf hadoop-2.6.5.tar.gz

2017-01-11 91

Page 92: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

하둡홈디렉터리

2017-01-11 92

Page 93: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

하둡환경설정

2017-01-11 93

Page 94: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

하둡환경설정

core-site.xml– $ vi core-site.xml

2017-01-11 94

<configuration><property>

<name>fs.defaultFS</name><value>hdfs://MN:9000</value><final>true</final>

</property><property>

<name>hadoop.tmp.dir</name><value>/home/whadoop/hadoop-${user.name}</value>

</property></configuration>

Page 95: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

하둡환경설정

hadoop-env.sh– $ vi hadoop-env.sh

2017-01-11 95

# export JAVA_HOME=${JAVA_HOME}export JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.x86_64/"

Page 96: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

하둡환경설정

hdfs-site.xml– $ vi hdfs-site.xml

2017-01-11 96

<configuration><property>

<name>dfs.namenode.name.dir</name><value>${hadoop.tmp.dir}/dfs/name</value><final>true</final>

</property>

<property><name>dfs.datanode.data.dir</name><value>${hadoop.tmp.dir}/dfs/data</value><final>true</final>

</property>

<property><name>dfs.replication</name><value>2</value>

</property>

<property><name>dfs.namenode.acls.enabled</name><value>true</value>

</property></configuration>

Page 97: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

하둡환경설정

mapred-site.xml– $ cp mapred-site.xml.template mapred-site.xml– $ vi mapred-site.xml

2017-01-11 97

<configuration><property>

<name>mapreduce.framework.name</name><value>yarn</value>

</property>

<property><name>mapred.system.dir</name><value>${hadoop.tmp.dir}/mapred/system</value><final>true</final>

</property>

<property><name>mapred.local.dir</name><value>${hadoop.tmp.dir}/mapred/local</value><final>true</final>

</property><property>

<name>mapreduce.tasktracker.taskcontroller</name><value>org.apache.hadoop.mapred.LinuxTaskController</value>

</property>

<property><name>mapreduce.tasktracker.group</name><value>hadoop</value>

</property></configuration>

Page 98: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

하둡환경설정

slaves– $ vi slaves

2017-01-11 98

SN01SN02

Page 99: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

하둡환경설정

yarn-site.xml– $ vi yarn-site.xml

2017-01-11 99

<configuration><property>

<name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value>

</property>

<property><name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name><value>org.apache.hadoop.mapred.ShuffleHandler</value>

</property>

<property><name>yarn.resourcemanager.address</name><value>MN:8032</value>

</property><property>

<name>yarn.resourcemanager.scheduler.address</name><value>MN:8030</value>

</property><property>

<name>yarn.resourcemanager.resource-tracker.address</name><value>MN:8031</value>

</property></configuration>

Page 100: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

하둡배포

모든데이터노드에게 네임노드에서 환경설정한하둡을배포– $ while read line; do– > scp -r ~/hadoop-2.6.5 ${line}:~/;– > done < ~/hadoop-2.6.5/etc/hadoop/slaves

하둡심볼링링크생성(모든노드에서작업)– $ ln -s ~/hadoop-2.6.5 ~/hadoop

2017-01-11 100

Page 101: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

하둡환경변수등록

Java 및하둡의환경변수등록– $ vi ~/.bashrc

– $ source ~/.bashrc

2017-01-11 101

export HADOOP_HOME=/home/hadoop/hadoop

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

Page 102: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

하둡실행

HDFS format– $ hdfs namenode -format

2017-01-11 102

Page 103: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

하둡실행

HDFS 및 YARN 구동– $ start-dfs.sh #네임노드에서만– $ start-yarn.sh #네임노드에서만– $ jps #모든노드에서

2017-01-11 103

Page 104: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

하둡사용하기

HDFS

2017-01-11 104

Page 105: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

HDFS 명령어

Usage: hdfs dfs [generic options]– [-appendToFile <localsrc> ... <dst>]– [-cat [-ignoreCrc] <src> ...]– [-checksum <src> ...]– [-chgrp [-R] GROUP PATH...]– [-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH...]– [-chown [-R] [OWNER][:[GROUP]] PATH...]– [-copyFromLocal [-f] [-p] [-l] <localsrc> ... <dst>]– [-copyToLocal [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]– [-count [-q] [-h] <path> ...]– [-cp [-f] [-p | -p[topax]] <src> ... <dst>]– [-createSnapshot <snapshotDir> [<snapshotName>]]– [-deleteSnapshot <snapshotDir> <snapshotName>]– [-df [-h] [<path> ...]]– [-du [-s] [-h] <path> ...]– [-expunge]– [-get [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]– [-getfacl [-R] <path>]– [-getfattr [-R] {-n name | -d} [-e en] <path>]

– [-getmerge [-nl] <src> <localdst>]– [-help [cmd ...]]– [-ls [-d] [-h] [-R] [<path> ...]]– [-mkdir [-p] <path> ...]– [-moveFromLocal <localsrc> ... <dst>]– [-moveToLocal <src> <localdst>]– [-mv <src> ... <dst>]– [-put [-f] [-p] [-l] <localsrc> ... <dst>]– [-renameSnapshot <snapshotDir> <oldName> <newName>]– [-rm [-f] [-r|-R] [-skipTrash] <src> ...]– [-rmdir [--ignore-fail-on-non-empty] <dir> ...]– [-setfacl [-R] [{-b|-k} {-m|-x <acl_spec>} <path>]|[--

set<acl_spec> <path>]]– [-setfattr {-n name [-v value] | -x name} <path>]– [-setrep [-R] [-w] <rep> <path> ...]– [-stat [format] <path> ...]– [-tail [-f] <file>]– [-test -[defsz] <path>]– [-text [-ignoreCrc] <src> ...]– [-touchz <path> ...]– [-usage [cmd ...]]

2017-01-11 105

http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/FileSystemShell.html

Page 106: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

HDFS 간단한예제

e.g. 파일저장및가져오기

2017-01-11 106

Page 107: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

Name Node Web UI

http://192.168.56.100:50070/

2017-01-11 107

Page 108: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

하둡사용하기

맵리듀스

2017-01-11 108

Page 109: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

예제: Word Count

Word Count– 문서집합에포함된단어의개수를집계

2017-01-11 109

Page 110: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

예제: Word Count

맵리듀스입력파일저장– $ hdfs dfs -mkdir /input– $ hdfs dfs -put hadoop/LICENSE.txt /input– $ hdfs dfs -ls /input

2017-01-11 110

Page 111: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

예제: Word Count

Word Count 실행– $ hadoop jar hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.5.jar wordcount /input

/output

2017-01-11 111

Page 112: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

예제: Word Count

Word Count 결과확인– $ hdfs dfs -ls /output– $ hdfs dfs -tail /output/part-r-00000

2017-01-11 112

Page 113: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

Word Count 구현

Mapper

2017-01-11 113

Page 114: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

Word Count 구현

Reducer

2017-01-11 114

Page 115: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

Word Count 구현

main 메서드

2017-01-11 115

Page 116: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

Word Count 구현

소스코드를 저장할디렉터리생성$ mkdir ~/wordcount$ cd ~/wordcount

소스코드구현

컴파일– mkdir classes– javac -classpath /home/hadoop/hadoop/share/hadoop/common/hadoop-common-

2.6.5.jar:/home/hadoop/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-client-core-2.6.5.jar:/home/hadoop/hadoop/share/hadoop/common/lib/commons-cli-1.2.jar -d classes/ WordCount.java

– jar cvf WordCount.jar classes/*

실행– hadoop jar ./WordCount.jar WordCount /input /output2

2017-01-11 116

Page 117: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

Resource Manager Web UI

http://192.168.56.100:8088/

2017-01-11 117

Page 118: Apache Hadoop Study - cs.kangwon.ac.krcs.kangwon.ac.kr/~swson/17Winter_HD/1701_Apache_Hadoop.pdf · – 사용자의H/W 정보없이최소한의환경설정만요구 – 로컬머신에서만실행

부록

SSH 접속이오래걸리는문제– vi /etc/ssh/sshd_config– UseDNS no– service sshd restart

yum에서 ErrNo 12 문제– yum clean all– yum update

File /input/LICENSE.txt._COPYING_ could only be replicated to 0 nodes instead of minReplication (=1). There are 2 datanode(s) running and 2 node(s) are excluded in this operation.– sudo service firewalld stop

2017-01-11 118