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문서 색인 요청이 들어오면 루씬은 문서를 분석해서 역색인을 생성한다...
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..
Elasticsearch - index template
·
DataPipeline/Elasticsearch
[ Index template ] 보통 날짜별로 elasticsearch에 index를 생성하여 사용하는데 매번 데이터가 들어올 때 마다 mapping을 통해 field type을 지정하지 않기 위해 Index template를 사용한다. 생성 예시 * 일별로 log-20220101, log-20220101 형식으로 인덱스 생성된다. PUT _template/log_template { "order": 0, "index_patterns": [ "log-20*" ], "settings": { "index": { "number_of_shards": "1", "number_of_replicas": "1", } }, "mappings": { "properties": { "user_id": { "type": "lo..
wave35
'DataPipeline/Elasticsearch' 카테고리의 글 목록