빅데이터 플랫폼 (Bigdata Platforms)(9)
-
하둡 (Apache Hadoop) 4. Zookeeper로 HDFS의 고가용성(High Availability) 달성하기
시작하면서 이전에 HDFS를 설치한 포스트에서 저비용으로 높은 가용성을 가진다는 것을 설명했습니다. HDFS는 빅데이터를 위해 설계되었기 때문에 높은 처리량(high throughput)을 보장합니다. 따라서 당연히 그만큼 데이터 교환 시에 다양한 실패 상황이 있을 수 있고, 이를 위해 고가용성(high availiablity)을 달성하는 것은 당연합니다. 이번 포스팅은 주키퍼와 연동하여 HDFS의 고가용성을 달성하는 QJM(quorum journal manager) 방식이기 때문에 먼저 주키퍼에 대한 개요를 이해하고 있어야 하며 주키퍼 클러스터를 미리 설치해야 됩니다. 마지막으로 이전에 작성했던 글을 인용하여 가볍게 청사진을 그리고 시작하겠습니다. 활성화된 네임노드(active stated nameno..
2021.02.22 -
하둡 (Apache Hadoop) 3. YARN은 무엇일까?
시작하기 전 이전 포스팅에서는 하둡을 설치하는 방법에 대해 알아보았습니다. 이때 설정 파일 중 yarn-site.xml 파일을 건드렸었는데, 이는 YARN과 관련이 있습니다. 위처럼 YARN이 하둡 생태계에서 어떤 역할을 하는지, 이번 기회에 알아보는 시간을 가지도록 하겠습니다. 참고 작년 7월 경 Hadoop Common Jira에서 마스터/슬레이브의 용어에 대한 이슈가 있었지만, 아직 해결되지 않은 것 같습니다. https://issues.apache.org/jira/browse/HADOOP-17170 용어 정의가 변경될 때까지 마스터/세컨더리로 부르겠습니다. 등장 배경 하둡이 등장한 시점에, 사실 YARN은 포함되지 않았습니다. 그 당시 하둡은 크게 HDFS와 맵리듀스(MapReduce) 방식으로 ..
2021.02.22 -
하이브 (Apache Hive) 1. 개요
시작하면서 하이브(hive)는 분산 환경에서 대용량 데이터를 읽거나 쓰고 관리하기 위해 개발된 데이터 웨어하우스 소프트웨어입니다. 그런데 대용량 데이터, 즉 빅데이터를 읽고 쓰는 것이 무엇이 그렇게 특별하며 또 웨어하우스는 무엇일까요? 그리고 왜 기업들은 하이브를 고집할까요. 이제 시작하겠습니다. 데이터 웨어하우스의 등장 사람들은 대부분 데이터베이스를 알고 있지만 데이터 웨어하우스는 생소할 것이에요. 참고한 Apache Hive Essentials - Dayong D. 책과 위키에 데이터베이스와 관련한 역사이야기가 나와서, 이해를 쉽게 돕기 위해 한번 공유해보겠습니다. 1960년대 1960년대 이전까지만 해도 기업들은 디스크에 데이터를 읽고 쓰는 것에 그쳤습니다. 사실 디스크라고도 뭐하지만 자기 테이프를..
2021.01.29 -
카프카 (Apache Kafka) 2. 카프카 설치하기
시작하면서 카프카를 설치하기에 앞서, 이전에 카프카에 대해 소개했던 글을 먼저 읽으시길 바랍니다. 그리고 카프카를 설치하는 방법은 공식 사이트에서 잘 소개되어 있습니다. 위 글을 따라서 진행해도 크게 무리는 없으나 어디까지나 가장 기초적인 수준이고, 이전에 주키퍼 클러스터를 구축했으므로 카프카와 주키퍼를 연동하여 클러스터를 만드는 것까지 소개하겠습니다. 설계하기 우선 장치 dim, oim, jim 3개를 가지고 어떻게 브로커 서버를 구성할 지 생각해봅니다. 지금은 각 필드명이 무슨 의미인지 알 필요는 없습니다. 다만 이전에 만든 주키퍼 클러스터에 대한 정보를 가져와야 되고, broker.id를 각 서버가 고유하게 가진다는 점을 주목합니다. 나머지 포트 및 프로토콜에 대해서는 아래 'server.prope..
2021.01.22 -
주키퍼 (Apache Zookeepr) 2. 주키퍼 클러스터 설치
시작하면서 주키퍼에 대한 기본 개요는 이전글을 참고해주시길 바랍니다. 주키퍼 설치는 Ubuntu 18.04 LTS에서 진행하였습니다. 이전 HDFS 완전 분산 모드를 설치한 포스팅에서는 각 설치 단계 안에서 필요한 요소를 정의했지만, 해당 포스트는 제가 어떤 플랫폼을 설치할 때 접근하는 과정을 설명하는 방향으로 진행하겠습니다. 설치 준비 주키퍼를 단일(standalone) 모드로 설치하고자 하는 분들은 여기를 눌러 'Standalone Operation' 부분을 참고해주시길 바랍니다. 주키퍼를 설치하기 위해서는 우선 요구 사양을 확인해야 합니다. 본 장은 리눅스 환경을 가정했으므로, GNU/Linux 부분만 참고하면 됩니다. 또한 자바 버전과 성능도 따져봐야 합니다. 명시된 바로는 8, 11, 12 버전..
2021.01.18 -
카프카 (Apache Kafka) 1. 개요
시작하면서 카프카는 2011년 미국 기업인 링크드인(Linkedin)에서 출발했습니다. 사실 그 전부터 기업들은 빅데이터를 모으기 위해 웹사이트에서 발생하는 여러 이벤트 정보들을 수집하기 시작했고, 더 빠르고 더 많은 데이터를 수집하고 저장할 수 있는 플랫폼에 대한 고민이 있었습니다. 그리고 카프카는 아래 5개의 동기와 함께 위의 욕구를 만족하는 플랫폼으로 현재까지 매우 사랑받고 있습니다. 거대한 데이터 스트림을 빠르게 처리(high-throughput)할 수 있다 오프라인 시스템에서 주기적으로(periodic) 데이터를 읽을 수 있도록 해야한다. 데이터 전송에 대한 지연 시간은 매우 작아야 한다. 분할 또는 분산되어 실시간으로 데이터를 처리한다. 실패(machine failures) 시 빠르게 이를 복..
2021.01.13