하둡(Hadoop) 2는 빅데이터가 저장, 마이닝, 프로세스되는 완전히 새로운 방식이다.
단지 하둡 용으로 앱이 쓰여지는 방법뿐 아니라, 이전의 아키텍처적 제약들로 인해 불가능했던 완전히 새로운 데이터-크런칭(data-crunching) 방법을 하둡 내에 만들어낸다는 것이다. 한 마디로 좋아졌다는 거다.
오랫동안 하둡의 앞길을 막아왔던 것이 무엇인가? 이보다도 앞으로 하둡은 어떻게 될까?
하둡에 대해 확장성 문제에 있어 다양한 비판이 쏟아졌지만, 가장 큰 제약은 하둡의 작업 처리방식에 있었다.
하둡 안에서 모든 작업은 잡트래커(JobTracker)라 불리는 단일 데몬을 통해 배치 프로세스로 실행됐는데, 이 때문에 확장성과 프로세싱-속도 병목현상이 발생했다.
하둡 2에서는 이런 잡트래커 접근방식은 폐기됐다. 대신, 하둡은 시스템 내 모든 작업을 관장하는 리소스매니저(ResourceManager)와 각각의 하둡 노드상에 실행되면서 리소스매니저에 그 노드 상황을 알려주는 노드매니저(NodeManager)라는 두 데몬을 활용하는 완전히 새로운 작업-프로세싱 프레임워크를 사용한다(각각의 실행 애플리케이션 역시 자체 거버너(governor)인 애플리케이션마스터(ApplicationMaster)를 보유한다).
이런 구성은 이전의 맵리듀스(MapReduce)와 너무나도 달라서 아파치측이 완전히 새롭게 얀(Yet Another Resource Negotiator, YARN)이라는 이름을 붙이고, 많은 가용 요소 가운데 하나로 실행되고 있다.
분산 애플리케이션이 일부 포팅이 됐다하더라도 모두 얀을 기반으로 실행될 수 있다는 것이 아파치의 주장이다.
그렇게 하기 위해 아파치는 얀-호환 애플리케이션들의 목록을 페이스북이 사용한 소셜-그래프 분석 시스템인 아파치 지래프(Apache Giraph)에서처럼 유지해왔다. 더 많은 새로운 하둡 애플리케이션들 역시 모습을 드러낼 것이다.
이 급진적인 접근방식을 가진 맵리듀스 2는 전과 동일한 API를 갖고감에 따라 호환에 있어서는 합격점을 받았다. 기존의 작업들은 재컴파일링만 해주면 제대로 작동된다.
또한 얀이 빅데이터를 다루는데 있어서 하둡과 다른 아파치 프로젝트들과의 상호 호환성을 크게 높인 것도 절대 우연이 아니다. 하나를 사용할 수 있으면 나머지 것도 사용이 훨씬 쉬워진다.
이런 하둡의 밀물은 아파치와 관련한 모든 배들을 띄우는데 도움이 될 것이다.
여기에서 가장 큰 소득은 맵리듀스 그 자체가 하둡을 통해 데이터를 마이닝하는 많은 가용 방법 가운데 하나가 됐다는 점이다.
얀으로 포팅하는 또 다른 후보인 아파치 자체의 스파크(Spark)는 일부 작업에 있어 맵리듀스보다 더 적합할 수 있기 때문에, 하둡 2는 가장 잘 맞는 엔진을 선택하는 유연성을 제공해준다.
양 대 하둡 개발업체인 클라우데라(Cloudera)와 호튼웍스(Hortonworks)은 비록 하둡에 완전히 다른 방향으로 접근하더라도 모두 얀이 얼마나 핵심적인지에 대한 나름의 논제를 갖고 있다.
클라우데라의 임팔라(Impala)는 HDFS에 저장된 데이터에 대해 저지연(low-latency) SQL 쿼리를 실행하는 능력을 제공하는데, 이는 실시간 분석에 가장 적합하다.
호튼웍스는 아파치 본연의 하이브(Hive) 기술을 선택했는데, 이 하이브 기술은 다양한 유형의 운영체제와 긴 쿼리와 같은 데이터웨어하우스 운영에 최적이다.
얀으로 애플리케이션을 포팅하는 것은 그리 간단하지 않기 때문에, 하둡 2의 성공여부는 새로운 프레임워크 내에 얼마나 많은 애플리케이션을 배치하느냐에 달려있다.
하지만 클라우데라와 호튼웍스 모두 하둡 2를 강력하게 지지하고, 이전 버전을 고수하지 않는다는 점만 보더라도 하둡 2가 단지 눈속임이나 꼬여버린 실타래가 아니라는 증거가 된다. editor@itworld.co.kr
최근에 공개된 아파치 하둡(Apache Hadoop) 코드에는 새로운 작업 관리 툴이 포함돼 있는데, 이 툴의 등장으로 인해 하둡 프로젝트 지지자들은 빅 데이터 애플리케이션을 더욱 쉽게 개발할 수 있을 것으로 기대하고 있다.
야후와 구글 등의 세계적인 기술 기업이 대용량의 데이터를 관리하는데 하둡을 사용하고 있다. 즉 하둡의 가치와 유용성은 이미 그 효과가 입증된 상태다.
하둡 시스템은 현재까지 맵리듀스(MapReduce)에 의존해 데이터를 처리해왔다. 그러나 최근 이 오픈소스 코드에는 맵리듀스와 함께 다른 애플리케이션을 운용할 수 있는 플랫폼인 얀이 추가됐다. 얀은 애플리케이션이 필요로 하는 자원을 모니터링해 분산된 컴퓨팅 시스템 내에서 이를 제공해주는 플랫폼이다.
열렬한 하둡 지지자들은 얀 플랫폼의 등장으로 인해 더 많은 애플리케이션이 빅 데이터 개방 시스템 내에서 운용될 수 있을 것이며, 이는 하둡용 새로운 분석 앱의 범람으로 이어질 수 있을 것으로 기대하고 있다.
하둡을 담당하는 가트너의 정보관리 애널리스트 머브 에이드리언은 " 하둡이 더 나은 자원 관리 및 혼합 작업 지원을 지원할 수 있도록 하는 최상의 경로가 바로 얀이다”라며, “몇몇 주요 간극이 메워졌다. 앞으로 장족의 발전이 예상된다”라고 말했다.
2.0 버전에서는 사용성을 높이기 위한 설계를 포함해 여러 구성요소가 추가됐다. 또 개별 클러스터에 스케일(Scale)을 추가하여 4,000대의 머신까지 확장할 수 있다 (하둡 배치는 복수의 클러스터로 구성할 수 있다). 하지만 가장 큰 변화는 4년의 계획을 거쳐 2년 동안 개발된, 차세대 맵리듀스 아키텍처라 불리는 얀의 추가다.
얀은 현재 맵리듀스가 하나로 통합하고 있는 주요 기능들을 작업 일정관리/모니터링과 자원관리 등 2개로 분리시켰다. 얀은 애플리케이션이 어떤 자원을 필요로 하는지 모니터링하고 이런 앱들을 위한 CPU와 RAM 노드(Node)로 구성된 컨테이너(Container)를 생성한다.
하둡 배포기업 호튼웍스(Hortonworks)의 공동 창업자이자 아파치 오픈 소스 커뮤니티 내에서 얀의 개발을 담당하고 있는 애런 머시는 "기본적으로 얀은 간단하지만 확장성이 엄청나다"라고 말했다.
리드라이트(ReadWrite)의 블로거 브라이언 프로핏은, "한 번에 하나"라는 하둡 구동 앱들의 한계를 극복해 이제는 하둡 시스템이 복수의 애플리케이션을 한 번에 구동할 수 있게 되었다고 설명했다.