使用elasticsearch-dump工具备份
这个工具备份时间比较长
安装node.js(二进制安装)
wget https://nodejs.org/dist/v16.18.0/node-v16.18.0-linux-x64.tar.xz
解压
tar -xf node-v16.18.0-linux-x64.tar.xz
设置环境变量
临时生效
export PATH=$PATH:/root/node-v16.18.0-linux-x64/bin/
永久生效
vim ~/.bash_profile
export PATH=$PATH:/root/node-v16.18.0-linux-x64/bin/
source ~/.bash_profile
安装elasticsearch-dump
npm install elasticdump -g
docker安装使用
docker pull node:16-alpine
docker run node:16-alpine node -v # should print `v16.20.2`
docker run node:16-alpine npm -v # should print `8.19.4`
如果 docker 访问不了,就需要修改镜像源
登录阿里云个人账号,搜索容器镜像服务,获取加速地址,替换掉我的就好了
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://dockerhub.icu"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
# 如果不想重启 docker 就使用重新加载配置文件(不终止服务)
systemctl reload docker
进入 docker 镜像中
#进入后就不要退出了,之后的操作都在这里进行
docker run -ti node:16-alpine /bin/sh
安装elasticsearch-dump
#进入后就不要退出了,之后的操作都在这里进行
npm install elasticdump -g
ES备份文件到本地
# 查看 es 是否连通
curl -u elastic:123456 -XGET 'localhost:9200'
elasticdump --input=http://"elastic:123123"@10.244.1.51:9200/es_xxx_system_log --output=./es_lims_system_log_settings.json --type=settings
elasticdump --input=http://"elastic:123123"@10.244.1.51:9200/es_xxx_system_log --output=./es_lims_system_log_mapping.json --type=mapping
elasticdump --input=http://"elastic:123123"@10.244.1.51:9200/es_xxx_system_log --output=./es_xxx_system_log_data.json --type=data