일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- naverdevelopers
- Python
- elasticsearch
- SSL
- kafka connect
- logstash
- ui for kafka
- kafka ui
- PrestoDB
- MongoDB
- PostgreSQL
- fluentd
- MariaDB
- pyspark
- elasticearch
- Kafka
- kibana
- Today
- Total
목록분류 전체보기 (32)
Dev_duri

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

MariaDB에 있는 데이터를 Logstash 이용하여 원하는 컬럼만 Select Elasticsearch로 적재 이후, Elasticsearch에 적재되며 추가된 Timestamp 포함하여 Elastic에 붙은 PrestoDB에서 Logstash 이용하여 MariaDB에 적재하는 과정까지 테스트 > Logstash 이용하여 원하는 컬럼만 SELECT input { jdbc { jdbc_validate_connection => true jdbc_driver_library => "/usr/local/mariadb-java-client-1.1.7.jar" jdbc_driver_class => "Java::org.mariadb.jdbc.Driver" jdbc_connection_string => "jdbc:m..

RDBMS의 쿼리 및 MongoDB, elasticsearch쿼리와 같은 Nosql 쿼리를 통합해주는 오픈소스인 PrestoDB가 testserver에 구축이 되었습니다. presto는 자체적으로 jdbc를 제공 하여 하나의 jdbc 연동으로 다양한 DBMS에 접근 할 수 있는 개발 환경을 제공 하며 다양한 DBMS에서 통합된 쿼리로 Data 추출이 가능합니다. catalog 디렉토리에 접속할 DBMS 정의 PrestoDB 접속 및 Catalog 조회 Elasticsearch 인덱스에 적재된 데이터를 Presto 표준 쿼리로 조회 (Json 형식으로 적재된 데이터가 테이블 형식으로 조회됨)\

Nosql기반의 저장소인 Elasticsearch에 Presto 엔진이 붙어 Elastic의 DSL쿼리를 SQL쿼리로 변환하여 데이터를 추출 후 Logstash 가 해당 Data를 Kafka의 특정 Topic에 전송 후 MariaDB에 해당 Data 적재. Kibana를 통해 Elastic index 조회 DBeaver를 통해 PrestoDB 소스 Data를 조회 logstash 구동(presto to kafka) Kafka 토픽 확인 logstash 실행(kafka to maria) maria table 조회
물리적 개념 Node 노드는 Elasticsearch 클러스터에 포함된 단일 서버로서 데이터를 저장하고 클러스터의 색인화 및 검 색 기능에 참여한다. Shard 인덱스 내부에는 색인된 데이터들이 존재하는데 이 데이터들을 하나로 뭉쳐서 존재하지 않고 물리적 공간에 여러 개의 부분들로 나뉘어서 존재한다 이러한 부분들을 샤드 라고 한다. Segment 세그먼트란 엘라스틱서치에서 문서의 빠른 검색을 위해 설계된 자료구조이다 각 샤드는 다수의 세그먼트로 구성되어있다. 논리적 개념 Document Elasticsearch 데이터 최소 단위JSON오브젝트 하나, 하나의 다큐먼트는 다양한 필드로 구성되어 있으며 이 필드는 데이터 필드에 해당하는 데이터 타입이 들어감 중첩구조를 지원하기 때문에 다큐먼트 내부에 다규먼트가..
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..
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..