엘라스틱서치 바이블 - 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문서 색인 요청이 들어오면 루씬은 문서를 분석해서 역색인을 생성한다...
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..
Elasticsearch - Reindex
·
DataPipeline/Elasticsearch
1. Temp index 생성 PUT users_temp 2. Temp index에 타입 Mapping PUT users_temp/_mapping { "properties": { "location": { "type": "geo_point" } } } 3. Re-index를 Temp index에 실행 POST _reindex { "source": { "index": "users" }, "dest": { "index": "users_temp" } } 4. User index 삭제 DELETE /users 5. 다시 User index 생성 PUT users 6. User index mapping PUT users/_mapping { "properties": { "location": { "type": "geo..
Elasticsearch - Opendistro Kibana 유저 확인, 추가, 삭제
·
DataPipeline/Elasticsearch
kibana역시 다른 BI툴과 같이 해당 유저의 Id/Password, Role을 정의할 수 있다.path: /usr/share/elasticsearch/plugins/opendistro_security/securityconfig로그인 유저 설정파일 : internal_users.yml  역할 설정파일 : roles.yml역할 맵핑 설정파일 : roles_mapping.yml tenants관련 설정파일 : tenants.yml   [ user 추가 ] 유저확인1. curl명령어로 유저 확인$ curl -GET https://localhost:9200/_opendistro/_security/api/internalusers/ -u 'admin:admin' --insecure 2. 유저 정보가 저장되어있는 설..
Elasticsearch - Opendistro 와 Kibana 설치
·
DataPipeline/Elasticsearch
Elasticsearch의 무료버전인 Opendistro 설치과정 [ opendistro 설치 ] 가이드를 보고 설치한다. https://opendistro.github.io/for-elasticsearch-docs/docs/install/ single node 설정 elasticsearch.yml 수정 # 네크워크 접근 대역설정 network.host: 0.0.0.0 # 싱글노드 타입 discovery.type: single-node # 주석으로 막혀져 있어야한다 # cluster.initial_master_nodes: ["node-1", "node-2"] 추가 설정 (optional) 기본 config 파일은 etc/elasticsearch/elasticsearch.yml 파일이다. bootstrap..
wave35
'ElasticSearch' 태그의 글 목록