Cluster : The Beginning - Hadoop, HBase 그리고 Kafka


Prologue


빅데이터를 공부해보겠다고 깝치기 시작한 것이 2013년 5월경이었다.
당시 우선 Hadoop 위주로 공부를 하면서 twitter streaming API를 이용하여 데이터를 모아보려고 하다가
그냥 데이터만 보아보고는 별다른 진척 없이 유야무야 되었다.


그리고 2016년 3월경, Apache Kafka를 알게되면서 다시 의욕이 불타올랐다.
이 때는 이미 하드웨어 장비도 맥미니 5대로 실제 분산 처리를 구현해볼 수 있을만한 상태였다.
이 당시 Kafka에 대한 글을 블로그에 정리하면서도 이와 비슷한 글로 시작을 하고 있었다…-.-


그러나 Hadoop ecosystem이라는 것이 설치는 간단하지만 설정과 운영은 결코 만만치 않았다.
각 시스템 간의 연동이라든지 튜닝, 그리고 데이터를 어떻게 분석할 것인가, 그러기 위해 어떤 형태로 저장할 것인가
등등을 생각하면 공부해야 할 것들이 부지기수로 불어난다.


결국 Kafka에 대한 기초 수준의 공부와 twitter streaming API를 통해 데이터를 받아와 Node로 구현하 producer와 
consumer를 이용한 데이터 전송을 맛배기 수준에서 구현해보고는 역시 봉인 상태에 들어갔었다.


그리고 이 당시 직접 분산 환경을 만들어보고 싶어서 구입한 맥미니 5대도 함께 봉인되었다는 슬픈 전설이…-.-


아래 이미지는 5대의 맥미니인데 최근 드론 만든다고 책상 상태가 조금 심란하다…-.-



이전에 맥미니를 무려 5대나 가지고 있으면서도 제대로 활용하지 못했던 이유 중 하나가 Hadoop ecosystem을
구성하다보니 5대의 서버로는 택도 없다는 것을 깨달았기 때문이다. 기본적으로 Hadoop과 zookeeper 그리고 
HBase를 설치한 후 여기에 다시 Kafka를 올리고…마치 초등학생 가방에 9박 10일치 여행 용품을 쑤셔넣은 듯한
느낌을 지울 수가 없었다…ㅠ.ㅠ (2016년도는 한편 아두이노에 푹 빠져있을 시기이기도 하다)


그렇게 시간은 흐로고 어느날 라즈베리 파이를 알게되고 라즈베리 파이를 이용한 클러스터링에 대한 유튜브 동영상을
접하게 되었다. 다시 나의 쓸데없는 호기심은 고개를 처들기 시작하였고, 나는 라즈베리 파이를 이용한 클러스터링을
준비하게 되는데…


사실 저렴하다고는 하지만 그것은 어디까지나 상대적인 것이고 국내에서 라즈베리 구동을 위해 필요한 것을 구입하자면
네트워크는 Wi-Fi를 사용하고 전원은 컴퓨터에 USB를 연결한다고 치면 라즈베리파이 본체와 마이크로 SD카드의 최소
구성이 5만원이 넘어간다. 3대의 클러스터를 만든다고 해도 최소한 15만원 이상의 투자가 필요하다.


하지만 내가 누군가!
야금야금 모으던 라즈베리 파이가 어언 6대(마지막 한 대는 최근 구성상의 문제로 부랴부랴 구입했다). 
이제 때가 도래한 것이다!


하드웨어 장비로만 보자면 라즈베리 파이가 6대, 맥미니가 5대로 웬만한 클러스터는 충분히 구현할 수 있을만한
요건이 갖추어졌다고 할 수 있을 것이다.


이제 다시 그동안 시도만 하고 끝을 보지 못한 작업을 새롭게 시도를 할 것이며 이제는 그 끝을 보고자 한다.
그리고 그 범위는 매우 방대할 것이다. (어서 보고 들은 것은 있어서) IoT와 Big Data 그리고 Deep Learning으로
이어지는 최신 트렌드를 구현해보고자 한다.


우선은 수박 겉핥기 수준의 구현에 불과하겠으나 한 번 구현된 시스템을 계속 유지하면서 그 깊은 곳으로 들어가보고자
한다. 더이상의 중단이 없는 내 호기심의 마지막 종착역이 되길 빌며 이 프로젝트를 시작한다.



간단한 구성 계획


  • 라즈베리 파이 1 - HAProxy를 통한 로드 밸런싱
  • 라즈베리 파이2, 3 - MQTT 설치. 2대로 클러스터 구성. 모바일 디바이스나 아두이노 등을 활요하여 제작한 IoT 기기 정보 수집. 솔루션은 EMQ 설치
  • 라즈베리 파이4, 5, 6 - Kafka 클러스터 구성. MQTT에서 받은 데이터를 HDFS 또는 HBase로 저장
  • 맥미니 1 ~ 5 - Hadoop 2.0과 HBase 설치

몇가지 우려


일단 어떤 시스템을 어떻게 구성할 것인지에 대해서는 어렴풋이나마 감을 잡겠으나 어떤 데이터를 어떻게 분석할
것인지에 대해서는 아직도 오리무중이다. 그래서 우선 나의 목적과 어느정도 부합한다고 생각되는 책을 한 권 선정하여
이 책을 통해 감을 잡아가려고 한다. 책의 제목은 “하둡과 스파크를 활용한 실용 데이터 과학”이다.


나는 스파크를 이용하지는 않을 것이기에 혼란은 좀 있겠지만 열심히 읽고 나의 방법을 찾아봐야겠다.


이전 학습 내용 링크


이전에 어떤 공부를 했었는지 2013년도 정리한 내용과 2016년 정리한 내용의 최초 포스팅만 링크해본다.

Hadoop : [BigData] 학습 시작을 위한 용어 정리

Kafka : [Kafka]3년만에 찾은 솔루션 kafka…ㅠ.ㅠ










블로그 이미지

마즈다

이미 마흔을 넘어섰지만 아직도 꿈을 좇고 있습니다. 그래서 그 꿈에 다가가기 위한 단편들을 하나 둘 씩 모아가고 있지요. 이 곳에 그 단편들이 모일 겁니다...^^

티스토리 툴바