将大JSON导入ElasticSearch不会给出任何响应

时间:2017-10-20 08:15:16

标签: json curl elasticsearch

我查询了我的MariaDB并将所有数据解析为根据Elasticsearch批量api here的文档格式化的JSON文件。

Json样本:

  

{“index”:{“_ index”:“test”,“_ type”:“test-type”,“_ id”:“5”}
  {“testcase”:“testcase_value”,“load”:“load_value”,“detcause”:“DETAILED_CAUSE_UNKNOWN”,“time”:“2017-09-28T08:07:03”,“br_proc”:“ProcDetCause”,“ proc_message“:”MME_CB_DEF“,”cause“:null,”count“:3}
  {“index”:{“_ index”:“test”,“_ type”:“test-type”,“_ id”:“17”}
  {“testcase”:“testcase_value”,“load”:“load_value”,“detcause”:“DETAILED_CAUSE_UNKNOWN”,“time”:“2017-09-28T08:07:03”,“br_proc”:“BrDetCause”,“ proc_message“:”MME_CB_DEF“,”cause“:null,”count“:2}
  {“index”:{“_ index”:“test”,“_ type”:“test-type”,“_ id”:“20”}
  {“testcase”:“testcase_value”,“load”:“load_value”,“detcause”:null,“time”:“2017-09-28T08:07:03”,“br_proc”:“BrCause”,“proc_message” :“MME_CB_DEF”,“原因”:“CAUSE_UNKNOWN”,“count”:2}
  {“index”:{“_ index”:“test”,“_ type”:“test-type”,“_ id”:“23”}
  {“testcase”:“testcase_value”,“load”:“load_value”,“detcause”:null,“time”:“2017-09-28T08:07:03”,“br_proc”:“ProcCause”,“proc_message” :“MME_CB_DEF”,“原因”:“CAUSE_UNKNOWN”,“count”:1}
  {“index”:{“_ index”:“test”,“_ type”:“test-type”,“_ id”:“39”}
  {“testcase”:“testcase_value”,“load”:“load_value”,“detcause”:null,“time”:“2017-09-28T08:07:03”,“br_proc”:“ProcCause”,“proc_message” :“MME_CB_DEF”,“原因”:“CAUSE_UNKNOWN”,“count”:2}
  ...

当我跑步时: curl -s -H "Content-Type: application/x-ndjson" -XPOST 'localhost:9200/_bulk' --data-binary @data.json我完全没有回应。我试图获取一些数据子集(即100,1000行)和那些工作(我甚至接收JSON响应)。但是,当我超过一百万时,它没有给出任何回应。目前,Elasticsearch数据库中只有500个条目。

我还检查了elasticsearch日志,它们都是空的。

该文件有2000万行,大约2.7 GB。

为什么我发布更大的JSON文件时没有得到任何回复?难道我做错了什么?有没有更好的方法来处理批量索引?

1 个答案:

答案 0 :(得分:0)

基于评论,我正在创建一个“解决方法”:

将大文件拆分为当前有效的multiple json files周围的500k lines

我的猜测是内存问题在这里工作(你可以通过内存使用,cpu,网络等来检查)。