DKE Templete

Similar documents
슬라이드 1

DKE Templete

Splentec V-WORM Quick Installation Guide Version: 1.0 Contact Information 올리브텍 주소 : 경기도성남시분당구구미로 11 ( 포인트타운 701호 ) URL: E-M

리한다. 그리고오픈소스이기때문에소규모회사및단체에서도무료로사용할수있으며디버깅, 모니터링을위한환경도제공한다. 본보고서에서는 Hadoop의설치를다루었던이전 TR [1] 에이어가상분산처리환경이아닌실제완전분산처리환경을구축하는방법에대해알아본다. 본보고서에서완전분산처리환경을구축하기

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Windows 8에서 BioStar 1 설치하기

Copyright 2004 Sun Microsystems, Inc Network Circle, Santa Clara, CA U.S.A..,,. Sun. Sun. Berkeley BSD. UNIX X/Open Company, Ltd.. Sun, Su

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드]

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

01장

본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게 해 주는 프로그램입니다. 다양한 기능을 하는 플러그인과 디자인

소프트웨어설치 1. 소프트웨어설치및제거 ( 소스코드 ) 소스코드컴파일을이용한 S/W 설치 1. 소스코드다운로드 - 예 ) httpd tar.gz - 압축해제 : #tar xzvf httpd tar.gz - INSTALL 또는 README파일참조

슬라이드 1

<30322E F6F7020BCB3C4A1BFCD20BED6C7C3B8AEC4C9C0CCBCC7C0C720B1B8B5BF28B1DDC5C2C8C62C20B1E8BCBCC8B82C20C0CCBBF3C1D8292E687770>

PowerPoint 프레젠테이션

Interstage5 SOAP서비스 설정 가이드

PowerPoint 프레젠테이션

운영체제실습_명령어

슬라이드 1

28 THE ASIAN JOURNAL OF TEX [2] ko.tex [5]

PowerPoint 프레젠테이션

Cloud Friendly System Architecture

네이버블로그 :: 포스트내용 Print VMw are 에서 Linux 설치하기 (Centos 6.3, 리눅스 ) Linux 2013/02/23 22:52 /carrena/ VMware 에서 l

단계

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

1. efolder 시스템구성 A. DB B. apache - mod-perl - PHP C. SphinxSearch ( 검색서비스 ) D. File Storage 2. efolder 설치순서 A. DB (MySQL) B. efolder Service - efolder

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

PowerPoint 프레젠테이션

슬라이드 1

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

/chroot/lib/ /chroot/etc/

PowerPoint Template

슬라이드 1


VMware vsphere

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

항목

PowerPoint 프레젠테이션

JDK이클립스

Sun Java System Messaging Server 63 64

PowerPoint 프레젠테이션

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.

MySQL-Ch10

Install stm32cubemx and st-link utility

chapter1,2.doc

Raspbian 설치 라즈비안 OS (Raspbian OS) 라즈베리파이 3 Model B USB 마우스 USB 키보드 마이크로 SD 카드 마이크로 SD 카드리더기 HDM I 케이블모니터

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

Microsoft PowerPoint 자동설치시스템검증-V05-Baul.pptx

Microsoft PowerPoint - comp_prac_081223_2.pptx

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

PowerPoint 프레젠테이션

Mango-IMX6Q mfgtool을 이용한 이미지 Write하기

PowerPoint 프레젠테이션

About me 현 ) 그루터 ( 책임개발자 전 ) 큐릭스, NHN, 엔씨소프트 저서 ) 시작하세요! 하둡프로그래밍 : 기초부터실무

메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - postfix) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i postfix spf-filter 년 6 월

SBR-100S User Manual

<31332DB9E9C6AEB7A2C7D8C5B72D3131C0E528BACEB7CF292E687770>

1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot)

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Dropbox Forensics

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

슬라이드 1

본교재는수업용으로제작된게시물입니다. 영리목적으로사용할경우저작권법제 30 조항에의거법적처벌을받을수있습니다. [ 실습 ] 스위치장비초기화 1. NVRAM 에저장되어있는 'startup-config' 파일이있다면, 삭제를실시한다. SWx>enable SWx#erase sta

<4D F736F F F696E74202D20B8F9B0EDB5F0BAF15F32B1E220BDC9C8ADB0FAC1A4>

Report Designer V3.0 사용설명서 2장

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

Solaris 10 (x86) Installation Guide for VMware 7 Writer : 이경호

슬라이드 제목 없음

Snort Install Manual Ad2m VMware libnet tar.gz DebianOS libpcap tar.gz Putty snort tar.gz WinSCP snort rules 1. 첫번째로네트워크설정 1) ifconf

< 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10

1217 WebTrafMon II

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,,,,,,,,,,,,,.,..., U.S. GOVERNMENT END USERS. Oracle programs, including any operat

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University

슬라이드 1

PowerPoint 프레젠테이션

PowerPoint Presentation

vm-웨어-01장

MF5900 Series MF Driver Installation Guide


Hadoop 예제 실행 매뉴얼

Report Designer V3.0 사용설명서 2장

[Brochure] KOR_TunA

워드표준 가이드

6. 설치가시작되는동안 USB 드라이버가자동으로로드됩니다. USB 드라이버가성공적으로로드되면 Setup is starting( 설치가시작되는중 )... 화면이표시됩니다. 7. 화면지침에따라 Windows 7 설치를완료합니다. 방법 2: 수정된 Windows 7 ISO

PRO1_04E [읽기 전용]

초보자를 위한 분산 캐시 활용 전략

Assign an IP Address and Access the Video Stream - Installation Guide

스마트월드캠퍼스 교육교제

LXR 설치 및 사용법.doc

4S 1차년도 평가 발표자료

컴퓨터관리2번째시간

Oracle VM VirtualBox 설치 VirtualBox에서 가상머신 설치 가상머신에 Ubuntu 설치

PowerPoint 프레젠테이션

<49534F C0CEC1F520BBE7C8C4BDC9BBE720C4C1BCB3C6C320B9D D20BDC3BDBAC5DB20B0EDB5B5C8AD20C1A6BEC8BFE4C3BBBCAD2E687770>

Transcription:

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

빅데이터 빅데이터란? 기존의시스템에서는관리하기어려운복잡한형태의대용량데이터 또는이러한데이터를처리하기위한기술 빅데이터의정의 : 3V 크기 (Volume) 테라바이트단위의대용량데이터 다양성 (Variety) 반정형또는비정형데이터 속도 (Velocity) 대용량데이터를처리하는빠른속도 2017-01-11 2

Apache Hadoop 하둡 (Apache Hadoop) 가장대표적인빅데이터기술 대용량데이터의일괄처리 (batch processing) 를위한오픈소스분산플랫폼 HDFS와맵리듀스로구성 특징 접근성 (Accessible): 범용 PC들로구성된클러스터및클라우드컴퓨팅서비스에서실행 견고성 (Robust): H/W의빈번한고장을가정하여설계하여, 대응이가능 확장성 (Scalable): 클러스터에단순히컴퓨터 (node) 를추가하여확장 단순성 (Simple): 효과적인병렬코드를빠르게작성 2017-01-11 3

HDFS 의구조 HDFS: 대용량의데이터를분산환경에저장및관리 블록구조파일시스템 저장하는파일이특정사이즈의블록으로나눠져분산된서버에복제하여저장 기본 128MB 사용 640 2017-01-11 4

기존대용량파일시스템 DAS(Direct-attached Storage) 서버에직접연결된스토리지 (storage) 이며, 외장형하드디스크와유사 여러개의하드디스크를장착할수있는외장케이스를이용하는방식사용 NAS(Network-attached Storage) 일종의파일서버. 별도의운영체제를사용하며, 파일시스템을안정적으로공유 주로첨부파일이나이미지같은데이터를저장하는데사용 SAN(Storage Area Network) DAS 의단점을극복하기위해개발 DBMS 와같이안정적이고빠른접근이필요한데이터를저장하는데사용 2017-01-11 5

HDFS 구성요소 네임노드 (NameNode): Master 역할 하둡의가장필수적인하둡데몬 HDFS의모든메타데이터를관리 클라이언트가 HDFS에저장된파일에접근할수있게함 단점 : 단일실패지점보유 데이터노드 (DataNode): Slave 역할 블록으로나눠진데이터를저장 주기적으로네임노드에게하트비트 (heartbeat) 와블록리포트 (block report) 를전송 2017-01-11 6

HDFS 구성요소 2017-01-11 7

HDFS 구성요소 보조네임노드 (Secondary NameNode): Stand-by Master 역할 주기적으로 HDFS 메타데이터의스냅샷을저장 네임노드에오류가발생할경우네임노드의역할을대신수행 2017-01-11 8

HDFS 메커니즘 Writing to Cluster 2017-01-11 9

HDFS 메커니즘 Reading from Cluster 2017-01-11 10

맵리듀스개요 (1/6) 프로그램확장 Word Count( 계속 ) 단일시스템에서 Word Count 의의사코드 단어 개수 as 2 do 2 i 2 not 1 say 1 2014-01-03 11

맵리듀스개요 (2/6) 프로그램확장 Word Count 분산된시스템에서 Word Count 의사코드 위코드를구현할경우 2 가지단점이발생 중앙서버에접근하는컴퓨터에의해병목현상이발생 Word Count 결과가메모리에저장 2014-01-03 12

맵리듀스개요 (3/6) 맵리듀스정의 구글에서정보검색을위한데이터가공을목적으로개발된분산환경에서의병렬데이터처리기법이자프로그래밍모델 맵리듀스시스템구성 클라이언트 잡트래커 데이터노드 태스크트래커 데이터노드 태스크트래커 데이터노드 태스크트래커 맵맵맵 리듀스리듀스리듀스 맵맵맵 리듀스리듀스리듀스 맵맵맵 리듀스리듀스리듀스 2017-01-11 13

맵리듀스개요 (4/6) 맵리듀스구성요소 ( 계속 ) mapper 입력데이터를필터링 reduce가처리할수있는형태로변형 reducer 값을받아통합 2014-01-03 14

맵리듀스개요 (5/6) 맵리듀스구성요소 입력 출력 map <k1, v1> list(<k2, v2>) reduce <k2, list(v2)> list(<k3, v3>) 입력은반드시 ( 키, 값 ) 으로구성 각데이터를 mapper에있는 map함수를호출해처리 mapper는 <k2, v2> 형태의리스트로변환 키값 (k2) 가같은경우, 새로운 <k2, list(v2)> 의형태로재구성 reducer에의해 <k3, v3> 의형태로로재구성 MapReduce 프레임워크는자동으로모든결과값을모아파일에기록 2014-01-03 15

맵리듀스개요 (6/6) 맵리듀스를이용해프로그램확장 Word Count Word Count 를위한 map 과 reduce 함수의의사코드 2014-01-03 16

YARN 출처 : 최범균, 하둡 2 YARN 짧게보기, http://www.slideshare.net/madvirus/2-yarn, 2014. 하둡 1 MR 시스템의몇가지단점 클러스터의자원배분과 Job 관리를함께수행. 클러스터에서병목지점이됨. 한노드에서실행할수있는 Map 과 Reduce 용태스크개수가제한됨. 즉, 노드에여유자원이있어도그자원을활용하지못하는상황이발생. MR 만실행가능. 2017-01-11 17

YARN 출처 : 최범균, 하둡 2 YARN 짧게보기, http://www.slideshare.net/madvirus/2-yarn, 2014. YARN: Yet Another Resource Negotiator 주요특징 MR1 시스템의잡트래커가하던두가지역할 ( 자원관리, Job 상태관리 ) 를 ResourceManager 와 ApplicationMaster 로분리 기존잡트래커에몰리던병목을제거 범용컴퓨팅클러스터 맵리듀스외에다양한어플리케이션을실행할수있으며, 어플리케이션마다자원 (CPU, 메모리 ) 을할당받음 2017-01-11 18

YARN 출처 : 최범균, 하둡 2 YARN 짧게보기, http://www.slideshare.net/madvirus/2-yarn, 2014. YARN 의구조 어플리케이션마다자원을할당하고, App Master 를관리한다. 클러스터에 1 개 노드의컨테이너를관리하고자원상태를 RM 에통지. 노드당 1 개 어플리케이션의실행을관리하고, 상태를 RM 에통지어플리케이션당 1 개 어플리케이션을실행. 제한된자원을가지고, 상태를 AM 에통지 2017-01-11 19

YARN 출처 : 최범균, 하둡 2 YARN 짧게보기, http://www.slideshare.net/madvirus/2-yarn, 2014. 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

하둡클러스터설정 독립실행 (Standalone) 모드 사용자의 H/W 정보없이최소한의환경설정만요구 로컬머신에서만실행 가상분산 (Pseudo-distributed) 모드 클러스터가한대로구성되어모든데몬이실행 코드디버깅시독립실행모드에서의기능을보완 완전분산 (Fully-distributed) 모드 분산저장및연산이가능한모든기능이갖추어진클러스터를구성 2017-01-11 21

준비물 MS Windows 7 이상 Oracle VirtualBox 5 이상 https://www.virtualbox.org/wiki/downloads 미리설치할것 네임노드보조네임노드 VM (CentOS) 데이터노드 01 데이터노드 02 VM (CentOS) VM (CentOS) CentOS 7 x86_64 DVD 이미지파일 https://www.centos.org/download/ DVD ISO VirtualBox 호스트서버 (Windows) 2017-01-11 22

가상머신설치 MN 서버 2017-01-11 23

VirtualBox 실행 [ 새로만들기 (N)] 클릭 2017-01-11 24

MN 서버가상머신생성 이름및운영체제 이름 : MN 종류 : Linux 버전 : Red Hat (64-bit) [ 다음 (N)] 클릭 2017-01-11 25

MN 서버가상머신생성 메모리크기 추천메모리크기로... 다음 (N) 클릭 2017-01-11 26

MN 서버가상머신생성 하드디스크 [ 지금새가상하드디스크만들기 (C)] 체크 [ 만들기 ] 클릭 2017-01-11 27

MN 서버가상머신생성 하드디스크파일종류 [VDI (VirtualBox 디스크이미지 )] 체크 다음 (N) 클릭 2017-01-11 28

MN 서버가상머신생성 물리적하드드라이브에저장 [ 동적할당 (D)] 체크 [ 다음 (N)] 클릭 2017-01-11 29

MN 서버가상머신생성 파일위치및크기 기본값으로... [ 만들기 ] 클릭 2017-01-11 30

MN 서버가상머신생성 생성완료 2017-01-11 31

MN 서버에 CentOS 이미지파일연결 MN 가상머신우클릭 > [ 설정 ] 2017-01-11 32

MN 서버에 CentOS 이미지파일연결 [ 저장소 ] > [ 컨트롤러 : IDE] 의 [ 비어있음 ] 을클릭 [ 광학드라이브 ] 오른쪽의 CD 아이콘클릭 [ 가상광학디스크파일선택 ] 클릭 > 다운로드받은 CentOS 이미지파일선택 2017-01-11 33

MN 서버의네트워크어댑터설정 [ 네트워크 ] 탭 [ 어댑터 1] 는 NAT 로설정, [ 어댑터 2] 는호스트전용어댑터로설정 2017-01-11 34

MN 서버 CentOS 설치 MN 실행 [Install CentOS Linux 7] 실행 설치과정 [ 한국어 ] 체크 [ 계속진행 ] 클릭 2017-01-11 35

MN 서버 CentOS 설치 [ 소프트웨어선택 ] 클릭 2017-01-11 36

MN 서버 CentOS 설치 소프트웨어선택 기본환경에서 [GNOME 데스크탑 ] 체크 > 선택한환경의기능에서 [ 개발용도구 ] 체크 [ 완료 ] 클릭 2017-01-11 37

MN 서버 CentOS 설치 설치대상 변경없이 [ 완료 ] 클릭 2017-01-11 38

MN 서버 CentOS 설치 네트워크 & 호스트이름 이더넷 (enp0s3) 의네트워크를켬으로변경 호스트이름을 MN으로수정후 [ 적용 ] [ 완료 ] 클릭 [ 설치시작 ] 클릭 2017-01-11 39

MN 서버 CentOS 설치 [ROOT 암호 ] 클릭 2017-01-11 40

MN 서버 CentOS 설치 ROOT 암호 루트계정의암호를입력 실습에서는간단히 1234 를사용 [ 완료 ] 클릭 2017-01-11 41

MN 서버 CentOS 설치 사용자생성 성명에 hadoop을입력 [ 이사용자를관리자로합니다 ] 체크 암호입력 실습에서는 hadoop 을사용 [ 완료 ] 클릭 2017-01-11 42

MN 서버 CentOS 설치 설치중... 2017-01-11 43

MN 서버 CentOS 설치 설치가완료되면자동으로재부팅 2017-01-11 44

MN 서버네트워크설정 hadoop 계정으로로그인 우측상단의메뉴를클릭 > 설정아이콘클릭 2017-01-11 45

MN 서버네트워크설정 하드웨어 > [ 네트워크 ] 클릭 2017-01-11 46

MN 서버네트워크설정 [ 이더넷 (enp0s8)] 클릭 > 우측하단의설정아이콘클릭 2017-01-11 47

MN 서버네트워크설정 수동 IP 설정 IPv4에서네트워크를켬으로변경 IP 할당방식을 [ 수동 ] 으로변경 주소에 192.168.56.100을입력 네트마스크에 255.255.255.0을입력 게이트웨이에 192.168.56.1을입력 네임서버에 168.126.63.1을입력 [ 적용 ] 클릭 2017-01-11 48

가상머신설치 SN01 2017-01-11 49

VirtualBox 실행 [ 새로만들기 (N)] 클릭 2017-01-11 50

SN01 서버가상머신생성 이름및운영체제 이름 : SN01 종류 : Linux 버전 : Red Hat (64-bit) [ 다음 (N)] 클릭 2017-01-11 51

SN01 서버가상머신생성 메모리크기 추천메모리크기로... 다음 (N) 클릭 2017-01-11 52

SN01 서버가상머신생성 하드디스크 [ 지금새가상하드디스크만들기 (C)] 체크 [ 만들기 ] 클릭 2017-01-11 53

SN01 서버가상머신생성 하드디스크파일종류 [VDI (VirtualBox 디스크이미지 )] 체크 다음 (N) 클릭 2017-01-11 54

SN01 서버가상머신생성 물리적하드드라이브에저장 [ 동적할당 (D)] 체크 [ 다음 (N)] 클릭 2017-01-11 55

SN01 서버가상머신생성 파일위치및크기 기본값으로... [ 만들기 ] 클릭 2017-01-11 56

SN01 서버가상머신생성 생성완료 2017-01-11 57

SN01 서버에 CentOS 이미지파일연결 SN01 가상머신우클릭 > [ 설정 ] 2017-01-11 58

SN01 서버에 CentOS 이미지파일연결 [ 저장소 ] > [ 컨트롤러 : IDE] 의 [ 비어있음 ] 을클릭 [ 광학드라이브 ] 오른쪽의 CD 아이콘클릭 [ 가상광학디스크파일선택 ] 클릭 > 다운로드받은 CentOS 이미지파일선택 2017-01-11 59

SN01 서버의네트워크어댑터설정 [ 네트워크 ] 탭 [ 어댑터 1] 는 NAT 로설정, [ 어댑터 2] 는호스트전용어댑터로설정 2017-01-11 60

SN01 서버 CentOS 설치 SN01 실행 [Install CentOS Linux 7] 실행 설치과정 [ 한국어 ] 체크 [ 계속진행 ] 클릭 2017-01-11 61

SN01 서버 CentOS 설치 [ 소프트웨어선택 ] 클릭 2017-01-11 62

SN01 서버 CentOS 설치 소프트웨어선택 기본환경에서 [ 최소설치 ] 체크 > 선택한환경의기능에서 [ 개발용도구 ] 체크 [ 완료 ] 클릭 2017-01-11 63

SN01 서버 CentOS 설치 설치대상 변경없이 [ 완료 ] 클릭 2017-01-11 64

SN01 서버 CentOS 설치 네트워크 & 호스트이름 이더넷 (enp0s3) 의네트워크를켬으로변경 호스트이름을 SN01로수정후 [ 적용 ] [ 완료 ] 클릭 [ 설치시작 ] 클릭 2017-01-11 65

SN01 서버 CentOS 설치 [ROOT 암호 ] 클릭 2017-01-11 66

SN01 서버 CentOS 설치 ROOT 암호 루트계정의암호를입력 실습에서는간단히 1234 를사용 [ 완료 ] 클릭 2017-01-11 67

SN01 서버 CentOS 설치 사용자생성 성명에 hadoop을입력 [ 이사용자를관리자로합니다 ] 체크 암호입력 실습에서는 hadoop 을사용 [ 완료 ] 클릭 2017-01-11 68

SN01 서버 CentOS 설치 설치중... 2017-01-11 69

SN01 서버네트워크설정 루트계정으로로그인 $ yum install -y net-tools 2017-01-11 70

SN01 서버네트워크설정 정적 IP 할당 $ vi /etc/sysconfig/network-scripts/ifcfg-enp0s8 BOOTPROTO, ONBOOT 항목수정 IPADDR, NETMASK, GATEWAY 추가 2017-01-11 71

SN01 서버네트워크설정 네트워크재시작 $ service network restart MN서버에게 ping $ ping 192.168. 56.100 2017-01-11 72

가상머신설치 SN02 2017-01-11 73

SN01 서버복제 SN01 서버종료 $ shutdown -h now 2017-01-11 74

SN01 서버복제 서버복제 SN01 서버우클릭 > [ 복제 ] 클릭 2017-01-11 75

SN01 서버복제 새머신이름 SN02 입력 [ 모든네트워크카드의 MAC 주소초기화 ] 체크 [ 다음 ] 클릭 2017-01-11 76

SN01 서버복제 복제방식 [ 완전한복제 ] 체크 [ 복제 ] 클릭 2017-01-11 77

SN02 서버실행 서버실행후루트계정로그인 현재호스트명이 SN01 이므로변경 2017-01-11 78

호스트명변경 호스트명을 SN02 로변경 $ hostnamectl set-hostname SN02 로그아웃하면 SN02 로변경되어있음 2017-01-11 79

SN02 서버네트워크설정 정적 IP 할당 $ vi /etc/sysconfig/network-scripts/ifcfg-enp0s8 IPADDR 수정 2017-01-11 80

SN02 서버네트워크설정 네트워크재시작 $ service network restart MN 서버에게핑 $ ping 192.168.56.100 2017-01-11 81

하둡설치 2017-01-11 82

호스트명추가 모든서버에서 /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

SSH 공개키배포 모든서버에서 SSH 공개키생성 $ ssh-keygen -t rsa [Enter], [Enter],... 2017-01-11 84

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

SSH 공개키배포 SSH 확인 $ ssh MN $ ssh SN01 $ ssh SN02 MN, SN01, SN02에 ssh로접근했을때, 암호없이로그인해야함 2017-01-11 86

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

하둡다운로드 하둡홈페이지접속후 [Releases] 클릭 2017-01-11 88

하둡다운로드 필요한버전의 tarball 을받기위해 [binary] 클릭 이문서는 Hadoop 2.6.5 사용 2017-01-11 89

하둡다운로드 Apache 에서추천하는미러사이트의경로확인 http://apache.tt.co.kr/hadoop/common/hadoop-2.6.5/hadoop-2.6.5.tar.gz 2017-01-11 90

하둡다운로드 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

하둡홈디렉터리 2017-01-11 92

하둡환경설정 2017-01-11 93

하둡환경설정 core-site.xml $ vi core-site.xml <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> 2017-01-11 94

하둡환경설정 hadoop-env.sh $ vi hadoop-env.sh # 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/" 2017-01-11 95

하둡환경설정 hdfs-site.xml $ vi hdfs-site.xml <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> 2017-01-11 96

하둡환경설정 mapred-site.xml $ cp mapred-site.xml.template mapred-site.xml $ vi mapred-site.xml <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> 2017-01-11 97

하둡환경설정 slaves $ vi slaves SN01 SN02 2017-01-11 98

하둡환경설정 yarn-site.xml $ vi yarn-site.xml <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> 2017-01-11 99

하둡배포 모든데이터노드에게네임노드에서환경설정한하둡을배포 $ 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

하둡환경변수등록 Java 및하둡의환경변수등록 $ vi ~/.bashrc export HADOOP_HOME=/home/hadoop/hadoop export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin $ source ~/.bashrc 2017-01-11 101

하둡실행 HDFS format $ hdfs namenode -format 2017-01-11 102

하둡실행 HDFS 및 YARN 구동 $ start-dfs.sh # 네임노드에서만 $ start-yarn.sh # 네임노드에서만 $ jps # 모든노드에서 2017-01-11 103

하둡사용하기 HDFS 2017-01-11 104

HDFS 명령어 http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/filesystemshell.html 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

HDFS 간단한예제 e.g. 파일저장및가져오기 2017-01-11 106

Name Node Web UI http://192.168.56.100:50070/ 2017-01-11 107

하둡사용하기 맵리듀스 2017-01-11 108

예제 : Word Count Word Count 문서집합에포함된단어의개수를집계 2017-01-11 109

예제 : Word Count 맵리듀스입력파일저장 $ hdfs dfs -mkdir /input $ hdfs dfs -put hadoop/license.txt /input $ hdfs dfs -ls /input 2017-01-11 110

예제 : Word Count Word Count 실행 $ hadoop jar hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.5.jar wordcount /input /output 2017-01-11 111

예제 : Word Count Word Count 결과확인 $ hdfs dfs -ls /output $ hdfs dfs -tail /output/part-r-00000 2017-01-11 112

Word Count 구현 Mapper 2017-01-11 113

Word Count 구현 Reducer 2017-01-11 114

Word Count 구현 main 메서드 2017-01-11 115

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

Resource Manager Web UI http://192.168.56.100:8088/ 2017-01-11 117

부록 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