Tags

엔터프라이즈 플랫폼을 위한 하둡의 현재 위치 및 발전 방향 (summary of Hadoop summit 2014)

This article is based on Hortonworks Partner Content and Expertise

이번 하둡 서밋 2014는 여러 가지 의미를 가지고 있습니다만 개인적으로는 드디더 하둡이 엔터프라이즈 데이터 허브로서 적용될 수 있는 프레임워크를 완성했다는 것에 두고 싶습니다.

먼저 호튼웍스의 키노트 영상을 먼저 보겠습니다.

다양한 사례들과 하둡의 향후 모습에 대해서 미리 엿볼 수 있습니다만 그 중에서도 뒤쪽에 있는 ‘Hadoop Innovation’이라는 부분에 주목을 하는 것이 좋을 듯 합니다.

하둡에 대해서 많은 얘기들이 나오고 있지만 아직은 하둡 1.0의 패러다임과 하둡 2.0의 새로운 진화가 공존하고 있는 상황으로 보입니다.
하둡 2.0이 ‘빅데이터 저장 및 관리’ 와 ‘빅데이터 처리’의 두 가지 관점에서 어떻게 변했고 앞으로 어떻게 변해갈 것인지 이해하는 부분이 중요해 보입니다.

더이상 하둡은 하둡파일시스템과 배치 처리를 위한 맵리듀스가 결합된 단일 목적의 빅데이터 처리 플랫폼이 아니라 다양한 어플리케이션이 공통의 저장 패러다임을 공유하면서 목적에 맞게 다양한 데이터 처리 방식을 수용하는 플랫폼이 되었다는 것에 대해 인사이트를 얻을 수 있을 것입니다.

hadoop_second

현재까지 진행된 상황을 한 페이지로 요약한 다이어그램입니다.

- 데이터 관리
- 데이터 접근(Access)
- 거버넌스(Governance) 와 연동 혹은 통합(Integration)
- 보안
- 운영 (Operations)

5가지의 핵심적인 요소들이 이 블로그에서 소개드린 다양한 에코시스템의 통합을 통해서 지원하는 수준으로 발전했습니다.

그리고 그 동안 하둡이 엔터프라이즈에 적용되면서 나왔던 니즈들을 어떻게 수용하게 되었는 지도 한 번 검토해 볼 필요가 있습니다.

hadoop_third

먼저 데이터 관리의 측면에서 하둡의 새로운 아키텍쳐가 어떻게 기업의 니즈를 수용했는 지에 대한 개요입니다.
그 동안 많은 요구가 있었던 안정성 측면에서 이른바 ‘FullStack HA’구성이 가능해 진 점과 멀티 데이터센터의 DR(Disaster Recovery)를 수용하게 되었다는 점에 주목하시면 좋을 듯 합니다.

hadoop-yarn

많은 기사를 통해서 소개드리고 있는 데이터 접근 측면의 변화입니다.
아마도 기존의 하둡의 접근과 완전히 달라졌기 때문에 혼란이 많이 있는 영역이지만 이제는 YARN(Yet Another Resource Negotiator)의 도입으로 기존에 맵리듀스의 배치처리 방식 뿐만 아니라 Batch, Interactive, Realtime, Streaming의 네가지 주요 데이터 처리 방식을 모두 지원하게 되었습니다.

YARN은 하둡 클러스터의 전체 리소스를 관리하는 시스템으로서 각 어플리케이션에 필요한 리소스를 할당하고 모니터링하는 업무에 집중함으로써 다양한 어플리케이션이 하둡 클러스터의 리소스를 공유할 수 있도록 탈바꿈하게 만든 핵심 요소입니다.

그 외에 기업 환경에 적용하는 데 핵심적인 보안 및 운영 관리의 측면에도 기업 니즈를 반영함으로써 엔터프라이즈 데이터 허브에 적합한 플랫폼을 갖추게 되었습니다.

hadoop-streaming

일례로 스톰(Storm) 어플리케이션이 YARN 위에서 돌아가면서 기존의 배치 처리와 상반되어 보이는 머신로그, 센서로그, 서버로그 등의 스트리밍 데이터를 실시간으로 처리하는 기반이 완성되었습니다.

저희도 많은 관심을 갖는 분야이고 지속적으로 소개해 드리고 있습니다.

hadoop-storage

그리고 기존의 하둡의 이미지라고 할 수 있는 로컬디스크가 달린 서버를 균등하게 연결하는 시스템도 기업의 니즈에 의해 변모했습니다.
바로 전의 기사에서 소개드린 것처럼 메모리, SSD 스토리지, 하드디스크 등의 기업 현장의 스토리지를 충분히 이용하는 방향으로 발전이 이루어 지고 있습니다.

hadoop-slide

하지만 가장 주목해야 할 부분은 바로 ‘Others’입니다.
한국에도 많은 기업용 솔루션을 기존에 개발한 회사들도 있고 운용 중이지만 이러한 솔루션을 어떻게 빅데이터를 처리할 수 있도록 할 것인가는 아주 실질적인 문제이고 중요한 문제입니다.

이제는 기존의 어플리케이션을 직접 하둡 클러스터에 적용되어서 빅데이터 솔루션으로 변모하기 위한 프레임워크인 슬라이드(Slide)의 발표가 있었습니다.
참고로 호튼웍스에서 NoSQL을 YARN에서 바로 동작하는 샘플을 발표했으니 함께 검토해 보시기 바랍니다.

전체적으로 빅데이터 시대를 위한 가장 비용 효율적이고 범용적인 플랫폼이 등장했다는 인사이트에 집중해서 보시면 좋을 듯 합니다.

———————————————————————————————————–
ASD Technologies는 호튼웍스(Hortonworks Inc)와의 Consulting Partnership을 통해서
빅데이터에 대한 도입 컨설팅 및 구축을 도와드리고 있습니다.

호튼웍스 파트너 홈페이지
ASD Technologies Korea 홈페이지

Contact Point : sunung@asdtech.co
———————————————————————————————————–

실시간 하둡의 기반 스톰(Storm)의 컨셉과 적용 방법 (The concept of realtime hadoop with storm)

This article is based on Hortonworks Partner Content

그 동안 실시간 처리 시스템 혹은 리얼타임 시스템으로서의 하둡에 대해서 여러 가지 기사를 통해서 소개를 드렸습니다.
엔터프라이즈 레벨 실시간 시스템의 최강 조합 (하둡 + 인메모리 데이터베이스)
리얼타임 하둡의 가능성
실시간 하둡 데모와 간단한 테스트 코드

이상의 글에서 설명드렸던 것처럼 YARN(Yet Another Resource Negotiator)의 도입으로 기업이 데이터를 어떤 방식으로 처리할 것인지의 니즈에 맞춰서 처리 방식을 배치, 인터랙티브 SQL, 온라인, 스트리밍 등 다양하게 적용할 수 있도록 진화되었습니다.
그 중에서도 스트리밍 되는 대량의 이벤트를 실시간으로 처리하는 시스템은 하둡의 가능성을 극적으로 높혔다는 것에 대부분 동의할 것으로 생각합니다.

센서나 각종 서버 등에서 발생하는 대량의 이벤트 로그는 그 데이터 포맷이 정형화되어 있지 않다는 점과 대량으로 발생한다는 두 가지 측면에서 하둡을 합리적인 옵션으로 고려할 만한 결정적인 이유를 만들고 있습니다.
그래서 이러한 실시간 처리 시스템을 가능하게 하는 스톰(Storm)의 컨셉과 설계할 때 어떤 부분에 주안점을 두었는 지를 좀 더 자세히 살펴 보려고 합니다.

스톰-YARN의 결합은 하둡클러스터에서 하둡 파일시스템(HDFS)뿐만 아니라 HBase의 리소스도 함께 사용할 수 있게 해 주기 때문에 실시간 시스템을 어떻게 적용할 지에 대해서 많은 유연성을 제공합니다.

Elasticity
스톰을 설계할 때 염두해 두었던 가장 핵심적인 설계 철학은 탄력성(Elasticity)를 부여하는 것이었다고 합니다.
(It provides a huge potential for elasticity. Real-time processing will rarely produce a constant and predictable load.)

즉, 실시간 처리 시스템은 시스템에 대한 로드를 미리 예상하는 것이 어렵기 때문에 기반 파일시스템 및 처리 시스템이 확장성을 가져야 한다는 점입니다.
하둡은 데이터 노드를 신속하게 확장함으로써 ‘용량’ 뿐만 아니라 ‘처리 능력’도 확장 가능한 시스템이기 때문에 하둡과 궁합이 맞는 시스템으로 판단했습니다.
하둡을 YARN에서 운용함으로써 시스템의 로드가 피크를 향해 가면 그 동안 배치 처리에 운용되던 리소스를 빌려 와서 처리를 하고 결과가 마무리 되면 다시 다른 작업에 돌려 줄 수 있습니다.

Launch Storm Cluster
스톰(Storm)은 이제 하둡 클러스터 관리 툴인 Ambari와 통합이 되어 있기 때문에 손쉽게 인스톨할 수 있습니다.
인스톨 방법은 위 링크에서 확인하시기 바랍니다.

실제로 스톰을 론칭하는 것은 간단합니다.
storm-yarn launch
여기서 ‘storm-yarn.yaml’은 스톰의 동작을 정해 놓기 위한 컨피규레이션(Configuration) 파일입니다.
예를 들어, 이 파일에는 ‘스톰 관리 모듈(Storm Supervisor)’를 처음에 몇 개로 론칭할 지를 지정하는 ‘master.initial-num-supervisors’ 혹은 각 스톰 관리 모듈을 위해서 할당해야 하는 메모리 사이즈를 지정하는 ‘master.container.size-mb’ 등과 같은 퍼래미터(Parameter)를 지정할 수 있습니다.
* Storm Supervisor는 실제 Worker Node에 생성되면 실제 부여된 태스크(task)를 관리하며, 맵리듀스의 Task Tracker와 비슷한 역할을 합니다.

yarncontainer

이 명령어를 실행시키면 아래와 같은 과정을 통해서 론칭이 진행됩니다.
1. 스톰-YARN은 YARN의 RM(Resource Manager)에게 스톰 AM(Application Master)을 론칭하기 위한 리소스를 요청합니다.
2. 스톰 AM은 각각 ‘스톰 님버스 서버(Storm Nimbus Server)’와 ‘스톰 UI(Storm UI) 서버’를 론칭합니다.
스톰 님버스 서버는 일종의 관리 서버로서 잡트랙커(Job Tracker)와 비슷하게 실행 코드를 클러스터에 분배하는 역할을 합니다.
스톰 UI 서버는 웹 인터페이스로 스톰을 관리하기 위한 서버로 이해하시면 됩니다.
3. 스톰 AM은 각 Worker Node에 스톰 관리 모듈(Storm Supervisor)를 실행하기 위한 리소스를 요청해서 론칭합니다.

그래서 ‘스톰 님버스 서버’가 각 태스크를 ‘스톰 관리 모듈’에 분배하고 ‘스톰 관리 모듈’은 부여된 태스크를 관리하는 구조로 요약할 수 있습니다.

Execute Storm Topologies
여기서 ‘스톰 토폴로지(Storm Topologies)’는 이벤트 스트림을 발생시키는 기능과 처리하는 기능을 하나의 워크플로우로 묶어 놓은 실행 코드로 생각하면 되겠습니다.

yarn2

위 다이어그램에서 보는 것처럼, 스톰 님버스 서버가 실행해야 할 태스크를 Storm superviser에 할당하면 Storm superviser는 실제 실행할 프로세스를 생성해서 ‘스톰 토폴로지’를 실행합니다.
그리고 Storm superviser는 실행 과정을 주기적으로 스톰 님버스 서버에게 보고합니다.

실제로 스톰을 실행하는 실행 코드와 데모는 아래 링크에서 다운로드해서 실행해 보면 전체적인 프로세스를 쉽게 이해할 수 있을 것입니다.
스톰을 이용한 간단한 워드카운트 데모
운송 회사의 예를 가지고 스톰을 이벤트 스트리밍 처리에 활용하는 예제 샘플

스톰-YARN은 하나의 하둡 클러스터에서 실시간 스트리밍을 처리할 수 있는 기반을 제공함으로써 그 활용 범위는 이미 여러 가지 사례를 통해서 적용되고 있습니다.

실시간 하둡의 사례에 대해서는 앞으로도 지속적으로 소개하도록 하겠습니다.

—————————————————————————————————————————–
ASD Technologies는 호튼웍스(Hortonworks Inc)와의 Consulting Partnership을 통해서
빅데이터에 대한 도입 컨설팅 및 구축을 도와드리고 있습니다.

ASD Technologies는 펜타호(Pentaho Inc)와의 Consulting and Distribution Partnership을 통해서
빅데이터에서 비즈니스 인사이트를 얻기 위한 방법을 함께 모색하고 있습니다.

호튼웍스 파트너 홈페이지
ASD Technologies Korea 홈페이지

Contact Point : sunung@asdtech.co
—————————————————————————————————————————–

실시간 하둡 기술적 분석 (Storm Technical Preview Available)

This article is based on Hortonworks Blog.

일전의 블로그에서 실시간으로 발생하는 스트리밍(Streaming) 이벤트를 처리하는 Storm이라는 실시간 하둡 처리 시스템에 대해서 소개한 적이 있습니다.
배치 처리에서 부터 시작해서 원하는 결과를 SQL구문을 통해서 바로 얻는 “Interactive Data Processing”은 물론이고, 이제는 스트리밍으로 들어 오는 실시간 이벤트 및 데이터도 처리하는 단계까지 진화가 되었습니다.

실시간 하둡은 최근에 각종 센서(Sensor)나 각종 머신 로그나 이벤트를 처리할 수 있는 유스케이스로 큰 주목을 받고 있습니다.
그래서 각 업체들마다 다양한 실시간 하둡 솔루션을 오픈하고 있는 상황입니다.

호튼웍스와 다른 업체들과의 차이점은 100% 오픈 소스 커뮤니티 기반으로 이 문제를 접근하고 있다는 점입니다.
호튼웍스의 Storm technical preview 문서를 공유합니다.

이 문서는 Storm을 호튼웍스 샌드박스(Hortonworks Sandbox)에 인스톨하는 과정부터 샘플 토폴로지(Sample Topology)를 실행시키는 것에 대한 자세한 설명이 담겨 있으므로 꼭 읽어 보시기 바랍니다.

그리고 최근에 실시간 하둡을 본격적으로 하둡에 도입하기 위한 전체 로드맵(Roadmap)도 공개를 했습니다.
가장 시급한 문제는 하둡과 Storm을 동일한 관점에서 한 곳에서 관리하기 위한 관리 시스템이라고 합니다.
(This requires providing a uniform management layer across Storm & Hadoop.)

즉, 기존 하둡과 Storm 클러스터에서 리소스를 어떻게 쉐어(Share)하고 격리(Isolation)할 것인지를 통합적으로 관리하는 것이 중요한 포인트일 것입니다.

그 다음 단계는 Storm을 엔터프라이즈에서 이용할 수 있도록 연동성을 높히는 방안과 멀티 태넌시(Multi-tenancy)기능을 보강하는 것이 로드맵에서 중요한 위치를 차지하고 있습니다.

Storm에 대한 더 자세한 자료는 이 링크를 통해서 확인하시기 바랍니다.
Hortonworks Labs Page for Storm

———————————————————————————————————–
ASD Technologies는 호튼웍스(Hortonworks Inc)와의 Consulting Partnership을 통해서
빅데이터에 대한 도입 컨설팅 및 구축을 도와드리고 있습니다.

호튼웍스 파트너 홈페이지
ASD Technologies Korea 홈페이지

Contact Point : sunung@asdtech.co
———————————————————————————————————–

제조업 분야에서의 하둡 아키텍쳐 (Modern Manufacturing Architectures Built with Hadoop from Hortonworks)

호튼웍스(Hortonworks Inc)에서 각 버티컬 영역 별로 적합한 아키텍쳐에 대해서 공개하는 단계입니다.

일전에 통신사의 하둡 아키텍쳐에 대한 블로그를 올렸는 데 그 이전에 제조업 분야의 유스케이스를 바탕으로 한 글입니다.
제조업 아키텍쳐의 핵심은 처리를 위한 데이터가 아주 다양한 형태를 가지고 있다는 점입니다.
다양한 센서(Sensor)에서 발생하는 이벤트와 같은 경우에는 실시간성으로 처리되는 비정형 데이터이지만
품질 관리 등을 위한 생산 관리 시스템 및 ERP 시스템에서 저장하는 데이터처럼 정형화된 데이터도 혼재하는 환경입니다.

이러한 다양한 데이터 소스를 처리하는 데 있어서 하둡이 가지고 있는 유연성이 가장 중요한 요소가 될 것입니다.
아래 그림에서 처럼 ETL(Extraction, Transformation and Load) 단계부터 비정형 데이터를 처리하는 툴이 적용이 되고
분석 전 단계에서도 실시간 처리를 위한 Storm이 유연하게 적용될 수 있습니다.

예를 들어, 스쿱(Sqoop)은 관계형 데이터베이스에서 데이터를 추출해서 하둡 파일 시스템(HDFS)나 관련 하둡 시스템으로 보내는 기능을 가지고 있어서 정형 데이터에 대한 ETL도 처리할 수 있습니다.
그 외 처리 방법에 있어서도 기존의 배치처리는 물론이고 HIVE를 통해서 원하는 결과를 바로 얻는 다든지
Storm을 이용해서 센서 등의 스트리밍 데이터를 처리하는 등과 같은 다양한 처리 방법을 유연하게 적용할 수 있습니다.

역시 YARN이라는 리소스 관리 플랫폼이 들어 오면서 본격적으로 하둡이 가진 통합 데이터 처리 시스템의 가능성이 커지고 있다는 느낌입니다.

———————————————————————————————————–
ASD Technologies는 호튼웍스(Hortonworks Inc)와의 Consulting Partnership을 통해서
빅데이터에 대한 도입 컨설팅 및 구축을 도와드리고 있습니다.

호튼웍스 파트너 홈페이지
ASD Technologies Korea 홈페이지

Contact Point : sunung@asdtech.co
———————————————————————————————————–