전체 글

전체 글

    [kafka] kafka cluster 구축하기

    데이터 플랫폼 운영업무를 진행하면서 예전 장비가 노후되어 신규 서버가 들어오면서 kafka cluster를 구축하는 일이 생기기도 했고,EOS 문제도 있으며 보안상의 이유로 신규 카프카를 설치해야 하는 경우도 있었습니다. 물론 예전버전의 카프카를 사용하는 경우 rolling upgrade를 진행 할 수도 있습니다. rolling upgrade는 나중에 이야기를 해보려고 합니다. 이번 포스팅에서는 kafka cluster를 구축해보려고 합니다. 각 버전은 다음과 같습니다. zookeeper : 3.6.4 kafka : 3.0.0 monitoring : kafka for ui 현재 업무에서는 예전에 구축했던 버전들을 사용하고 있고, rolling upgrade를 위한 복선으로 위와 같은 버전을 사용하겠습니다..

    [Kafka] kafka 아키텍처와 구성

    MOM(Meesage Oriented Middle ware) 아키텍처 카프카 아키텍처에 대해서 이야기하기 전에 먼저 MOM과 메시지 브로커(Pub/Sub 패턴)을 정리하겠습니다. 메시지 공급자를 이용하여 클라이언트(애플리케이션)들의 메시지를 중간에서 관리해줌 메시지를 보낸(송신) 클라이언트는 응답이 오지 않더라도 다른 작업을 계속 수행할 수 있음(비동기) 메시지 공급자는 수신 클라이언트가 메시지를 소비할 때까지 메시지를 보관 시스템의 개별 구성 요소나 연결이 실패하여도 중단 없이 안정적으로 작동할 수 있는 느슨한 연결을 함 여기서 중요한 것은 MOM은 이론, 개념, 어떤 설계적인 방향성을 제시하고 있고 직접적인 구현체는 아닙니다. 메시지 브로커(Pub/Sub 패턴) 메시지 브로커는 송신자(Publishe..

    [Kafka] Apache kafka 소개와 배경

    현재 업무상 데이터 인프라, 데이터 엔지니어링, 데이터 플랫폼을 운영하고 있습니다. 데이터 엔지니어라는 포지션이 꼭 데이터 엔지니어링만을 다루는 것이 아니라 해당 시스템을 뒷받침하는 인프라적인 요소를 잘 다루어야 한다는 것을 크게 체감하고 있습니다. 데이터 인프라적인 요소 또한 조금씩 포스팅하려고 합니다.. 위에서 이야기한 두가지 요소를 포함하는 것을 데이터 플랫폼이라고 규명하겠습니다. 현재 운영하는 데이터 플랫폼의 첫 시작인 카프카에 대해서 이야기하려고 합니다. Apache Kafka(아파치 카프카) 카프카는 카프카 공식문서를 통하면 더욱 자세하게 알 수 있습니다. 아파치 카프카란? 오픈소스로 확장성이 뛰어난 메시지 브로커 프로젝트입니다. 분산형 데이터 스트리밍 플랫폼이며 대용량의 실시간 데이터를 처리..

    2023년 하반기 회고

    2023년 하반기(7~12월) 회고를 진행해보려고 합니다. 신입 데이터 엔지니어 2023년에 개인적으로 가장 큰 이벤트는 바로 취업이었습니다. 데이터 엔지니어로 취업을 하여 개인적으로 뿌듯한 해 였지만.. 데이터 공부를 많이 하지 못했다는 것이 아쉬움으로 남습니다. 현재는 프로젝트에 투입되어 실시간으로 대용량 데이터를 다루는 일을 하고 있습니다. 운영중인 서버의 환경은 리눅스 위에 kafka, nfii, kubernetes, airflow, trino와 같은 기술들을 사용하다 보니 리눅스를 비롯한 사용 기술들에 대한 이해가 필요했고, 출퇴근 시간을 이용하여 인터넷 강의를 보며 열심히 따라가고 있지만.. 아직은 많이 부족함을 느끼고 있습니다. 최근에는 카프카 클러스터를 구축하고 Topic을 이관하는 작업을..

    2023년 상반기 회고

    2023년 상반기(1~6월) 회고를 진행해보려고 합니다. 회고를 위하여 깃허브의 잔디를 확인해보니 열심히 커밋을 한 것 같습니다. 잔디 하나하나의 내용들이 프로젝트나 기술 관련된 내용이었다면 더 좋았겠지만 주로 코딩테스트를 위하여 문제를 풀었다는 것이 조금 아쉽습니다. 초반에는 문제를 풀고 블로그에 문제 풀이를 올리고 직접만든 자동 커밋 프로그램을 이용하여 커밋을 하였지만 이력서, 자기소개서 작성, 면접 준비 등등 취업준비로 인하여 여러 과정들이 생략되었습니다. 또한 leethub라는 leetcode의 문제를 풀면 자동으로 커밋해주는 크롬 확장 프로그램을 사용하면서 블로그에 문제 풀이를 올리는 과정을 생략하였습니다. 여러 회사의 코딩테스트를 통과하지 못하는 시간들이 많아지고 개인적으로 취업준비가 길어지면..

    [빅데이터를 지탱하는 기술] 빅데이터의 축적 # 2

    스트리밍 형의 데이터 전송 웹 브라우저, 모바일 앱, 센서 기기등 각종 디바이스에서는 데이터가 바로 생성이 되고 어디에도 저장이 되지 않는 데이터는 바로 전송을 하고 수집을 해야합니다. 이러한 데이터는 벌크 형 도구로 모으는 것은 불가능하기 때문에 스트리밍 형 데이터 전송이 필요합니다. 웹 브라우저나 모바일 앱은 메시지 배송의 통신 프로토콜로 HTTP(S)를 사용합니다. lot 같은 머신 데이터는 MQTT 등의 오버헤드가 작은 프로토콜이 사용되는 경우도 있습니다. 이러한 데이터 전송의 공통점은 다수의 클라이언트에서 작은 데이터들이 전송되는 것입니다. 이러한 데이터 전송 방식을 '메시지 배송(message delivery)'이라고 하며 메시지 배송 시스템은 통신을 위한 오버헤드가 커지기 때문에 이를 처리하..