Apache Storm

실시간으로 스트리밍 데이터를 처리하는 시스템

Apache Storm은 엔터프라이즈 Hadoop에 안정적인 실시간 데이터 처리 기능을 추가합니다. Storm on YARN은 실시간 분석, 머신 러닝 및 지속적인 운영 모니터링이 필요한 시나리오에 강력한 기능을 제공합니다.

Storm은 Apache Slider를 통해 YARN과 통합되며, YARN은 Storm을 관리하는 동시에 최신 데이터 아키텍처의 데이터 거버넌스, 보안 및 운영 구성요소에 적합한 클러스터 리소스를 고려합니다.

Storm 수행하는 작업

Storm은 대량의 고속 데이터 처리를 위한 분산된 실시간 계산 시스템입니다. Storm은 적당한 크기의 클러스터에서 노드별로 초당 100만 개 이상의 레코드를 처리할 수 있어 속도가 매우 빠릅니다. 기업은 이러한 속도를 활용하여 Hadoop의 다른 데이터 액세스 애플리케이션과 결합함으로써 원치 않는 이벤트를 방지하거나 긍정적인 결과를 최적화할 수 있습니다.

이에 따른 새로운 비즈니스 기회로는 실시간 고객 서비스 관리, 데이터 수익화, 운영 대시보드, 사이버 보안 분석 및 위협 감지 등이 있습니다.

다음은 Storm의 일반적인 "예방" 및 "최적화" 사용사례입니다.

"Prevent" Use Cases "Optimize" Use Cases
 Financial Services
  • Securities fraud
  • Operational risks & compliance violations
  • Order routing
  • Pricing
  Telecom
  • Security breaches
  • Network outages
  • Bandwidth allocation
  • Customer service
  Retail
  • Shrinkage
  • Stock outs
  • Offers
  • Pricing
  Manufacturing
  • Preventative maintenance
  • Quality assurance
  • Supply chain optimization
  • Reduced plant downtime
  Transportation
  • Driver monitoring
  • Predictive maintenance
  • Routes
  • Pricing
  Web
  • Application failures
  • Operational issues
  • Personalized content

Storm은 간단하며 개발자는 어떤 프로그래밍 언어로라도 Storm 토폴로지를 작성할 수 있습니다. 5가지 특성 덕분에 Storm은 실시간 데이터 처리 워크로드에 이상적입니다. Storm의 특징은 다음과 같습니다.

  • 빠른 속도 – 노드별로 초당 백만 개의 100바이트 메시지를 처리하는 것으로 벤치마킹됨
  • 우수한 확장성 – 시스템 클러스터 전반에서 실행되는 병렬 계산 지원
  • 내결함성 - 작업자가 멈추면 Storm이 자동으로 재시작하도록 합니다. 노드가 멈추면 작업자가 다른 노드에서 다시 시작됩니다.
  • 우수한 안정성 – Storm은 각 데이터 단위(튜플)가 최소 한 번이나 정확히 한 번 처리되도록 보장합니다. 메시지는 오류가 있는 경우에만 재생됩니다.
  • 작동 용이성 – 표준 구성은 가동 첫날부터 프로덕션에 적합합니다. Storm은 배포 후 작동이 손쉽습니다.

Storm 작동 원리

Storm 클러스터에는 다음 세 가지 노드 세트가 있습니다.

  • Nimbus 노드(마스터 노드, Hadoop JobTracker와 유사):
    • 실행을 위해 계산 업로드
    • 클러스터 전반에서 코드 분산
    • 클러스터에서 작업자 실행
    • 계산 모니터링 및 필요에 따라 작업자 재할당
  • ZooKeeper 노드 – Storm 클러스터 조정
  • 감독자 노드 – Zookeeper를 통해 Nimbus와 통신하고 Nimbus의 신호에 따라 작업자를 시작하고 중지함

Storm 아키텍처

다음과 같은 5가지 핵심 추상화를 통해 Storm의 데이터 처리 방법을 이해할 수 있습니다.

  • 튜플 – 순서가 지정된 요소 목록. 예를 들어 “4튜플”은 (7, 1, 3, 7)일 수 있음
  • 스트림 – 제한 없는 튜플 순서.
  • 스파우트 – 계산에 포함된 스트림의 소스(예: Twitter API)
  • 볼트 – 입력 스트림을 처리하고 출력 스트림을 생성. 이 핵심 추상화는 기능 실행, 데이터의 필터링, 집계 및 결합, 데이터베이스와의 통신이 가능.
  • 토폴로지 – (다음 다이어그램과 같이) 스파우트나 볼트의 네트워크로서 시각화되는 전체 계산

Storm 개념

Storm 사용자는 데이터가 스파우트에서 스트리밍될 때 이를 처리하는 방법에 대한 토폴로지를 정의합니다. 데이터가 들어오면 처리되고 결과는 Hadoop으로 전달됩니다. Storm과 Hadoop을 통합하고 기업 도입에 알맞은 태세를 정비하기 위해 커뮤니티가 어떻게 노력하고 있는지 자세히 알아보십시오.

Your form submission has failed.

This may have been caused by one of the following:

  • Your request timed out
  • A plugin/browser extension blocked the submission. If you have an ad blocking plugin please disable it and close this message to reload the page.