先要做的是先安装elasticdump。elasticdump的包在Node包管理器中,所以安装时将使用npm。
安装成功后,elasticdump可以作为一个命令被调用,要访问elasticdump的功能可以添加帮助命令(-help)。
默认情况下,elasticdump可以通过转换为json导出数据,也可以通过elasticsearch API直接在elasticsearch之间相互移动。
要将elasticsearch中的数据导出为json,你可以使用以下命令。
出口数据映射
要导出映射数据,你可以使用以下命令。
elasticdump --input="http://elastic:[email protected]:9200/*" --output=mapping.json --type=mapping
出口数据索引
要导出索引数据,你可以使用以下命令。
elasticdump --input="http://elastic:[email protected]:9200/*" --output=data.json --type=data
导入数据 Elasticsearch
默认情况下,elasticsearch有一个菜单,可以通过其网站界面导入数据,但它最多只能导入100mb的数据,最多只能导入1GB的数据(通过在堆栈管理菜单->Kibana->高级设置中改变大小)。
对于更大的数据,你可以通过颠倒命令中的输入和输出配置来使用elasticdump。
建议先创建一个索引,然后输入导出的数据结构映射,以防止上传原始数据时可能出现的错误。
创建索引和向elasticsearch添加映射可以使用kibana控制台完成。
然后要导入数据,可以用命令来完成。
elasticdump --input="data.json" --output="http://elastic:[email protected]:9200/nama-index" --type=data
接下来的方法也可以通过使用以下命令直接从elasticsearch导出数据到其他elasticsearch。
elasticdump --input="http://elastic:@10.10.0.39:9200/*" --output="http://elastic:[email protected]:9200/nama-index" --type=data