elasticsearch 데이터 마이그레이션

2462 단어 elaticsearch

reindex


공식 문서:https://www.elastic.co/guide/en/elasticsearch/reference/6.4/docs-reindex.html _reindex API는 어떤 인덱스를 데이터 원본으로 삼아 새로운 인덱스를 구축할 수 있습니다.만약 elasticsearch의 버전이 5.0보다 작다면,_reindex API는 클러스터 내부의 색인 재구성 마이그레이션만 지원합니다.만약elasticsearch의 버전이 5.0 이상이면 집단 내부의 인덱스 재구성 이동을 지원할 뿐만 아니라 한 집단에서 다른 집단으로 데이터를 이동할 수 있고 크로스 버전으로 이동할 수 있으며 낮은 버전의elasticsearch에서 높은 버전으로 업그레이드해야 한다면 이런 방식을 사용할 수 있다.참조:https://blog.csdn.net/qq_36666651/article/details/83792167이 동시에elasticsearch는ingestNODE를 제공하여 데이터 세척 등에 사용할 수 있습니다.

snapshot


대량의 데이터를 위한 마이그레이션 공식 문서:https://www.elastic.co/guide/en/elasticsearch/reference/2.4/modules-snapshots.html#modules-snapshots는 여러 버전으로 이동할 수 없습니다. 목표 집단은 원본 집단의 인덱스를 읽을 수 있어야 합니다. 그래서 1.x는 최대 2까지만 마이그레이션할 수 있습니다.x,2.x에서 최대 5로 마이그레이션x, 여러 버전을 뛰어넘으려면 한 걸음 한 걸음 옮겨야 한다.구현 단계 참조:https://www.jianshu.com/p/2a569e8039bd

elasticsearch-dump


그룹 버전이 비교적 낮으면 데이터 이동을 하려면 제3자의elasticsearch-dump 도구를 사용해야 합니다.github 주소:https://github.com/taskrabbit/elasticsearch-dump
설치
# elasticsearch-dump node.js   
yum -y install epel-release
yum -y install nodejs
#  
node --version
npm --version
# elasticdump
npm install elasticdump -g

옮기다
#  
#  github 
node --max-old-space-size=2048 /usr/bin/elasticdump \
  --input=http://172.16.13.14:9200/index_name \
  --type=settings \
  --output=http://192.168.3.41:9200 \
  --limit=20000

node --max-old-space-size=2048 /usr/bin/elasticdump \
  --input=http://172.16.13.14:9200/index_name \
  --type=mapping \
  --output=http://192.168.3.41:9200 \
  --limit=20000

node --max-old-space-size=2048 /usr/bin/elasticdump \
  --input=http://172.16.13.14:9200/index_name \
  --type=data \
  --output=http://192.168.3.41:9200 \
  --limit=20000

PS: Elasticsearch-Exporter와 유사한 도구 추가

logstash


참고https://www.jianshu.com/p/97dbaf78359b프로필 예

input {
        elasticsearch {
                hosts => "172.16.13.14:9200" #  elasticsearch index
                index => "test_index"
                query => '{ "query": {"match_all" : {} } }' # 
                size => 10000 # 
                scroll => "5m" #  
                docinfo => true
        }
}

output {
        elasticsearch {
                hosts => ["192.168.3.20:9200"]
                index => "test_index"
        }
}

좋은 웹페이지 즐겨찾기