使用elasticsearch-dump工具备份ES数据库

ES数据库版本

elasticsearch7.16.0

备份工具 elasticsearch-dump (docker 版)

如果需要设置定时任务,需要使用使用elasticsearch-dump编译的二进制文件,需要nodejs、npm环境。

Docker 安装

docker pull elasticdump/elasticsearch-dump

需要备份data和mapping数据。

查看所有的索引

curl -X GET 'http://root:[email protected]:9200/_cat/indices'

导出数据文件

备份data和mapping数据

docker run --rm -ti --name elasticsearch-dump -v /data/ES_Bakup:/tmp elasticdump/elasticsearch-dump \
  --input='http://root:password@es_address:9200/your_bakup_index' \
  --output=/tmp/your_bakup_index_data.json \
  --type=data
docker run --rm -ti --name elasticsearch-dump -v /data/ES_Bakup:/tmp elasticdump/elasticsearch-dump \
  --input='http://root:password@es_address:9200/your_bakup_index' \
  --output=/tmp/your_bakup_index_mapping.json \
  --type=mapping

导入数据

导入data和mapping数据

docker run --rm -ti --name elasticsearch-dump -v /data/ES_Bakup:/tmp elasticdump/elasticsearch-dump \
  --input=/tmp/your_bakup_index_data.json \
  --output='http://root:password@es_address:9200/your_restore_index' \
  --type=data
docker run --rm -ti --name elasticsearch-dump -v /data/ES_Bakup:/tmp elasticdump/elasticsearch-dump \
  --input=/tmp/your_bakup_index_mapping.json \
  --output='http://root:password@es_address:9200/your_restore_index' \
  --type=mapping

备份时需要注意es数据库端口9200防火墙开放情况

你可能感兴趣的:(elasticsearch,数据库,大数据)