■ 1. 하둡을 배워야 하는 이유
하둡? 대용량 데이터를 분산 처리할 수 있는 자바기반의 오픈소스 프레임워크
구글에서 구글에 쌓여지는 수많은 빅데이터(웹페이지, 데이터..)들을
구글에서도 처음에는 RDBMS(오라클)에 입력하고, 데이터를 저장하고, 처리하려는 시도를 했으나
너무 데이터가 많아서 실패를 하고 자체적으로 빅데이터를 저장할 기술을 개발했다.
해당기술에 대하여 대외적으로 논문을 하나 발표했다.
그 논문을 더그커팅(하둡을 만든이)이 읽고 자바로 구현을 했다.
그 이름을 뭘로 할까 고민을 하다가 더그커팅의 애기가 노란코끼리 장난감을 가지고 놀면서
Hadoop 이라고 한 것을 듣고
Hadoop 이라고 이름을 지었다.
그래서 그 뒤로 Hadoop을 편하게 이용할 수 있도록
개발한 모든 하둡 생태계에 개발 프로그램 이름들이 다 동물이름으로
지어지게 되었다.
Hadoop ------------------------------> Hive ( 벌떼 )
↑ Pig
운영체제 Tajo (타조)
↑
프로그램 이름들
하둡의 장점?
분산 처리가 가능하다
↓
여러대의 노드를 묶어서 마치 하나의 서버처럼 보이게 하고
여러노드의 자원을 이용해서 데이터를 처리하기 때문에
처리하는 속도가 빠른 장점이 있다.
예: 한대의 서버로 1테라 바이트의 데이터를 처리하는데 걸리는 시간이 2시간 반이 걸린다고
하면 하둡으로 여러대의 서버를 병렬로 작업한다면 2분내에 데이터를 읽을 수 있다.
2008년 뉴욕 타임즈의 130년 분량의 신문기사 1100만 페이지를 하둡을 이용해서
하루면에 pdf 로 변환을 했고 비용이 200만원 밖에 안 들었다.
하둡이 아닌 일반 서버로 처리했다면 14년이 걸린다.
■ 하둡 에코 시스템
빅데이터 분석 R, Python 등을 이용해서 분석
↑
NoSQL Hbase Membase Cassandra
(빅데이터 저장) Redis MongoDB CouchDB
↑ ↑
분산 처리 지원 Hive Pig Sqoop Zookeeper
↑ ↑
분산 배치 처리 하둡(Hadoop) - MapReduce
분산 파일 관리 하둡(Hadoop) - HDFS
■ Hive 사용예
1.
SQL> select * from emp;
hive> select * from emp;
2.
SQL> select * from emp where rownum <= 5;
hive>select * from emp limit 5;
↓
NoSQL-------------->Not only SQL
**Nosql:
빅데이터를 하둡에서 검색하기 위해서는 자바를 알아야 하는데 자바를 모르더라도 SQL 과 비슷한 언어로
빅데이터를 검색할 수 있게 지원해주는 언어
네임노드(Meta 데이터 관리) |
||
↙ |
↓ |
↘ |
데이터 노드 |
데이터 노드 |
데이터 노드 |
(실 data) |
(실 data) |
(실 data) |
*meta 데이터 : 데이터의 위치정보 총 3군데 노드에 각각 데이터를 복제를 한다.
야후의 경우는 약 5만대를 연결해서 하둡을 사용
페이스북은 약 1만대 이상의 하둡 클러스터를 이용
아마존, 이베이, 마이스페이스, 야후, NHN, Daum, kt, skt ...... 등이 하둡을 사용하고 있다.
-하둡의 장점 : 저렴한 구축 비용과 비용대비 빠른 데이터 처리
-하둡의 단점 :
1. 무료이다 보니 유지보수가 어려움
2. 네임노드가 다운되면 고가용성이 지원이 안된다.
3. 한번 저장한 파일을 수정할 수 없다.
기존 데이터 append 는 가능한데 수정은 안된다.
정형화된 데이터 (표 형태) 비정형화된 데이터 ( 표 아님 )
↓저장 ↓저장
오라클 하둡
*하둡을 설치하기 위해서 리눅스 시스템에 올려야하는 파일
(/home/oracle 밑에 올린다)
1. hadoop-1.2.1.tar.gz
2. jdk-7u60-linux-i586.gz
3. hive-0.12.0.tar.gz
리눅스 VM 키고
putty 들어가서 104 접속
root 로 접속해서
$ cd /media/sf_Share
[root@edydr1p0 oracle]# chown -R oracle:oinstall *.gz
[root@edydr1p0 oracle]# ls -l *.gz
*하둡 주요 배포판
리눅스도 centos, redhat, ubunt 처럼 배포판이 있듯이
하둡도 배포판이 있다.
1. Cloudera 업체에서 나온 CDH <--- 가장 높은 신뢰
2. Hortonworks 에서 나온 HDP
3. 아마존에서 나온 EMR(Elastic Mapreduce)
4. Hstraming 에서 나온 Hstreaming
*하둡 홈페이지
https://hadoop.apache.org/releases.html
'hadoop' 카테고리의 다른 글
6. PIG설치, 설명 (0) | 2019.01.11 |
---|---|
5. TAJO설치, 설명 (0) | 2019.01.11 |
4. HIVE (0) | 2019.01.11 |
3. 하둡 분산 파일 (0) | 2019.01.11 |
2. 하둡설치, hive 설치 (0) | 2019.01.11 |