欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 人文社科 > 生活经验 >内容正文

生活经验

elasticdump安装_elasticsearch导出、导入工具-elasticdump

发布时间:2023/11/27 生活经验 53 豆豆
生活随笔 收集整理的这篇文章主要介绍了 elasticdump安装_elasticsearch导出、导入工具-elasticdump 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

elasticsearch导出、导入工具-elasticdump

elasticsearch 数据导入到本地,或本地数据导入到elasticsearch中,或集群间的数据迁移,可以用elasticsearch的工具—elasticdump

elasticdump 可以用用npm安装本地运行,也可以用docker容器运行。在这里我说一下npm安装本地运行、docker运行可以参考github文章。

npm 安装 elasticdump

先下载安装npm

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19# 以下我尽量都用绝对路径吧。 发现好多文章里的路径写的不清晰......

cd /home/shining

wget https://nodejs.org/dist/v8.11.2/node-v8.11.2-linux-x64.tar.xz

tar -xf node-v8.11.2-linux-x64.tar.xz

cd /home/shining/node-v8.11.2-linux-x64/bin

ln -s /home/shining/node-v8.11.2-linux-x64/bin/npm /usr/local/bin/npm

ln -s /home/shining/node-v8.11.2-linux-x64/bin/node /usr/local/bin/node

# 安装 elasticdump

./npm init -f

./npm install elasticdump

# 如果你需要全局安装的话就添加 -g 参数, 我这里没有配置全局。

cd /home/shining/node-v8.11.2-linux-x64/bin/node_modules/elasticdump/bin

./elasticdump --help

# 这样 elasticdump 就安装好了

导出数据, 他在他的官网中已经介绍的很详细了, es导出到es,es导出到文件,导出数据直接压缩等方式。

主要记住的是, 导出的时候不仅仅的data,还需要导出mapping信息。

导出数据到文件:1

2

3

4

5

6

7

8elasticdump \

--input=http://172.16.3.5:9200/shining_index \

--output=/data/shining_index_mapping.json \

--type=mapping

elasticdump \

--input=http://172.16.3.5:9200/shining_index \

--output=/data/shining_index.json \

--type=data

这样的话数据和mapping信息就都导出来了。

For Example:

1

2

3

4

5

6

7

8

9

10

11

12

13导出Mapping信息

elasticdump --ignore-errors=true --scrollTime=120m --bulk=true --input=http://10.10.20.164:9200/xmonitor-2015.04.29 --output=http://192.168.100.72:9200/xmonitor-prd-2015.04.29 --type=mapping

导出数据

elasticdump --ignore-errors=true --scrollTime=120m --bulk=true --input=http://10.10.20.164:9200/xmonitor-2015.04.28 --output=/usr/local/esdump/node-v0.12.2-linux-x64/data/xmonitor-prd-2015.04.28.json --type=data

导出数据到本地集群

elasticdump --ignore-errors=true --scrollTime=120m --bulk=true --input=http://10.10.20.164:9200/xmonitor-2015.04.29 --output=http://192.168.100.72:9200/xmonitor-prd-2015.04.29 --type=data

迁移mapping

./elasticdump --input=http://10.214.228.44:9200/ehruserindex --output=http://10.214.226.64:9200/ehruserindex --type=mapping

迁移数据

./elasticdump --input=http://10.214.228.44:9200/ehruserindex --output=http://10.214.226.64:9200/ehruserindex --limit=10000 --type=data

导入数据

正常导入数据是:

1elasticdump --input /data/shining_index.json --output http://172.16.3.5:9200/shining_index

如果你得ES集群配置用有配置: action.auto_create_index 参数为 false 或 为 +aaa,-bbb,’+’号意味着允许创建aaa开头的索引,’-‘号意味着不允许创建bbb开头的索引 有规则的话(详细可以查看这个参数的说明和配置), 会导致导入失败。

这时候需要先创建索引和mappping之后再导入数据。

先编辑一下我们导出来的mapping.json文件

1

2

3

4

5

6

7

8

9vim /data/shining_index_mapping.json

数据类似于:

{"shining_index":{"mappings":{"logs".............}}}}}

需要保留 mappings 之后的信息

类似于:

{"mappings":{"logs".............}}}}

删除 {"shining_index": 和 最后一个 }

创建索引

1curl -X PUT 'http://172.16.3.5:9200/shining_index' -d@/data/shining_index_mapping.json

创建成功之后再导入数据就可以了。就不会报错了。

总结

以上是生活随笔为你收集整理的elasticdump安装_elasticsearch导出、导入工具-elasticdump的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。