목록Computer & Data/Big Data (43)
이야기박스
정말 오랜만에 기술 글입니다. 이번 포스팅은 링크드인에서 읽었던 카프카 글을 번역하는 느낌으로 작성해 보았습니다. Summary 카프카 브로커는 아파치 카프카의 중심 구성 요소로 메시지를 수신, 저장 및 전달하는 허브 역할을 합니다. 카프카 브로커는 토픽, 파티션 및 복제본을 관리하여 Fault Tolerance와 확장성을 보장합니다. 카프카 브로커는 네트워크 스레드, I/O 스레드, 커밋 로그 및 Purgatory와 같은 구성 요소를 포함하는 Producing 및 Fetch 요청을 처리합니다. 카프카 브로커를 이해하는 것은 신뢰할 수 있고 확장 가능한 메시지 저장 및 전달 시스템을 구축하는데 필수적입니다. What is a Kafka Broker? 아파치 카프카의 브로커는 카프카의 핵심 구성요소입니다...
지난번 Docker-compose를 활용한 Redis 배포에 이어서 이번에는 Kubernetes에 배포를 해보려고 합니다. Helm에서 유명한 오픈소스인 bitnami charts를 활용하여 helm으로 간단하게 배포를 진행해보았습니다. 사전 작업 helm repo add bitnami https://charts.bitnami.com/bitnami Sentinel 구성 values.yaml 파일을 아래처럼 간소화해서 구성하였습니다. # sentinel-values.yaml fullnameOverride: redis-sentinel commonAnnotations: reference/blog: https://box0830.tistory.com/ image: tag: 7.0.5-debian-11-r0 arc..
지난번 포스팅을 통하여 Redis의 정의 및 Sentinel, Cluster의 고가용성을 알아보았는데요. 이번에는 간단하게 docker-compose를 활용하여 아래 세 가지 방법의 Redis 구성을 진행해보았습니다. Standalone Sentinel Cluster mode 간단하게 설정 파일 및 실행 명령어만 작성해두었습니다. 궁금한 점은 댓글로 남겨주시면 최대한 답변 남기도록 하겠습니다. What is Redis; Remote Dictionary Server Airflow의 CeleryExecutor를 사용할 때, Redis가 Queue로써 동작하는 것을 알고 있었지만, 지금까지 이를 제대로 알아보고자 한 적이 없었습니다. 이번 기회에 Redis가 무엇인지, 어떠한 구조로 이루어져 있 box0830..
Overview 지난 포스팅에서 Redis가 무엇인지 가볍게 살펴보는 시간을 가졌었습니다. 이번 포스팅에서는 Redis의 HA 구성을 주제로 Sentinel과 Cluster 두 방식을 비교해보도록 하겠습니다. What is Redis; Remote Dictionary Server Airflow의 CeleryExecutor를 사용할 때, Redis가 Queue로써 동작하는 것을 알고 있었지만, 지금까지 이를 제대로 알아보고자 한 적이 없었습니다. 이번 기회에 Redis가 무엇인지, 어떠한 구조로 이루어져 있 box0830.tistory.com Sentinel Sentinel이라는 이름이 처음에는 낯설었지만, 어느 순간부터 zookeeper를 생각하면서 읽다 보니 괜스레 친숙하게 느껴지더라고요. Sentin..
Airflow의 CeleryExecutor를 사용할 때, Redis가 Queue로써 동작하는 것을 알고 있었지만, 지금까지 이를 제대로 알아보고자 한 적이 없었습니다. 이번 기회에 Redis가 무엇인지, 어떠한 구조로 이루어져 있고, 어떤 일들을 할 수 있는지 알아보려고 합니다. Overview Redis is an open source (BSD licensed), in-memory data structure store used as a database, cache, message broker, and streaming engine. Question. NoSQL vs Cache Server vs ETC. Redis를 보고 "NoSQL 저장소이다.", "Cache Server다." 하는 이야기들을 듣다 ..
Elasticsearch에서 대량의 문서를 조회하려고 하였는데, 최대 10,000건 이상의 문서는 조회되지 않는 현상이 발생하였습니다. 오늘은 Elasticsearch의 Java 라이브러리를 이용하여 10,000건 이상의 로그를 조회하는 방법을 포스팅해보려고 합니다. 원인 ES에서의 설정 값 'index.max_result_window'(default 10,000건) 만큼의 결과만 hits으로 노출되고 있었습니다. 해결 방안 1. index.max_result_window 값 증가 2. Scroll API 3. Search After 1번은 근본적인 해결 방안이 아니기 때문에 제외하고, 나머지 2-3번 방법을 위주로 조사해보았습니다. 마침 공식 문서 가보니, Scroll API가 아닌 Search Aft..
이번 포스팅에서는 Spark Streaming과 Flink Streaming의 차이점에 대해서 가볍게 살펴보려고 합니다. Streaming이란? 우선 스트리밍에 대해서 간단하게 집고 가려고 합니다. 일반적으로 사용되는 스트리밍은 크게 두 가지로 나눌 수 있습니다. micro-batch streaming vs native streaming 마이크로 배치 방식은 사실은 배치 프로세스입니다. 하지만 배치 간격을 아주 짧게 잡아 실시간처럼 처리하는 것이죠. 그리고 네이티브 스트리밍이 우리가 직관적으로 알고 있는 이벤트 기반 실시간 처리 방법입니다. 비교 스파크 스트리밍은 마이크로 배치 방식을 사용하고 있고 플링크는 네이티브 스트리밍 방식을 사용하고 있습니다. 즉, 두 기술의 큰 차이점들은 각 스트리밍 방식의 차..
최근 몇년 전에 Hadoop3가 출시되면서 Hive 및 Metastore의 IDL에도 변화가 생겼습니다. 기본적으로 과거 서비스에 대한 호환성을 제공해 주었겠지만, 직접 테스트해보며 눈으로 확인해보고자 이번 포스팅을 준비하였습니다. 테스트 개요 테스트는 두 개 버전(2.3.2, 3.1.2)의 Hive Server, Metastore로 진행하였습니다. 화살표처럼 총 4가지의 연결을 시도할 예정입니다. 테스트 명령으로 Create Database / Table을 시도할 예정이고, Show가 되는지 확인, 그리고 테이블에 간단한 Insert를 진행해볼 예정입니다. 결론 예상했던 것 처럼 비교적 최신 버전(3.1.2)의 Metastore에서는 하위 버전의 Hive Server(2.3.2)의 호환이 가능하였지만,..