본문 바로가기
LINUX

하둡(hadoop)이란 무엇인가?

by jnhn 2023. 4. 21.

하둡 세계관 아니 생태계 저는요 여기서 하이브와 스파크와 몽고디비를 배워볼 예정입니다.

 

하둡은 대용량 데이터를 분산 처리할 수 있는 자바 기반의 오픈소스(무료)프레임워크입니다
  • 분산처리란?
    • 데이터를 여러개의 서버들에 나누서 저장하고 여러 서버들의 자원을 다 이용해서 데이터를 처리하는 것을 말합니다.구글에서 구글에 쌓이는 빅데이터를 처음에는 오라클에 저장하려고 했는데 너무 데이터가 많아서 오라클에 저장하는 것을 시패하고 나름의 방법으로 빅데이터를 저장하는 기술을 만들고 논문을 하나 발표했는데 그 논문을 더그커팅이라는 사람이 읽고 자바로 구현을 했습니다. 그리고 무료로 쓸 수 있게 한 것이 바로 하둡
    • hadoop이란 이름은 더그커팅의 아들이 노란 코끼리 장난감을 가지고 놀다가 ‘하둡’이라고 했다고 해서 하둡이라고 지었다고 합니다. 그리하여 하둡 생태계(Hadoop Ecosystem)에서 기생하게된 모든 프로그램들 이름이 다 동물이름이 되었다.
    • 예를 들면 8기가짜리 30개의 컴퓨터를 240기가를 모두 이용할 수 있게끔 도와준다.

 

  • 데이터의 종류 3가지
    1. 정형화된 데이터: emp 테이블과 같은 rdbms 에 저장된 테이블 형태의 데이터
    2. 반정형화된 데이터: html, 웹로그, json 파일
    3. 비정형화된 데이터: 동영상, 이미지, 텍스트 데이터
    정형화된 데이터는 주로 rdbms(오라클, mysql) database에 저장하고 관리하며 검색합니다. 반정형화된 데이터와 비정형화된 데이터는 주로 ‘하둡’에 저장을 하고 데이터 분석을 합니다.

 

  • 현업의 하둡 사용 예시
    1. 채팅방의 글 데이터(비정형 데이터)를 다 하둡에 저장합니다.
    2. 특정 단어를 자주 사용하는 채팅방의 형태를 분석한다.
    3. 머신러닝을 사용하여 채팅 데이터를 학습시키고 특정 단어를 사용하거나 불건전한 대화를 이끌 가능성(확률)이 높은 방을 미리 예측하고 모니터링한다. 그리고 채팅방을 자동 패쇄시킨다.
    • 미국사례: 뉴욕타임즈는 130년 분량의 신문기사 1100만 페이지를 하둡을 이용해서 단 하루만에 pdf로 변환 이때 든 비용이 200만원밖에 안들었음 만약에 하둡이 아닌 일반 서버를 사용했다면 14년이 걸렸을 것으로 예상

  •  하둡구성도
    1. 네임노드: 메타데이터(데이터의 위치정보)가 위치하는 곳
    2. 보조네임노드: 네임노드 컴퓨터가 다운되었을때 대비해서 필요한 노드
      • 주기적으로 네임노드의 메타 데이터를 백업하면서 네임노드가 다운되었을때 사용하려고 준비하는 노드
    3. 데이터 노드: emp.csv와 같은 데이터들을 저장하는 컴퓨터들
      • 만약 우리가 우리반 컴퓨터 30대를 하둡 파일시스템으로 구성한다면
      • 영화 인셉션을 생각하면 되는데 컴퓨터의 윈도우→가성의서버
      • 현실→꿈→꿈
      • 네임노드 1대, 보조네이노드 1대, 28대의 데이터 노드들로 구성되는 것입니다.

- 막간 꿀팁

저렴한 비용으로 빅데이터를 저장하고 분석할 수 있게 해줬기 때문에 하둡이 큰 인기를 얻게 되었다. 하둡? 여러대의 컴퓨터를 하나로 묶어서 마치 하나의 서버처럼 보이게하는 기술

하둡(자바) ———→자바로 emp와 dept를 조인했는데    hive, pig, mongodb, zookeeper

회사내에 서버를 둬야한다 → 하둡→hiveSQL

회사외 서버에 데이터를 둬도 된다 → 클라우드(아마존(엘라스틱서치SQL), 구글(BigQuery(SQL)))

위의 데이터관리와 검색과 머신러닝까지 전부 쉽게 구현할 수 있게 제공하는 솔루션에 취업을 하게 되면 그 솔루션 회사에 프로그램을 가지고 데이터 분석을 하는 엔지니어가 됩니다.버튼클릭으로머신러닝돌리고 버튼클릭으로 시각화하고 그런 솔루션회사는 연봉은 많이 주는데 그곳에서만 쓰는 프로그램을 쓰기 때문에 이직하기가어려움

윈도우(현실세계) → 리눅스 가상환경(꿈) → 하둡(꿈)→hive SQL

하둡→ 하둡관리명령어→ hiveSQL→ Mongodb→ 스파크SQL

 

위의 수업내용은 아이티위 교육센터의 유연수 선생님 수업을 바탕으로 재구성, 정리한 내용입니다.

'LINUX' 카테고리의 다른 글

스파크 NameNode(네임노드)가 안 열릴 때 해결 방법  (2) 2023.04.26