Kafka Connect - 7장 Rest API 활용하여 관리
·
DataPipeline/Kafka
기본적으로 REST API는 8083 포트에서 사용할 수 있으며 보안되지 않습니다. ( 인증 기능 추가 가능 )REST API는 모든 요청 본문이 콘텐츠 유형 application/json 을 사용할 것으로 예상하며모든 응답도 해당 콘텐츠 유형을 사용하여 보냅니다. 목차 커넥터 생성 및 삭제하기커넥터 구성커넥터의 수명 주기 제어커넥터 오프셋 나열문제 디버깅 커넥터 생성 및 삭제클러스터의 버전을 확인$ curl localhost:8083{ "version": "3.5.0", "commit": "c97b88d5db4de28d", "kafka_cluster_id": "PSCn87RpRoqhfjAs9KYtuw"} 사용할 수 있는 커넥터 플러그인 확인기본적으로 여기에는 Kafka Connect 클러스터에 설..
Kafka Connect - 4장 효과적인 데이터 파이프라인 설계
·
DataPipeline/Kafka
데이터 변환데이터 파이프라인을 통해 데이터가 흐를 때 두가지 패턴을 사용한다.ETL: 저장 공간이 제한된 시스템ELT: 오랫동안 데이터가 원본을 유지하여 다른 목적으로 재사용 용이 카프카 커넥트는 이동중에 데이터를 변환할 수 있는 트랜스포메이션이 있으며 이는 ETL에 적합하다.아래는 민감한 개인정보를 숨김 처리하는 카프카커넥트 예시이다. 시스템간 데이터 맵핑데이터파이프라인을 구축할 때 서로 시스템간의 데이터를 맵핑을 꼼꼼히 따져봐야하며이를 위해 카프카커넥트 태스크와 카프카의 파티션 사이의 상호작용을 고려해야 한다. 단일 태스크와 단일 파티션은 순서를 보장한다. 중복을 방지하기 위해 각각의 데이터를 읽는 복수의 태스크 개별 소스 커넥터는 어느 파티션으로 보낼지 직접 선택하거나 이미 정의된 파티셔닝 전략을..
Elasticsearch 바이블 - 6장 클러스터 운영
·
DataPipeline/Elasticsearch
[ 클러스터 설정 API ]클러스터 설정 조회GET /_cluster/settings 클러스터 설정 업데이트- persistent : 클러스터를 재시작해도 유지되는 영구 설정- transient : 클러스터 재시작시 초기화되는 임시 설정- 설정 적용 우선 순위는 transient > persistent > config/elasticsearch.yml - persistent 설정은 모든 마스터 후보 노드의 path.data 경로 내 파일로 지정된다.PUT /_cluster/settings{ "persistent": { "설정_키": "설정_값" }, "transient": { "설정_키": "설정_값" }} [ _cat API를 통한 클러스터 관리와 모니터링 ]GET _cat/health클러..
Elasticsearch 바이블 - 4장 검색 및 집계 API
·
DataPipeline/Elasticsearch
[ 문서 API ]색인 API문서 단건을 색인한다.PUT /my_index/_doc/1{ "title": "Elasticsearch Guide", "author": "John Doe", "published_date": "2023-01-01"}# 라우팅지정PUT /my_index/_doc/2?routing=myid2 조회 API문서 단건을 조회한다. GET /my_index/_doc/1>>>{ "_index": "my_index", "_id": "1", "_version": 1, "_seq_no": 0, "_primary_term": 1, "found": true, "_source": { "title": "Elasticsearch Guide" }}# 필드 필터링 : _source_..
Elasticsearch 바이블 - 3장 인덱스 설계
·
DataPipeline/Elasticsearch
[ 인덱스 설정 ]GET [index_name]/_settings인덱스 설정은 인덱스명 뒤에 _settings를 넣어 GET 메서드로 호출한다. 예제PUT /my_index{ "settings": { "number_of_shards": 2, "number_of_replicas": 2 }}>>> { "acknowledged": true, "shards_acknowledged": true, "index": "my_index"}GET my_index>>>{ "my_index": { "aliases": {}, "mappings": {}, "settings": { "index": { "routing": { "alloc..
엘라스틱서치 바이블 - 2장 기본동작과 구조
·
DataPipeline/Elasticsearch
[ 구조 개괄 ]기본적인 용어문서 : 엘라스틱서치가 저장하고 색인을 생성하는 JSON 문서인덱스 : 문서를 모아 놓은 단위, 인덱스 단위로 검색을 요청샤드 : 인덱스는 그 내용을 여러 샤드로 분리하여 분산 저장하여 고가용성을 제공_id : 인덱스 내 문서에 부여되는 고유한 구분자노드 : 엘라스틱서치 프로세스 하나가 노드 하나를 구성노드의 역할 : 데이터노드, 마스터노드, 조정노드 등 하나의 역할을 맡아 수행클러스터를 관리하는 역할을 마스터노드에서 진행샤드를 보유하고 샤드에 읽기 쓰기 작업을 수행하는 노드는 데이터노드클라이언트의 요청을 받아서 노드에 요청을 분배하는 노드는 조정노드 엘라스틱 클러스터 [ 내부 구조와 루씬 ]루씬 flush문서 색인 요청이 들어오면 루씬은 문서를 분석해서 역색인을 생성한다...
kafka - connector 구성요소
·
DataPipeline/Kafka
구성 요소 ( Connector, Converter, Transform )Kafka Connect는 여러 컴포넌트로 구성된 플러그형 아키텍처를 바탕으로 유연한 데이터 통합 파이프라인을 제공합니다. 주요 컴포넌트로는 데이터 소스 및 싱크와 상호작용하는 커넥터(Connectors), 데이터 직렬화/역직렬화를 담당하는 컨버터(Converters), 데이터 변환을 수행하는 변환기(Transforms)가 있습니다. ConnectorKafka Connect 파이프라인의 주요 구성 요소는데이터가 어디에서 복사되어야 하는지를 정의하는 커넥터 인스턴스입니다. 커넥터 인스턴스에 의해 구현되거나 사용되는 모든 클래스는 해당 커넥터 플러그인에 정의되어 있고,이러한 플러그인은 코드 작성을 하지 않고 다운로드, 설치 및 사용할 ..
실전 카프카 - 11장 카프카 커넥트
·
DataPipeline/Kafka
핵심 개념소스 커넥트데이터 소스와 카프카 사이에서 프로듀서 역할을 합니다. 싱크 커넥트카프카와 타겟시스템 사이에서 컨슈머 역할을 합니다.  내부 동작Partitioning (파티셔닝)커넥터에 복사되어야 하는 데이터들은 레코드 순서에 맞추어 파티셔닝 됩니다.커넥트에서 나눈 파티션은 카프카 파티션과 용어만 같을 뿐입니다. Tasks (태스크)커넥터가 병렬로 실행될 수 있도록 여러 태스크(Task)로 나뉩니다. 커넥터가 여러 태스크로 분할되면 병렬 작업을 통해 성능을 개선할 수 있습니다. Topic (토픽)태스크들은 다수의 토픽으로 전송됩니다. Connect Converter (커넥트 컨버터 )소스 -> 카프카로 전달할 때 직렬화(serialization)카프카 -> 싱크로 전달할 때 역직렬화(deserial..
wave35
'DataPipeline' 카테고리의 글 목록