apache 23

Apache Storm을 이용한 실시간 데이타 처리 #4 –소개와 기본 개념

대충보는 Storm #4-Apache Storm 특징과 기본 개념 조대협 (http://bcho.tistory.com) 지금까지 Storm에 대해서 이해하기 위해서, 실시간 스트리밍 서비스의 개념에 대해서 알아보고 간단한 HelloStorm 애플리케이션을 제작해서, 싱글 클러스터 노드에 배포해봤다. 대략 실시간 스트리밍이 무엇이고, Storm을 이용해서 어떻게 개발하는지에 대해서는 어느정도 이해를 했을 것이라고 생각한다.그러면 지금까지의 경험을 조금 더 체졔적으로 정리해서 Storm에 대해서 이해해보도록 하자. 이번에는 Storm에 대한 개념과 아키텍쳐 구조에 대해서 알아보겠다. Storm의 특징Storm을 실시간 스트리밍을 처리하기 위한 서버이자 프레임웍이다. 그렇다면 이 Storm이 다른 스트리밍 처..

Apache Storm을 이용한 실시간 데이타 처리 #3 -Storm 클러스터 설정과 배포

대충보는 Storm #3-Storm 싱글 클러스터 노드 설치 및 배포조대협(http://bcho.tistory.com) 지난번에는 간략하게, Storm을 이용한 HelloStorm 애플리케이션을 개발용 클러스터인 Local Cluster에서 구동해봤다. 이번에는 운영용 클러스터를 설정하고, 이 운영 클러스터에 지난번에 작성한 HelloStorm 토폴리지를 배포해보도록 한다. Storm 클러스터의 기본 구조Storm 클러스터를 기동하기 전에, 클러스터가 어떤 노드들로 구성이 되는지 먼저 알아보도록 하자 Storm 클러스터는 기본적으로 아래와 같은 3가지 구성요소로 구성이 되어 있다.먼저 주요 노드인 Nimbus와 Supervior 노드에 대해서 알아보자, Nimbus와 Supervisor 노드는 각각 하나..

Apache Storm을 이용한 실시간 데이타 처리 #2-Storm 설치와 HelloStorm 작성하기

대충보는 Storm #2-Storm 설치와 HelloStorm 작성하기조대협(http://bcho.tistory.com) Apache Storm과 Spark앞서 데이타 스트리밍 처리에 대해서 설명했다. 스트리밍 처리에 대표적인 오픈소스 프레임웍으로는 Apache Storm과 Apache Spark이 있는데ㅔ, Spark은 최근에 나온 것으로 스트리밍 처리뿐 만 아니라 조금 더 보편적인 분산 컴퓨팅을 지원하는데, Storm의 경우 나온지도 오래되었고 무엇보다 안정성 부분에서 아직까지는 Spark보다 우위에 있기 때문에, Storm을 중심으로 설명하고자 한다HelloStormStorm의 내부 구조 개념등을 설명하기에 앞서, 일단 깔아서 코드부터 돌려보고 개념을 잡아보자 HelloStorm 구조HelloWor..

Spark 노트

Spark을 살펴보기전에, 단순하게 빅데이터 실시간 분석을 위한 스트리밍 플랫폼 정도로 생각했다.CEP 영역에 해당하는 Apache Storm 과 같은 개념으로 생각했었는데, Spark의 특징은 스트리밍은 하나의 특징일 뿐이고 조금 더 일반적인 클러스터링 플랫폼이다.여러개의 컴퓨터를 묶어서 무언가(?)를 할 수 있는 플랫폼의 개념으로, 무엇인가 처리를 클러스터에 분산하여 실행하도록 해준다.무언가가 데이타 분석도 될 수 있고, 머신 러닝이나 기타 여러가지가 될 수 있다. Spark은 기존의 하둡의 Map & Reduce의 성능 문제, MR 기반의 복잡성을 제거하고자 탄생했다. 메모리 기반의 처리를 통해서 기존의 MR에 비해 성능을 올리고 조금더 쉬운 데이타 접근을 목적을 두고 탄생했다. Spark은 이미 ..

Spring 프레임웍 Hadoop-Hive 통합

Spring forApache Hadoop Project #2(Hive Integration)Hive는 Apache 오픈 소스 프로젝트의 하나로, Hadoop 관련 프로젝트이다.HDFS에 저장된 데이타를 마치 RDMS의 SQL처럼 쿼리하기 위한 솔루션으로, 복잡한 데이타 쿼리 연산에 있어서, Hadoop과 함께 사용하면 매우 유용하게 이용할 수 있다.SHDP에서도 이 Hive를 지원한다. 크게 Hive의 기동과, HiveScript의 실행 그리고, Hive에서 제공하는 API를수행할 수 있도록 지원하며, Hadoop 지원과 마찬가지로, Tasklet을제공하여 Spring Batch와의 통합을 지원한다.Hive Server의 기동hive-server엘리먼트로 정의하며,con..

Apache Camel Overview

조대협 (http://bcho.tistory.com) 서문 예전 BEA나 오라클 시절에, EAI, ESB 등을 가지고 시스템간의 연계 업무를 많이 해왔던 나로써는 오픈 소스 기반의 EAI 프레임웍인 Apache Camel의 경우 상당히 흥미로운 주제였다. 과연 상용 제품 대비 얼마나 현실성있는 integration 기능을 제공할 것인가? 가 가장 큰 궁금증이었다. BEA WebLogic EAI나, Oracle Service Bus, AIA 등 여러 제품을 이용해서 직접 시스템간의 연계 시나리오도 구현해보고, BMT에서 타社의 솔루션을 테스트도 해봤지만, 먼저 상용 솔루션의 약점은, 솔루션에서 제공하는 시스템간의 연계에 있어서 성능적인 제약이 매우 많이 따른 다는 것이다. 대부분 Message Queue ..

아키텍쳐 /EAI 2013.02.17

분산처리 프레임웍 Apache Hadoop 아키텍쳐 소개 - #1/2 (HDFS)

Hadoop Architecture Overview 요즘 클라우드와 빅데이타 그리고 분산 컴퓨팅이 유행하면서 가장 많은 언급 되는 솔루션중하나가 Hadoop이다. Hadoop 이 무엇이길래 이렇게 여기저기서 언급될까? 본 글에서는 Hadoop에 대한 소개와 함께, Hadoop의 내부 동작 아키텍쳐에 대해서 간략하게 소개 한다. What is Hadoop? Hadoop의 공식 소개를 홈페이지에서 찾아보면 다음과 같다. ‘ The Apache Hadoop software library is a framework that allows for the distributed processing of large data sets across clusters of computers using a simple progr..

아파치 분산 데이타 베이스 Cassandra 소개

Introduction of Cassandra 카산드라는 구글의 BigTable 컬럼 기반의 데이타 모델과 FaceBook에서 만든 Dynamo의 분산 모델을 기반으로 하여 제작되어 Facebook에 의해 2008년에 아파치 오픈소스로 공개된 분산 데이타 베이스 입니다. 기존의 관계형 데이타 베이스와 다르게 SQL을 사용하지 않는 NoSQL의 제품중의 하나이며, 대용량의 데이타 트렌젝션에 대해서 고성능 처리가 가능한 시스템이다.(High-Scale). 노드를 추가함으로써 성능을 낮추지 않고 횡적으로 용량을 확장할 수 있다. 얼마전에 트위터도 MySQL에서 Cassandra로 데이타베이스를 전환하였다고 한다.. 자바로 작성되었음에도 불구하고, 데이타베이스라는 명칭에 걸맞게 여러 프로그래밍 언어를 지원합니다..