文章目录
Elasticsearch服务部署
使用yum安装
8.x 及以上:需要 Java 11 或更高版本。
7.x 及以下:支持 Java 8。
# 下载并安装公有签名密钥
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
# 安装jdk11,
yum install java-11-openjdk -y
添加yum仓库
vim /etc/yum.repos.d/elasticsearch.repo
[elasticsearch]
name=Elasticsearch repository for 8.x packages
baseurl=https://artifacts.elastic.co/packages/8.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=0
autorefresh=1
type=rpm-md
安装elasticsearch
yum install --enablerepo=elasticsearch elasticsearch
使用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
恢复数据
elasticdump --input=<YourLocalFile> --output=http://"<UserName>:<YourPassword>"@<YourEsHost>/<YourEsIndex> --type=data