반응형
엘라스틱덤프를 이용하여 인덱스의 export, import를 진행 보고자 한다.
elasticdump 설치
elasticdump 설치가 되어있지 않다면 설치를 진행
npm install elasticdump -g
잘 설치 되었는지 확인
elasticdump --version
index의 document 내보내기(export) & 가져오기(import)
index의 document 내보내기
로컬 엘라스틱서치에 있는 bank인덱스의 데이터를 bank.json파일로 내보내고자 한다
elasticdump --input=http://localhost:9200/bank --output=./bank.json
만약 프로토콜이 https라면 NODE_TLS_REJECT_UNAUTHORIZED=0 옵션을 명령어 앞에 추가해준다.
NODE_TLS_REJECT_UNAUTHORIZED=0 elasticdump --input=https://localhost:9200/bank --output=./bank.json
index의 document 가져오기
bank.json에 있는 데이터를 로컬 엘라스틱서치의 bank인덱스로 가져오고자 한다.
elasticdump --input=./bank.json --output=http://localhost:9200/index
옵션
- --type=analyzer: settings를 내보낸다.
- --type=mapping: mapping을 내보낸다.
- --type=data: documents를 내보낸다 (Default).
- --concurrencyInterval: The length of time in milliseconds in which up to <intervalCap> requests can be made before the interval request count resets. Must be finite. (default: 5000)
- --overwirte: export 파일이 이미 존재한다면 덮어쓰기 한다.
- --limit: 지정한 limit 개수만큼씩 끊어 가져온다. (Default: 100)
- --output-index=${index명}: 백업해놓은 파일로부터 가져오기 할 때 원래 인덱스가 아닌 원하는 인덱스로 지정해 줄 수 있다.
- --searchBody=”{query문}”: query 검색에 해당되는 데이터만 한정할 수 있다.
- e.g. 2022-09-19 부터 현재까지 index 내부 데이터 dump하기
- elasticdump --input=http://192.168.18.12:9200/index --output=./index.json --searchBody="{\"query\": {\"range\": {\"epochmiltime.recvtime\": {\"gt\": \"2022-09-19 00:00:00\", \"lt\": \"now\"}}}}"
참고
- [Github] elasticsearch-dump: https://github.com/elasticsearch-dump/elasticsearch-dump
- [dockerhub] elasticsearch-dump: https://hub.docker.com/r/elasticdump/elasticsearch-dump
- [Blog] Elasticdump 사용하기: http://www.ryeon9445.com/develop/1-Elasticdump/
- ElasticSearch 에서 reindex 을 활용하는 방법: https://findstar.pe.kr/2018/07/07/elasticsearch-reindex/
- [ElasticSearch] reindex API: https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-reindex.html
반응형
'Study: DeveloperTools(DevTool) > DevTool: NoSQL(Elastic, Mongo)' 카테고리의 다른 글
[NoSQL] NoSQL을 사용하는 이유: RDBMS(SQL) VS NoSQL (0) | 2022.11.13 |
---|---|
[Elastic] Elastic Common Schema (ECS) Guideline 번역 (0) | 2022.10.10 |
[Elastic] ELK Stack: ELK Stack을 활용한 로그 관리 시스템 구축 (0) | 2022.09.03 |
[Elastic] ELK Stack: Kibana 정리 (0) | 2022.09.02 |
[Elastic] ELK Stack: Logstash 정리 (2) | 2022.09.01 |