프로그램/데이터마이닝

하둡 이란?

네오류이 2021. 1. 13. 14:45
728x90
반응형

데이터마이닝에 있어서 여러 툴 중에 하둡(Hadoop-High-Availability Distributed Object-Oriented Platform) 이란 단어을 요즘들어 자주 접하게 됩니다.

 

그래서 이것이 무엇일까 궁금해서 여기저기 찾아보고 있는 중입니다.

 

그래서 제일먼저 봐야 할 것이 Wi-Ki 라서 이곳에서 정의를 좀 살펴보았습니다.

 

정의는

 

아파치 하둡(Apache Hadoop, High-Availability Distributed Object-Oriented Platform)은 대량의 자료를 처리할 수 있는 큰 컴퓨터 클러스터에서 동작하는 분산 응용 프로그램을 지원하는 프리웨어 자바 소프트웨어 프레임워크이다. 원래 너치의 분산 처리를 지원하기 위해 개발된 것으로, 아파치 루씬의 하부 프로젝트이다. 분산처리 시스템인 구글 파일 시스템을 대체할 수 있는 하둡 분산 파일 시스템(HDFS: Hadoop Distributed File System)과 맵리듀스를 구현한 것이다.

 

위와 같이 정의가 되어 있네요. 즉 '대량의 자료를 처리할 수 있는 큰 컴퓨터 클러스터에서 동작하는 분산 응용 프로그램을 지원하는 프리웨어 자바 소프트웨어 프레임워크' 로 함축을 할 수 있는데요. 프리웨어 란 말이 마음에 듭니다.

 

대량의 데이터를 처리를 할 수 있는 클러스터 툴 이고.

 

하둡은 2006년 더그 커팅과 마이크 캐퍼렐라(Mike Cafarella)가 개발하였다고 합니다.

 

이후 하둡은 아파치(Apache) 재단으로 넘어가 공개 소프트웨어로 개발되고 있고. 하둡은 구글의 분산 파일 시스템(GFS) 논문이 공개된 후, 그 구조에 대응하는 체계로 개발되었습니다.

 

구글의 분산시스템의 기반이 이 하둡으로 움직인다는 건지? 그것이 궁금해 지는 대목입니다.

 

 

위 하둡 로고를 보면 코끼리가 나오는데..더그 커팅이 자신의 아이가 가지고 놀던 장난감 코끼리의 이름을 따서 하둡이라는 이름을 지었기 때문이라네요.

 

구성은  하둡 파일 시스템(HDFS), OS 수준 앱스트랙션(OS level abstractions) 그리고 맵리듀스(MapReduce) 엔진이 포함되어 있고. 또한 필요한 자바 아카이브 파일(Java ARchive, JAR)들과 하둡을 시작할 스크립트, 소스 코드들과 관련 자료들로 구성되어 있습니다.

 

 

하둡 분산 파일 시스템은 다음과 같은 시스템에서 잘 동작하는 것을 목표로 하고 있습니다.

 

내용을 보면,

 

--------------------

 

- 하드웨어 오동작:하드웨어 수가 많아지면 그중에 일부 하드웨어가 오동작하는 것은 예외 상황이 아니라 항상 발생하는 일이다. 따라서 이런 상황에서 빨리 자동으로 복구하는 것은 HDFS의 중요한 목표다.

 

스트리밍 자료 접근: 범용 파일 시스템과 달리 반응 속도보다는 시간당 처리량에 최적화되어 있다.

 

큰 자료 집합: 한 파일이 기가바이트나 테라바이트 정도의 크기를 갖는 것을 목적으로 설계되었다. 자료 대역폭 총량이 높고, 하나의 클러스터에 수 백개의 노드를 둘 수 있다. 하나의 인스턴스에서 수천만여 파일을 지원한다.

 

간단한 결합 모델: 한번 쓰고 여러번 읽는 모델에 적합한 구조이다. 파일이 한번 작성되고 닫히면 바뀔 필요가 없는 경우를 위한 것이다. 이렇게 함으로써 처리량을 극대화할 수 있다.

 

자료를 옮기는 것보다 계산 작업을 옮기는 것이 비용이 적게 든다: 자료를 많이 옮기면 대역폭이 많이 들기 때문에 네트워크 혼잡으로 인하여 전체 처리량이 감소한다. 가까운 곳에 있는 자료를 처리하게 계산 작업을 옮기면 전체적인 처리량이 더 높아진다.

다른 종류의 하드웨어와 소프트웨어 플랫폼과의 호환성: 서로 다른 하드웨어와 소프트웨어 플랫폼들을 묶어 놓아도 잘 동작한다.

 

--------------------

 

위 내용을 보면 구글이 분산시스템 인 상태에서 검색어를 지원하는데 이 하둡이 검색기반인 것 같은 생각은 드네요.

 

이용사례를 보면,

 

하둡은 다양한 기업에서 사용되고 있다. 야후, 페이스북 등이 하둡을 서비스의 여러 부분에 많이 사용하고 있는 것으로 알려져있다. 또한 데이터 분석 기업들이 하둡을 기반으로 플랫폼을 구축하고 있다고 합니다.

 

다음에는 설치법을 한번 알아봐야겠네요.

728x90
반응형