주키퍼(4)
-
하둡 (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 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 Zookeeper) 1. 개요
시작하면서 분산(distributed) 환경에서 동작하는 시스템은 어떻게 관리하고 감독해야 될까요? 가령 A, B, C 라는 컴퓨터가 동일한 잡을 수행하다, C가 말썽을 일으켰다고 할게요. 그럼 우리는 C에 방문해서 무엇이 문제인지 알아낼 수 있겠죠. 하지만 A0, A1, ..., A99 까지 100대의 컴퓨터가 있을 때는, 일일이 방문해가며 원인을 찾을 수 있을까요? 정답은 찾을 수 있지만 고통스럽다 입니다. 매번 할당되는 컴퓨터를 파악하는 것도 문제지만 일일이 어떻게 감독하고 고쳐나갈 지도 너무 힘들 것입니다. 즉, 우리는 실패에 대해 신속하고 정확하면서 범용성을 지닌 관리자 및 감독자가 필요합니다. 당연히 이들 또한 스스로의 결함에 대해 고칠 수단이 강력해야겠죠. 그리고 이러한 기능은 비단 결함 수..
2021.01.12