文章目錄
- 使用elasticsearch-dump工具備份
- 安裝node.js(二進制安裝)
- 解壓
- 設置環境變量
- 安裝elasticsearch-dump
- docker安裝使用
- ES備份文件到本地
使用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-alpinedocker 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=settingselasticdump --input=http://"elastic:123123"@10.244.1.51:9200/es_xxx_system_log --output=./es_lims_system_log_mapping.json --type=mappingelasticdump --input=http://"elastic:123123"@10.244.1.51:9200/es_xxx_system_log --output=./es_xxx_system_log_data.json --type=data
參考資料:
通過elasticsearch-dump工具遷移數據