검색엔진/ElasticSearch 16

Window 환경에서 Docker로 실행할 때 max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] 이런 에러가 발생한다면?

오늘은 Window환경에서 Docker로 ElasticSearch를 실행할 때 발생할 수 있는 에러메세지의 해결방법을 기록해본다. max_map_count란? 기본적으로 자바 기반의 어플리케이션은 가상머신 위에서 돌아가도록 설계가 되어잇으며 JVM을 통해 할당받은 힙 메모리만 사용할 수 있다. 하지만 루씬의 경우 대용량 세그먼트를 생성하고 관리하기 위해 많은 리소스를 필요하다. 루씬은 내부적으로 자바에서 제공하는 NIO 기술을 활용한다고 한다. 이를 통해 운영체제 커널에서 제공하는 mmap 시스템콜을 직접 호출 할 수 있다. 이로 인해 커널 레벨의 파일 시스템 캐시를 사용할 수 있다. 이슈 도커로 ElasticSearch를 Window에서 띄웠는데 다음과 같은 메세지가 Docker Container 로그..

Logstash 에서 여러 Elasticsearch로 요청 보내기

동일한 데이터를 서로 다른 클러스터에 색인 요청을 보내려면 어떻게 해야 할까? 코드 elasticsearch { hosts => [ "http://elasticsearch1:9200" ] # Elasticsearch 1 index => "index1_%{+YYYYMMdd}" document_id => "%{docUid}" http_compression => true } elasticsearch { hosts => [ "http://elasticsearch2:9200" ] # Elasticsearch 2 index => "index2_%{+YYYYMMdd}" document_id => "%{docUid}" http_compression => true } 주의 hosts 설정에 array로 여러개의 정보를 ..

Lucene 인덱스 파일 형식

파일 확장자 요약 확장자별 lucene 파일 이름 이름 확대 설명 Segments File segments_N 커밋 지점에 대한 정보를 저장합니다. Lock File write.lock 쓰기 잠금은 여러 IndexWriter가 동일한 파일에 쓰는 것을 방지합니다. Segment Info .si 세그먼트에 대한 메타데이터를 저장합니다. Compound File .cfs, .cfe 파일 핸들이 자주 부족해지는 시스템의 다른 모든 색인 파일로 구성된 선택적 "가상" 파일입니다. Fields .fnm 필드에 대한 정보를 저장합니다. Field Index .fdx 필드 데이터에 대한 포인터를 포함합니다. Field Data .fdt 문서에 대한 저장 필드 Term Dictionary .tim 용어 사전, 용어 정..

Lucene이란?

Lucene(루씬)이란? 오픈소스 기반의 라이브러리 검색 엔진의 기본 기능인 색인, 검색, 형태소 분석을 제공 Lucene기반의 대표적인 검색엔진 ElasticSearch Solr Lucene의 기본개념 인덱스(Index) 문서(Document) 필드(Field) 용어(Term) Term < Field < Document < Index 와 같은 각 단위의 집합 구조 색인 IndexWriter가 IndexFile을 만드는 과정 수정이 불가능한 Immutable Type(불변형) 여러개로 생성 된 Segments 파일들을 Merge라는 작업을 통해 하나의 색인 파일로 만드는 과정이 필요 하나의 Index는 하나의 IndexerWriter로 구성 색인 파일에 대한 루씬 참고자료 https://lucene.ap..

Elastic Stack 다운로드

ELK Stack 다운로드 Elastic Stack을 다운로드할 경우 아래 링크에서 다운받을 수 있다. https://www.elastic.co/kr/downloads/ Elastic 제품 다운로드 Elasticsearch, Logstash, Kibana 및 Beats를 무료로 다운로드하고 몇 분 내에 Elastic APM, Elastic App Search, Elastic Workplace Search 등을 시작하세요. www.elastic.co 위 사이트를 접속한 뒤에 아래 그림의 빨간색으로 표시 된 애들(Elasticsearch, Kibana, Logstash)을 다운로드 하면 된다. "다운로드 ->"를 눌러 보면 아래와 같이 실제 제품을 다운로드 할 수 있고 또 어떻게 실행하면 되는지 친절히 알려..

Elasticsearch 소스 Clone하기

Elasticsearch git https://github.com/elastic/elasticsearch 해당 링크로 접속을 하면 Elasticsearch 소스를 볼 수 있다. 그럼 내 local에서 확인을 해보기 위해 clone을 해보자 git clone git clone https://github.com/elastic/elasticsearch.git 위의 명령어를 자기가 셋팅하고자 하는 경로에서 실행을 하면 된다. 나같은 경우에는 기존에 사용중인 workspace 경로 아래에서 실행을 하였다. 실행을 하게 되면 아래와 같이 소스가 정상적으로 다운받아진것을 볼 수 있다.