티스토리

Dev_duri
검색하기

블로그 홈

Dev_duri

marcel07.tistory.com/m

marcel 님의 블로그입니다.

구독자
0
방명록 방문하기

주요 글 목록

  • Strimzi Kafka NodePort 연결 NodePort란NodePort는 Kubernetes 서비스 중 하나의 유형입니다.이런 서비스가 생성되면 Kubernetes는 클러스터의 모든 노드에 포트를 할당하고,이 포트로 들어오는 모든 트래픽이 해당 서비스로, 그리고 궁극적으로 그 서비스 뒤에 있는 파드(Pod)로 라우팅되도록 보장합니다.트래픽 라우팅은 Kubernetes의 kube-proxy 컴포넌트가 수행합니다. 파드가 어떤 노드에서 실행되느냐는 중요하지 않습니다.NodePort는 모든 노드에서 열려 있기 때문에, 트래픽은 항상 파드에 도달할 수 있습니다.따라서, 클라이언트는 Kubernetes 클러스터의 어떤 노드든 상관없이, 해당 노드의 NodePort에 연결하기만 하면 되고, 나머지는 Kubernetes가 처리합니다.기본적으로 NodePo.. 공감수 0 댓글수 0 2025. 4. 21.
  • Kafka ACL(인가) **ACL (Access Control List)**은 Kafka에서 인증된 사용자의 리소스 접근 권한을 제어하는 방식입니다.Kafka는 SASL 인증을 기반으로 사용자 신원을 확인한 뒤, ACL을 통해 다음과 같은 리소스 단위로 접근 권한을 설정합니다:Topic: 메시지 읽기(Read), 쓰기(Write), 생성(Create) 등Consumer Group: 오프셋 조회(Read), 그룹 메타데이터 접근(Describe)Cluster: 클러스터 생성/변경/조회 등의 관리자 권한 ACL은 Kafka에 기본 내장된 기능이며, kafka-acls.sh CLI를 통해 관리할 수 있습니다.고객사의 요구 사항 중 보안, 사용자 관리 측면에서 Sasl 및 ACL 에 대한 질의가 많이 있습니다. 리소스권한 종류설명To.. 공감수 0 댓글수 0 2025. 4. 10.
  • Kafka Zookeeper에서 KRaft로 목표ZooKeeper + Kafka (ZK broker)클러스터를 KRaft Controller + Kafka (KRaft broker) 클러스터로 전환합니다.완전히 새로운 KRaft controller를 구성하고 ZK broker와 함께 마이그레이션 모드로 등록하면 ZooKeeper 메타 데이터를 KRaft controller로 마이그레이션 할 수 있습니다.이점Zookeeper 종속성 제거 : KRaft Mode는 Zookeeper를 사용하지 않고 Kafka Cluster를 운영할 수 있도록 합니다.단일 클러스터 관리 : Kafka Cluster에서 자체적인 메타데이터 저장소를 가지며 단일 시스템으로 운영할 수 있어 관리 및 운영의 복잡성이 감소합니다.성능 및 확장성 향상 : 브로커 노드 개수의 증가로.. 공감수 0 댓글수 0 2025. 4. 10.
  • Kafka Connect 개념 개념Kafka Connect는 커넥터 플러그인을 사용하여 Kafka 브로커와 다른 시스템 간에 데이터를 스트리밍하기 위한 통합 컴포넌트이다. Kafka Connect는 커넥터를 사용하여 데이터를 가져오거나 내보내기 위해 데이터베이스와 같은 외부 데이터 소스 또는 대상과 Kafka를 통합하기 위한 프레임워크를 제공합니다. 데이터소스 → Kafka Cluster 방향으로 데이터소스의 이벤트 스트림을 브로커에 저장하는 Connector를 Source Connector 라고 한다. Kafka Cluster → Target System 방향으로 토픽에 저장되는 이벤트 스트림을 타겟 시스템에 저장하는 Connector를 Sink Connector 라고 한다구성Kafka Connect는 내부적으로 다음 3가지 컴포넌.. 공감수 0 댓글수 0 2025. 4. 10.
  • Kafka SASL/SCRAM (인증) 개요Kafka는 기본적으로 누구나 접근 가능한 구조를 가지고 있어, 실서비스 환경에서는 인증(Authentication), 권한 제어(Authorization), 데이터 암호화(Encryption)와 같은 보안 설정이 필수적이다. 이 중 **SASL(Simple Authentication and Security Layer)**은 Kafka에서 클라이언트의 신원을 확인하기 위한 인증 체계로 사용된다. SASL은 다양한 인증 메커니즘을 Kafka 클러스터에 적용할 수 있도록 하는 프레임워크이다. 클라이언트가 Kafka에 접속할 때, SASL을 통해 사용자 인증을 수행할 수 있다.Kafka에서 지원하는 대표적인 SASL 메커니즘은 다음과 같다: 메커니즘설명특징PLAIN사용자 이름과 비밀번호를 평문으로 전송TL.. 공감수 0 댓글수 0 2025. 4. 10.
  • Kafka Cluster 구조 개요Kafka Cluster는 다음과 같은 주요 구성요소로 이루어집니다Broker (브로커)ZooKeeper 또는 Kafka ControllerTopic / Partition / ReplicaProducer / ConsumerBroker (브로커)Kafka에서 실제로 메시지를 저장하고 전송하는 서버 단위 구성원입니다.하나의 Kafka 클러스터에는 여러 개의 브로커가 있습니다 (예: Broker 1, Broker 2, …).Topic은 여러 Partition으로 구성되고, 각 파티션은 하나의 브로커에 저장됩니다.브로커는 메시지를 디스크에 저장하고, **복제(replication)**도 관리합니다. 역할 요약메시지 저장 및 전송리더/팔로워 역할 분담 (리더 파티션은 브로커 하나가 담당)컨슈머 요청 처리 Ka.. 공감수 0 댓글수 0 2025. 4. 10.
  • Kafka Kraft Mode 구축 개요Kafka Cluster의 기본적인 설치 과정구성온프레미스 환경을 기준으로 구성Java : openjdk version "17.0.13" 2024-10-15 LTSVM : 7 대 (Broker : 3, Controller : 3 / Monitoring VM : prometheus, grafana, UI For Kafka )Controller (KRaft)3대kaf04,kaf05,kaf07메타데이터 관리. ZooKeeper 없이 운영Broker3대kaf01,kaf02,kaf03메시지 송수신 및 저장Monitoring1대mon1Prometheus, Grafana, UI for kafka 등 구성 가능설정 Controller VMcontroller.properties카프카 컨트롤러를 위한 설정vim /da.. 공감수 1 댓글수 0 2025. 4. 10.
  • Kafka Perf Test Kafka Perf Test 란 Kafka 내부에서 임의로 트래픽을 발생시켜 순수하게 카프카의 처리량을 테스트할 수 있는 명령 스크립트입니다.메세지의 사이즈와 수를 정할 수 있고, 전송된 메세지에 대한 처리량과 지연율 등을 확인할 수 있습니다.  명령어 정리Producer Commandkafka-producer-perf-test.sh \--topic \--num-records \--record-size \--throughput \--producer-props bootstrap.servers=--producer.config config/producer.properties Topic : 토픽명Num-records : 송신 메세지 총 개수Record-size : 메세지 당 크기 Throughput : .. 공감수 0 댓글수 0 2025. 3. 14.
  • 제로 카피 (Zero - Copy)와 fsync() Kafka는 성능과 안정성을 동시에 보장하기 위해 OS에 의존한 파일 시스템 접근 방식을 적극적으로 활용합니다. fsync()와 **제로카피(Zero-Copy)**는 Kafka의 이러한 설계 철학을 보여주는 요소입니다.1. fsync()란?*fsync()*는 POSIX 표준 시스템 호출로, 파일의 내용을 **디스크에 강제로 기록(flush)**하는 역할을 합니다.보통 데이터를 디스크에 쓰는 작업은 OS의 페이지 캐시를 통해 처리되는데, 이 과정에서는 데이터가 디스크에 즉시 기록되지 않고, 메모리에만 저장될 수 있습니다.fsync()는 OS 커널에 **"현재 파일 내용을 디스크에 강제로 기록하라"**고 명령하여, 데이터를 안전하게 보존할 수 있도록 보장합니다.2. Kafka에서의 fsync() 활용Kafk.. 공감수 0 댓글수 0 2024. 11. 19.
  • Kafka SSL 구성 더보기 개요 카프카는 최초 설정 시 보안 설정을 하지 않으면 카프카와 통신이 가능한 모든 클라이언트와 연결이 가능합니다. 이는 보통 사내의 안전한 네트워크에서 운용하는 경우이기 때문에 보안을 적용하지 않는 것으로 사용자의 입장에서는 편리하지만 외부에서 접속하는 사용자에 대해서는 정보 유출의 위협이 존재합니다. 이런 취약한 부분을 보완하기 위해 암호화(SSL), 인증(SASL), 권한(ACL)의 세 가지 보안 요소가 필요합니다. 여기서 암호화는 카프카와 카프카 클라이언트 사이의 통신에 암호화를 적용하는 것입니다. 일반적으로 SSL을 사용합니다. SSL(Secure Socket Layer)은 서버와 서버 사이, 서버와 클라이언트 사이에서 통신 보안을 적용하기 위한 표준 암호 규약입니다. 마치 웹에서 HTTP.. 공감수 0 댓글수 0 2023. 5. 8.
  • Kafka sink Connector ( MongoDB ) Mongo DB는 Json 기반의 document 모델을 사용하는 확장성이 좋은 NoSqlDB 입니다. 또한 스키마가 없어 데이터 변경에 대해 유연하고, 다양한 형태의 데이터를 한번에 담을 수 있어 여러 정보를 한번에 확인할 수 있습니다. MongoDB의 데이터는 Application에서 다루는 오브젝트와 1:1로 매칭되기에 개발자는 데이터를 쉽게 이해하고 빠르게 개발할 수 있습니다. 위를 포함한 여러 장점들로 인해 비즈니스 상에서 MongoDB를 많이 운용하는 추세입니다. 그러하여 개인 프로젝트로 MongoDB를 활용해보려고 합니다. 먼저 운영중인 Kafka와 같이 사용하기 위해 Sink Connector 구성을 해주었습니다. 커넥터를 구성할 때는 "debezium-debezium-connector-m.. 공감수 0 댓글수 0 2023. 5. 8.
  • PrestoDB/Kafka PrestoDB KafkaConnector는 kafka Topic의 Data를 테이블 형식으로 정형화 하여 SQL쿼리로 Topic의 Data를 조회 할수 있게 하고 JDBC를 제공 하여 Produser/Consumer API개발에 편의성을 제공합니다. Kafdrop 으로 Kafka Topic Data 조회 PrestoDB catalog에 kafka 프로퍼티 추가 /presto-server-0.273.3/etc/catalog/kafka.properties #커넥터 종류 connector.name=kafka #kafka 브로커 서버 정보 kafka.nodes=ip:9092,ip:9092,ip:9092 #정형화할 Topic name kafka.table-names=tpch.customer,tpch.orders.. 공감수 0 댓글수 0 2023. 2. 16.
  • Impala/Kudu Kafka Connector 현재 개발서버에 아래 구성도와 같이 Impala/Kudu 에 적재 되어 있는 Data를 Kafka Connector로 추출하여 Kafka Topic에 적재하는 데모를 구축 하였습니다. Impala Data 확인 kafka Connector 구동 화면 Kafka Kudu Source Connector 코드 { "name": "kudu-source", "config": { "connector.class": "io.confluent.connect.kudu.KuduSourceConnector", "tasks.max": "1", "impala.server": "10.65.41.128", "impala.port": "21050", "kudu.database": "test", "mode": "incrementing".. 공감수 0 댓글수 0 2023. 2. 16.
  • Apache Beam Apache Beam은 ETL, batch, streaming 파이프라인을 처리하기 위한 unified programming model 입니다. Beam의 가장 큰 특징은 다양한 랭귀지와 다양한 runner를 지원한다는 것 이고 Beam SDK를 통해 다양한 runner에서 데이터를 처리할 수 있게 합니다. Beam SDK 를 사용하여 테스트 서버에 구축되어 있는 Kafka 에 간단한 데모를 Python으로 구현 하였습니다. Producer 소스 from __future__ import print_function import apache_beam as beam from apache_beam.options.pipeline_options import PipelineOptions from beam_nugget.. 공감수 0 댓글수 0 2023. 2. 16.
  • Spark (Kafka to Hadoop)-pyspark 개발 서버에 Spark를 사용한 아래와 같은 파이프라인 demo를 구성하였습니다. Kafka에서 가져온 데이터를 Read하여 HDFS에 ORC나 Parquet 형식으로 저장합니다. Kafka to hadoop source #contest.py from pyspark.sql import SparkSession sc = SparkSession.builder.getOrCreate() sc.sparkContext.setLogLevel('ERROR') # Read stream log = sc.readStream.format("kafka") \ .option("kafka.bootstrap.servers", "10.65.41.140:9092") \ .option("subscribe", "topic13") \ .opt.. 공감수 0 댓글수 0 2023. 2. 16.
  • Flink apache Storm, Spark Streaming과 같은 스트리밍 & 배치 프로세싱 플랫폼입니다. Flink는 Streaming model이 batch가 아닌 native 방식으로 스트림 처리에 대해 low latency 특성을 가지고 있습니다 또한 Exactly-once를 보장하고 높은 처리량을 보이기 때문에 최근 스트림 처리 분야에서 곽광받고 있습니다. 현재 개발서버에 구축이 완료 되었고 아래와 같이 테스트 하였습니다. Flink 실행 화면 Flink web 화면 Flink Kafka Consumer 예제 소스 package org.apache.flink.streaming.examples.kafka; import org.apache.flink.api.common.restartstrategy.Res.. 공감수 0 댓글수 0 2023. 1. 31.
  • Kafka 기본 명령어 Kafka 로그 확인 cat /kafka(설치된 카프카 디렉토리)/logs/server.log Zookeeper 실행 /zookeeper(설치된 주키퍼 디렉토리)/bin/zkServer.sh start Kafka topic 생성 ./kafka-topics.sh --zookeeper [주키퍼1 ip]:2181,[주키퍼2 ip]:2181,[주키퍼3 ip]:2181/localhost.localdomain_znode --replication-factor 1 --partitions 1 --topic [토픽명] --create 카프카 메세지 전송 실행 위치 (/kafka(설치된 카프카 디렉토리)/bin) ./kafka-console-producer.sh --topic [토픽명] --broker-list [카프카 i.. 공감수 0 댓글수 0 2022. 12. 10.
  • Kafka_Tutorial_Word Topic Kafka 안에서 메시지가 저장되는 장소, 논리적인 표현 Producer 메시지를 생산해서 Kafka의 Topic으로 메시지를 보내는 어플리케이션 Consumer Topic의 메시지를 사용하기 위해 협력하는 Consumer들의 집합 Consumer Group Topic의 메시지를 사용하기 위해 협력하는 Consumer들의 집합 하나의 Consumer는 하나의 Consumer Group에 포함되며, Consumer Group 내의 Consumer들은 협력하여 Topic의 메시지를 분산 처리한다. Partition 하나의 Topic은 하나 이상의 Partition으로 구성 병령처리(Throughput)를 위해서 다수의 Partition을 사용 Segment 메시지(데이터)가 저장되는 실제 물리 F.. 공감수 0 댓글수 0 2022. 12. 4.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.