Download presentation
Presentation is loading. Please wait.
1
Hands-On Exercise :Using HDFS
박 영 택 컴퓨터학부
2
Virtualbox 다운로드 및 설치
3
https://www. virtualbox
링크에서 첫 페이지에 있는 목록 중 현재 사용중인 OS에 맞는 버전 선택 및 다운로드
4
다운로드 한 경로에 다음과 같은 실행파일이 생성됩니다. (실행)
5
설치 시 기타 설정 변경이 필요한 경우 변경. 별다른 설정이 필요하지 않은 경우 디폴트로 설치 진행하여도 문제 없습니다.
6
Virtualbox 설치 후 실행 상태
7
Downloads for CDH5.5 이미지 파일 다운로드
Cloudera Downloads for CDH5.5 이미지 파일 다운로드
8
http://www.cloudera.com/ 링크의 첫 페이지에서 Downloads 항목 선택
9
QuickStarts 선택
10
위의 이미지에서와 같이 버전은 CDH5. 5와 5. 4 중 최신 버전인 5
위의 이미지에서와 같이 버전은 CDH5.5와 5.4 중 최신 버전인 5.5 선택, 가상 머신은 VirtualBox로 선택 후 다운로드 합니다.
11
Download 클릭 시 위와 같은 인적사항 제출창 팝업. 칸만 채워 submit 해도 이미지 파일 다운로드에 지장 없습니다.
12
다운로드 시작 및 완료 후 이미지 파일 생성 확인,. p
다운로드 시작 및 완료 후 이미지 파일 생성 확인, p.s SSUWIFI 사용 시 다운로드 시간이 매우 오래 걸릴 수 있습니다.
13
Cloudera 가상머신 적재 및 Hadoop 실 습환경
Hadoop test Cloudera 가상머신 적재 및 Hadoop 실 습환경
14
다운 받은 cloudera 이미지 파일을 VirtualBox에 적재
15
파일 가상머신 가져오기 다운받은 경로에서 이미지파일 선택
파일 가상머신 가져오기 다운받은 경로에서 이미지파일 선택
16
Cloudera 환경 및 사양 설정(위 사진은 현재 디폴트값) 설정 완료 후 ‘가져오기’ 하면 해당 이미지 파일 적재 및 부팅이 수행됩니다.
17
Hadoop 실습 환경 Hadoop 파일 시스템 테스트 및 결과 확인
18
터미널 실행 후 간단한 명령 수행 확인 haoop fs –mkdir testFolder 명령으로 새 디렉토리 생성 hadoop fs –ls 명령을 통해 새 디렉토리 생성 확인
19
Hue : Hadoop의 Eco system 으로서, 데이터 분석을 제공하는 웹 인터페이스 실행방법 : 브라우저 실행 위의 그림 상태에서 Hue 항목 선택(빨간 박스) Username : cloudera, Password : cloudera 입력
20
우측 상단 항목 중 Manage HDFS 항목 선택(빨간 박스) 터미널에서 hadoop fs –mkdir 명령을 통해 생성했던 testFolder 디렉토리 확인
21
Hadoop 시스템과의 상호작용은 hadoop 이라는 명령어를 통해서 한다. 만약 터미널을 열고, 인자 없이 명령어를 실행하면 도움말이 나온다. 이와 같이 실행하기 위해서, 아래 명령어를 실행: hadoop 명령어는 여러개의 서브 시스템으로 세분화 되어있다. 예를 들어, HDFS의 파일을 처리하기 위한 서브 시스템과 MapReduce Processing Job을 관리하고 실행하기 위한 서브 시스템이 있다. $ hadoop
22
Step 1: Exploring HDFS 하둡 프로그램에서 HDFS와 관련된 서브 시스템은 FsShell 이라고 한 다. 이 서브 시스템은 hadoop fs 명령어로 실행할 수 있다. 데스크탑의 Terminal 아이콘을 더블클릭하여 Terminal을 실행 터미널에 아래 내용을 입력: 위 내용을 실행하면 이 서브 시스템의 모든 명령어에 대한 설명을 볼 수 있다. $ hadoop fs
23
Step 1: Exploring HDFS 하둡 프로그램에서 HDFS와 관련된 서브 시스템은 FsShell 이라고 한 다. 이 서브 시스템은 hadoop fs 명령어로 실행할 수 있다. 아래 내용을 입력: HDFS안에 root 디렉토리의 내용을 볼 수 있다. 이 디렉토리에는 여러 항목이 있는데, 그 중 하나가 /user 이다. 개별 사용자는 ”home” 디렉토리 아래 사용자 이름으로 된 디렉토리를 가지고 있다. 사용자의 홈 디렉토리는 /user/training 이다. $ hadoop fs -ls /
24
Step 1: Exploring HDFS 하둡 프로그램에서 HDFS와 관련된 서브 시스템은 FsShell 이라고 한 다. 이 서브 시스템은 hadoop fs 명령어로 실행할 수 있다. /user 디렉토리의 내용을 보려면 아래와 같은 명령어를 실행. 디렉토리 리스트 안에 home(ex : /user/training) 디렉토리를 확인할 수 있다. $ hadoop fs -ls /user
25
Step 1: Exploring HDFS 하둡 프로그램에서 HDFS와 관련된 서브 시스템은 FsShell 이라고 한 다. 이 서브 시스템은 hadoop fs 명령어로 실행할 수 있다. 아래와 같이 입력 후 실행. 경로 상의 아무런 파일이 없기 때문에 명령이 자동으로 종료된다. 만약 hadoop fs –ls /foo 을 실행하면 이전에 명령어를 실행했을때와는 다르게 존재하지 않는 디렉토리이기 때문에 에러 메시지를 보여준다. HDFS의 디렉토리 구조와 로컬 파일 시스템의 디렉토리 구조와는 아무 연관성이 없다. 완전히 분리 된 네임스페이스라고 봐야 한다. $ hadoop fs –ls /user/training
26
Step 2: Uploading Files 기존의 파일 시스템을 탐색하는 것 외에 FsShell로 할 수 있는 또 다 른 중요한 점은 HDFS에 새로운 데이터를 업로드 하는 것입니다. 다음 Exercise에서 사용할 샘플 데이터를 포함한 디렉토리로 경로를 변경. 위와 같은 위치에서 ls명령어를 실행하면 shakespeare.tar.gz 와 shakespeare- stream.tar.gz, 2개의 파일과 함께 다른 몇 개의 파일을 볼 수 있다. 이 2개의 파일에는 텍 스트 형식으로 셰익스피어의 전집이 포함되어 있다. 지금은 shakespeare.tar.gz. 파일을 사용 한다. $ cd ~/training_materials/developer/data
27
Step 2: Uploading Files 기존의 파일 시스템을 탐색하는 것 외에 FsShell로 할 수 있는 또 다 른 중요한 점은 HDFS에 새로운 데이터를 업로드 하는 것입니다. 아래의 명령어를 실행하여 shakespeare.tar.gz를 압축해제: 압축을 해제 하면 여러개의 파일을 포함하고 있는 shakespeare/ 디렉토리가 로컬 파일 시 스템에 생성된다. HDFS에 디렉토리를 삽입: 로컬 파일 시스템에 shakespeare 디렉토리를 HDFS상의 /user/training/shakespeare 디렉토리에 복사를 한다. $ tar zxvf shakespeare.tar.gz $ hadoop fs –put shakespeare /user/training/shakespeare
28
Step 2: Uploading Files 기존의 파일 시스템을 탐색하는 것 외에 FsShell로 할 수 있는 또 다 른 중요한 점은 HDFS에 새로운 데이터를 업로드 하는 것입니다. HDFS상의 home 디렉토리의 컨텐츠 리스트를 보여준다. 이제 경로를 입력하지 않고 동일한 fs -ls 명령어를 실행. 같은 결과가 나오는 것을 확인할 수 있다. -ls 명령어의 디렉토리 명을 입력하지 않은 경우 home 디렉토리, 즉 /user/training을 의미한다고 가정하고 실행된다. $ hadoop fs –ls /user/training $ hadoop fs –ls 상대경로 (Relative paths) FsShell 명령어에 상대 경로를 넣었을 경우엔 홈 디렉토리(/user/training)에 상대경로로 간주된다.
29
Step 2: Uploading Files 기존의 파일 시스템을 탐색하는 것 외에 FsShell로 할 수 있는 또 다 른 중요한 점은 HDFS에 새로운 데이터를 업로드 하는 것입니다. 추후 진행할 Exercise에서 사용할 웹 서버 로그 파일도 있다. 이 파일은 Gzip을 통해서 압축되 어 있다. 이 파일을 로컬 파일 시스템에 압축 해제 후 업로드를 하는 것 보다, 압축해제와 업 로드를 한번에 진행 하는 것이 좋다. 그러기 위해서 첫번째, HDFS상의 이 파일을 저장할 폴더 를 하나 생성: $ hadoop fs –mkdir weblog
30
Step 2: Uploading Files 기존의 파일 시스템을 탐색하는 것 외에 FsShell로 할 수 있는 또 다 른 중요한 점은 HDFS에 새로운 데이터를 업로드 하는 것입니다. 그리고 압축해제와 업로드를 한번에 진행합니다. Gunzip에 –c 옵션을 통해 표준 출력으로 압 축 해제하고, hadoop fs -put 명령어로 HDFS상의 데이터를 올리면 된다. hadoop fs -ls 명령어로 아파치 로그 파일이 HDFS상의 home 디렉토리안에 있는 것을 확 인할 수 있다. $ gunzip -c access_log.gz \ | hadoop fs -put - weblog/access_log
31
Step 2: Uploading Files 기존의 파일 시스템을 탐색하는 것 외에 FsShell로 할 수 있는 또 다 른 중요한 점은 HDFS에 새로운 데이터를 업로드 하는 것입니다. 엑세스 로그 파일은 큰 파일이다 – 전체 500MB. 이 파일을 5000줄만 포함된 작은 파일로 만들 고, HDFS상의 저장한다. 다음 Exercise에서 시험하기 위한 작은 버전을 사용할 수 있다. $ hadoop fs -mkdir testlog $ gunzip -c access_log.gz | head -n 5000 \ | hadoop fs –put - testlog/test_access_log
32
Step 3: Viewing and Manipulating Files
이제 HDFS에 복사된 몇 가지의 데이터 일부를 살펴보자. 아래와 같이 입력: /user/training/shakespeare 디렉토리 안에 코메디, 용어, 역사, 시 그리고 희극으로 구성 된 파일을 확인할 수 있다. $ hadoop fs -ls shakespeare
33
Step 3: Viewing and Manipulating Files
이제 HDFS에 복사된 몇 가지의 데이터 일부를 살펴보자. glossary 파일은 엄격하게 보면 셰익스피어의 작품이 아니다. 그러므로 파일을 삭제: 원한다면 이 파일을 남길 수 있다는 것을 알아 두자. 남길 경우, 연산 이후 셰익스피어 파일에 포함될 것이며, 그리고 결과가 약간 불완전 할 것이다. $ hadoop fs -rm shakespeare/glossary
34
Step 3: Viewing and Manipulating Files
이제 HDFS에 복사된 몇 가지의 데이터 일부를 살펴보자. 입력: 이 터미널에 헨리 IV, 제 1의 마지막 50 줄을 print한다. 이 명령어는 맵리듀스 프로그램의 출 력을 보기 편리하게 한다. 대개, 맵리듀스 프로그램의 각각 출력 파일은 터미널의 전체 파일 을 볼 때 매우 불편합니다. 이러한 이유로, fs -cat 명령어의 출력에 head, tail, more 나 less명령어를 추가하는 것을 권장한다. 로컬 유닉스 명령에 fs -cat 명령어를 출력할 때, 파일의 전체 내용은 여전히 HDFS에서 추 출하여 로컬 컴퓨터로 전송된다는 것을 숙지하자. 일단 로컬 컴퓨터에선, 파일의 내용은 표 시되기 전에 수정이 됩니다. $ hadoop fs –cat shakespeare/histories | tail -n 50
35
Step 3: Viewing and Manipulating Files
이제 HDFS에 복사된 몇 가지의 데이터 일부를 살펴보자. 파일을 다운로드하고 로컬 파일 시스템에서 조작하고 싶다면, 당신은 fs -get 명령어를 사 용 할 수 있다. 이 명령어는 두 개의 인자를 가진다 : HDFS 경로 및 로컬 경로. HDFS 내용을 로컬 파일시스템에 복사: $ hadoop fs -get shakespeare/poems ~/shakepoems.txt $ less ~/shakepoems.txt
36
Other Commands 일반적인 파일시스템 조작을 수행하기 위해, FsShell 서브 시스템과 관련된 여러 가지 명령어가 있다: mv, cp, mkdir, etc. 입력: FsShell 내 명령어에 대한 간단한 사용 보고서를 표시한다. 만약 원한다면, 이 명령어의 몇 가지를 실행해보자. $ hadoop fs
Similar presentations