일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- MongoDB
- MariaDB
- kibana
- Kafka
- pyspark
- logstash
- elasticsearch
- naverdevelopers
- kafka connect
- kafka ui
- Python
- elasticearch
- ui for kafka
- SSL
- PostgreSQL
- PrestoDB
- fluentd
- Today
- Total
목록Kafka (18)
Dev_duri

Kafka는 성능과 안정성을 동시에 보장하기 위해 OS에 의존한 파일 시스템 접근 방식을 적극적으로 활용합니다. fsync()와 **제로카피(Zero-Copy)**는 Kafka의 이러한 설계 철학을 보여주는 요소입니다.1. fsync()란?*fsync()*는 POSIX 표준 시스템 호출로, 파일의 내용을 **디스크에 강제로 기록(flush)**하는 역할을 합니다.보통 데이터를 디스크에 쓰는 작업은 OS의 페이지 캐시를 통해 처리되는데, 이 과정에서는 데이터가 디스크에 즉시 기록되지 않고, 메모리에만 저장될 수 있습니다.fsync()는 OS 커널에 **"현재 파일 내용을 디스크에 강제로 기록하라"**고 명령하여, 데이터를 안전하게 보존할 수 있도록 보장합니다.2. Kafka에서의 fsync() 활용Kafk..

더보기 개요 카프카는 최초 설정 시 보안 설정을 하지 않으면 카프카와 통신이 가능한 모든 클라이언트와 연결이 가능합니다. 이는 보통 사내의 안전한 네트워크에서 운용하는 경우이기 때문에 보안을 적용하지 않는 것으로 사용자의 입장에서는 편리하지만 외부에서 접속하는 사용자에 대해서는 정보 유출의 위협이 존재합니다. 이런 취약한 부분을 보완하기 위해 암호화(SSL), 인증(SASL), 권한(ACL)의 세 가지 보안 요소가 필요합니다. 여기서 암호화는 카프카와 카프카 클라이언트 사이의 통신에 암호화를 적용하는 것입니다. 일반적으로 SSL을 사용합니다. SSL(Secure Socket Layer)은 서버와 서버 사이, 서버와 클라이언트 사이에서 통신 보안을 적용하기 위한 표준 암호 규약입니다. 마치 웹에서 HTTP..

Mongo DB는 Json 기반의 document 모델을 사용하는 확장성이 좋은 NoSqlDB 입니다. 또한 스키마가 없어 데이터 변경에 대해 유연하고, 다양한 형태의 데이터를 한번에 담을 수 있어 여러 정보를 한번에 확인할 수 있습니다. MongoDB의 데이터는 Application에서 다루는 오브젝트와 1:1로 매칭되기에 개발자는 데이터를 쉽게 이해하고 빠르게 개발할 수 있습니다. 위를 포함한 여러 장점들로 인해 비즈니스 상에서 MongoDB를 많이 운용하는 추세입니다. 그러하여 개인 프로젝트로 MongoDB를 활용해보려고 합니다. 먼저 운영중인 Kafka와 같이 사용하기 위해 Sink Connector 구성을 해주었습니다. 커넥터를 구성할 때는 "debezium-debezium-connector-m..

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..

현재 개발서버에 아래 구성도와 같이 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"..

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..

개발 서버에 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..

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..