SideProject - logstash를 통해 데이터 수집 후 API 제공
·
사이드프로젝트
[ 실행 환경 ]AWS EC2를 통한 서버 구성유연한 확장성: 필요에 따라 인스턴스 크기를 조정하거나 새 인스턴스를 추가하여 확장할 수 있습니다.빠른 배포: 몇 분 만에 새로운 인스턴스를 생성하여 서버를 시작할 수 있습니다.비용 효율성: 사용한 만큼만 비용을 지불합니다.Ansible로 배포Ansible은 IT 인프라 자동화를 위한 간단하고 강력한 도구이며, 손쉽게 다수의 서버에 배포가 가능합니다.systemd에 등록하여 어플리케이션 실행간편한 배포를 위해 서비스 파일을 통해 애플리케이션의 실행 명령어, 환경 변수 등을 설정하여 쉽게 관리합니다. [ 요구 사항 ]- Generator는 1초마다 아래 스키마의 데이터 생성PropertyTypeDescriptionItem_idstringA, B, C 중 하나c..
실전 카프카 - 4장 내부 동작 원리와 구현
·
DataPipeline/Kafka
[ 리플리케이션 ]안정성을 확보하기 위해 카프카 내부에서는 리플리케이션이라는 동작을 실행합니다.토픽의 리플리케이션(복제)를 통해 데이터의 유실을 방지하며, 토픽 생성시 필수로 입력해야 합니다. ( replication-factor 옵션 )# 토픽 생성/kafka/bin/kafka-topic.sh --bootstrap-server server1.name.com:9020 \--create --topic test01 --partitions 1 --replication-factor 3# 생성된 토픽 정보 확인하여 replication 여부 확인/kafka/bin/kafka-topic.sh --bootstrap-server server1.name.com:9020 \--topic test01 --describe이후..
실전 카프카 - 3장 기본 개념과 구조
·
DataPipeline/Kafka
[ 기초 개념 ]리플리케이션 Replication토픽 생성 명령 중 replication-factor 2 이라는 옵션을 설정하면원본을 포함한 복제본이 총 2개가 있다는 뜻입니다.리플리케이션 팩터 수가 커지면 안정성은 높아지지만브로커 리소스를 많이 사용하게 됩니다. 파티션 Partition하나의 토픽이 한 번에 처리할 수 있는 처리량을 늘리기 위해토픽을 여러 개로 나눠 병렬 처리가 가능하게 만든 것을 파티션이라고 합니다.나뉜 파티션 수만큼 컨슈머를 연결할 수 있습니다. 파티션은 언제든 늘릴 수 있지만 줄일 수는 없으므로,컨슈머의 LAG ( 프로듀서 메세지 수 - 컨슈머 메세지 가져간 수)가 0이 되도록 설정하는 것이 좋습니다. 참조 - 파티션과 컨슈머 할당에 대한 글 세그먼트 Segment프로듀서 의해 브..
Kafka - CDC Connector Debezium 예제
·
DataPipeline/Kafka
[ 데비지움 ( Debezium ) 이란? ]변경 데이터 캡처(Change Data Capture, CDC)로,데이터베이스의 변경 사항을 실시간으로 추적하고 이를 스트림 형태로 전달하는 오픈 소스 분산 플랫폼입니다.주로 CDC 이벤트를 Kafka로 topic으로 전달하는데 사용하며, Sink connector로 설정됩니다.다른 방법으로 적용할 수도 있습니다.데비지움 서버를 이용한 배포Java 라이브러리 데비지움 엔진Debezium connector는 데이터베이스의 변경 로그(binlog, WAL 등)를모니터링하여 실시간으로 변경 사항을 감지합니다.  [ 예제 with Docker ]고려사항 ( Consideration )Debezium 튜토리얼에서는 Docker를 활용하여 ZooKeeper, Kafka,..
Logstash - pipelines.yml을 통한 다중 파이프라인
·
DataPipeline/Elasticsearch
[ pipelines.yml 역할 ]pipelines.yml 파일은 Logstash에서 여러 파이프라인을 동시에 실행하기 위해 사용되는 설정 파일입니다.단일 Logstash 프로세스에서 여러 파이프라인을 구성하고 실행할 수 있어다양한 데이터 흐름을 병렬로 처리할 수 있습니다. 파이프라인 간 독립성:각 파이프라인은 고유한 ID와 설정 파일을 가지며, Logstash는 이를 독립적으로 실행합니다.특정 파이프라인의 오류가 다른 파이프라인에 영향을 미치지 않습니다.효율적인 리소스 활용:단일 Logstash 인스턴스로 다중 파이프라인을 실행해 리소스를 절약하면서도 병렬 처리가 가능합니다.유지보수 용이성:설정 파일을 독립적으로 관리할 수 있어 유지보수가 용이하며, 확장성이 뛰어납니다. [ 예제 ]Input은 3가지..
Logstash - Json, Mutate, Roby, Date
·
DataPipeline/Elasticsearch
[ JSON 필터 ]JSON 형식 데이터를 파싱하여 Logstash 이벤트의 필드로 변환합니다.JSON 데이터를 Logstash 내부에서 개별 필드로 분리하여 가공 및 분석이 용이하도록 합니다. 입력 데이터{"user": "john_doe", "action": "login", "timestamp": "2024-11-24T10:00:00Z"}Logstash 설정filter { json { source => "message" }}변환 후 출력{ "user": "john_doe", "action": "login", "timestamp": "2024-11-24T10:00:00Z"}JSON 문자열이 각각 user, action, timestamp라는 개별 필드로 변환됩니다.  [ Mutate 필터 ..
Logstach - dissect, grok 필터 예제
·
DataPipeline/Elasticsearch
Logstash 개요Logstash는 플러그인 기반의 데이터 수집 및 처리 엔진으로서, 광범위한 플러그인이 구비되어 다양한 아키텍처에서 데이터를 수집, 처리, 전달할 수 있게 해줍니다. 크게 input, filter, output으로 구성되어 있으며,프로세싱 스레드는 대기열에서 데이터를 마이크로 배치로 읽은 다음,구성된 필터 플러그인을 통해 순서대로 처리합니다.  다운로드# 아래 주소에서 다운로드 가능https://www.elastic.co/kr/downloads/logstash# 다운로드wget https://artifacts.elastic.co/downloads/logstash/logstash-8.16.0-darwin-aarch64.tar.gz# 압축풀기tar xfz logstash-8.16.0-da..
Impala - 개요
·
DataPipeline/Impala
Apache Impala는 분산 SQL 쿼리 엔진으로, Hadoop과 통합되어 빠른 쿼리 성능을 제공합니다. Impala는 여러 구성 요소로 나뉘어져 있으며, 각 구성 요소는 특정 기능을 수행하여 전체 쿼리 처리를 지원합니다.기존 스토리지 시스템과 달리 스토리지 엔진과 분리되어 있습니다. 아키텍처 Impala State Store (Statestore)Impala 클러스터의 노드 상태를 관리하는 역할을 합니다.설명: Statestore는 Impala의 여러 노드들 사이에서 메타데이터와 상태 정보를 주기적으로 교환하여, 노드가 가용한지 여부와 클러스터 전체의 상태를 유지합니다.  Impala Catalog (Catalog Server)메타데이터를 관리하고 쿼리 계획에 필요한 데이터를 제공하는 역할을 합니다..
wave35
아그거뭐였지?