关于ElasticSearch数据迁移/数据导出的一次实践经历
问题场景
最近需要到客户现场将ElasticSearch中的数据导出,然后做大数据样本分析,这里我一开始想的是通过Docker
部署dejavu
面板,然后进行导出
上面部署docker虽然非常简单,但是最核心的是需要联网,很多客户都是在内网的环境中部署了设备,因此这个方案并不通用,因此笔者决定想一种古老的方式……那就是把数据节点相关文件拷贝出来,然后再拿回到自己电脑里导入恢复数据。
ElasticSearch部署
这里首先要部署和客户环境相同的ElasticSearch
版本,我这里是用Ubuntu20.04
虚拟机部署的ElasticSearch7.9.2
环境
Ubuntu20.04
下载
下载elasticsearch-7.9.2-linux-x86_64.tar.gz
安装包,如果你想安装其他版本,可以访问官网
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.9.2-linux-x86_64.tar.gz
解压缩elasticsearch-7.9.2-linux-x86_64.tar.gz
文件
tar -zxvf elasticsearch-7.9.2-linux-x86_64.tar.gz
切换到bin
目录并启动ElasticSearch
./elasticsearch
![图片[1]-关于ElasticSearch数据导出的一次实践-FancyPig's blog](https://static.iculture.cc/wp-content/uploads/2021/08/20210830083714971.png?x-oss-process=image/auto-orient,1/format,webp/watermark,image_cHVibGljL2xvZ28ucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMTA,x_10,y_10)
启动
这里发现启动的时候报错了,不能使用root
账户启动
![图片[2]-关于ElasticSearch数据导出的一次实践-FancyPig's blog](https://static.iculture.cc/wp-content/uploads/2021/08/20210830090032420-1024x597.png?x-oss-process=image/auto-orient,1/format,webp/watermark,image_cHVibGljL2xvZ28ucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMTA,x_10,y_10)
这里添加一个用户,比方说es
adduser es
chown -R es /home/fancypig/elasticsearch-7.9.2/
小插曲:如果你没有给新建的用户添加权限(即上面代码的第二行如果没有执行),将会出现如下报错
could not find java in bundled jdk at /home/fancypig/elasticsearch-7.9.2/jdk/bin/java
验证启动是否成功
这里可以通过访问9200端口来进行验证
curl 127.0.0.1:9200
![图片[3]-关于ElasticSearch数据导出的一次实践-FancyPig's blog](https://static.iculture.cc/wp-content/uploads/2021/08/20210830092339891.png?x-oss-process=image/auto-orient,1/format,webp/watermark,image_cHVibGljL2xvZ28ucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMTA,x_10,y_10)
这里发现已经连上了
数据拷贝
这里,需要根据客户具体环境先找到elasticsearch.yml
配置文件位置
find . -name elasticsearch.yml
小技巧:如果你想在linux
系统里查找以XXX
开头的任意文件或者文件夹,可以输入下面的命令
find . -name XXX\*
找到配置文件的位置后,我们读取看下data
存在哪里了
然后就是把这两个目录的文件拷贝出来就行了
![图片[4]-关于ElasticSearch数据导出的一次实践-FancyPig's blog](https://static.iculture.cc/wp-content/uploads/2021/08/20210830101129290.png?x-oss-process=image/auto-orient,1/format,webp/watermark,image_cHVibGljL2xvZ28ucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMTA,x_10,y_10)
将客户的这些数据资料拷贝到自己的Ubuntu
虚拟机相关data、log路径下
之后就是一顿操作,开始恢复数据咯!后续继续补充
- 最新
- 最热
只看作者