工作采坑札记:3. Spark中es-hadoop插件异常解决

Posted mengrennwpu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了工作采坑札记:3. Spark中es-hadoop插件异常解决相关的知识,希望对你有一定的参考价值。

1. Es-Hadoop异常:

技术分享图片
org.elasticsearch.hadoop.EsHadoopException: Could not write all entries [615/300864] (maybe ES was overloaded?). Bailing out...
    at org.elasticsearch.hadoop.rest.RestRepository.flush(RestRepository.java:235)
    at org.elasticsearch.hadoop.rest.RestRepository.doWriteToIndex(RestRepository.java:186)
    at org.elasticsearch.hadoop.rest.RestRepository.writeToIndex(RestRepository.java:149)
    at org.elasticsearch.spark.rdd.EsRDDWriter.write(EsRDDWriter.scala:49)
    at org.elasticsearch.spark.rdd.EsSpark$$anonfun$saveToEs$1.apply(EsSpark.scala:67)
    at org.elasticsearch.spark.rdd.EsSpark$$anonfun$saveToEs$1.apply(EsSpark.scala:67)
    at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:66)
    at org.apache.spark.scheduler.Task.run(Task.scala:88)
    at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:214)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
View Code

 

  异常显示elasticsearch的负载过高,处理方案具体如下(参考):

  a. 增加Es重试次数及等待时间: es.batch.write.retry.count 和 es.batch.write.retry.wait

  b. 减少hadoop或spark的任务数或作业数

  c. 减少文档/大小的数量(这是每个任务的方式 - 因此具有100个任务的作业将导致每个连接100x(docs))。

以上是关于工作采坑札记:3. Spark中es-hadoop插件异常解决的主要内容,如果未能解决你的问题,请参考以下文章

Spark向Elasticsearch批量导入数据,出现重复的问题定位

spark streaming 消费 kafka入门采坑解决过程

elasticsearch备份与恢复4_使用ES-Hadoop将ES中的索引数据写入HDFS中

微软外服工作札记②——聊聊微软的知识管理服务平台和一些编程风格

ES实战ES-Hadoop中的配置项说明

ES实战ES-Hadoop之关键特性要求安装核心架构