天天看点

使用Elasticdump导出和导入Elasticsearch数据

作者:吉祥庄钢铁侠

先要做的是先安装elasticdump。elasticdump的包在Node包管理器中,所以安装时将使用npm。

使用Elasticdump导出和导入Elasticsearch数据

安装成功后,elasticdump可以作为一个命令被调用,要访问elasticdump的功能可以添加帮助命令(-help)。

使用Elasticdump导出和导入Elasticsearch数据

默认情况下,elasticdump可以通过转换为json导出数据,也可以通过elasticsearch API直接在elasticsearch之间相互移动。

要将elasticsearch中的数据导出为json,你可以使用以下命令。

出口数据映射

要导出映射数据,你可以使用以下命令。

elasticdump --input="http://elastic:[email protected]:9200/*" --output=mapping.json --type=mapping
           
使用Elasticdump导出和导入Elasticsearch数据

出口数据索引

要导出索引数据,你可以使用以下命令。

elasticdump --input="http://elastic:[email protected]:9200/*" --output=data.json --type=data
           
使用Elasticdump导出和导入Elasticsearch数据

导入数据 Elasticsearch

默认情况下,elasticsearch有一个菜单,可以通过其网站界面导入数据,但它最多只能导入100mb的数据,最多只能导入1GB的数据(通过在堆栈管理菜单->Kibana->高级设置中改变大小)。

使用Elasticdump导出和导入Elasticsearch数据
使用Elasticdump导出和导入Elasticsearch数据

对于更大的数据,你可以通过颠倒命令中的输入和输出配置来使用elasticdump。

建议先创建一个索引,然后输入导出的数据结构映射,以防止上传原始数据时可能出现的错误。

创建索引和向elasticsearch添加映射可以使用kibana控制台完成。

使用Elasticdump导出和导入Elasticsearch数据

然后要导入数据,可以用命令来完成。

elasticdump --input="data.json" --output="http://elastic:[email protected]:9200/nama-index" --type=data
           
使用Elasticdump导出和导入Elasticsearch数据

接下来的方法也可以通过使用以下命令直接从elasticsearch导出数据到其他elasticsearch。

elasticdump --input="http://elastic:@10.10.0.39:9200/*" --output="http://elastic:[email protected]:9200/nama-index" --type=data
           
使用Elasticdump导出和导入Elasticsearch数据

继续阅读