Иногда задание структурированной потоковой передачи искр застревает, и задание остается активным навсегда, не убиваясь. - PullRequest
0 голосов
/ 07 мая 2020

Я запускаю приложение для структурированной потоковой передачи (версия Spark - 2.3.2). В этом приложении я читаю данные из Kafka и пишу в Hbase. Я использовал приемник foreach при записи данных в Hbase.

Иногда, если что-то происходит на стороне Hbase, например, выйдет из строя региональный сервер или мастер Hbase, потоковый запрос, выполняющий эту операцию, застревает и остается активным навсегда и работу не убивают.

Я получаю ошибку ниже в моем искровом задании:

ApplicationRuntimeException [message=Failed 493 actions: ConnectionClosingException: 493 times, , throwable=ApplicationRuntimeException [message=Failed 493 actions: ConnectionClosingException: 493 times, , throwable=org.apache.hadoop.hbase.client.RetriesExhaustedWithDetailsException: Failed 493 actions: ConnectionClosingException: 493 times, ]] 
    at com.sample.HBASEAPI.persist(HBASEAPI.java:423)
    at com.sample.HbaseForeachSink.writeData(HbaseForeachSink.java:185) 
    at com.sample.HbaseForeachSink.process(HbaseForeachSink.java:133)
    at com.sample.HbaseForeachSink.process(HbaseForeachSink.java:27) 
    at org.apache.spark.sql.execution.streaming.ForeachSink$$anonfun$addBatch$1.apply(ForeachSink.scala:53)
    at org.apache.spark.sql.execution.streaming.ForeachSink$$anonfun$addBatch$1.apply(ForeachSink.scala:49)
    at org.apache.spark.rdd.RDD$$anonfun$foreachPartition$1$$anonfun$apply$29.apply(RDD.scala:935)
    at org.apache.spark.rdd.RDD$$anonfun$foreachPartition$1$$anonfun$apply$29.apply(RDD.scala:935)
    at org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:2074)
    at org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:2074)
    at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:87)
    at org.apache.spark.scheduler.Task.run(Task.scala:109)
    at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:345)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745) Caused by: ApplicationRuntimeException [message=Failed 493 actions: ConnectionClosingException: 493 times, , throwable=org.apache.hadoop.hbase.client.RetriesExhaustedWithDetailsException: Failed 493 actions: ConnectionClosingException: 493 times, ] 
    at com.sample.HBASEAPI.bulkFlush(HBASEAPI.java:693) at com.sample.HBASEAPI.persist(HBASEAPI.java:421) ... 15 more 
Caused by: org.apache.hadoop.hbase.client.RetriesExhaustedWithDetailsException: Failed 493 actions: ConnectionClosingException: 493 times, 
    at org.apache.hadoop.hbase.client.AsyncProcess$BatchErrors.makeException(AsyncProcess.java:235) 
    at org.apache.hadoop.hbase.client.AsyncProcess$BatchErrors.access$1700(AsyncProcess.java:215) 
    at org.apache.hadoop.hbase.client.AsyncProcess.waitForAllPreviousOpsAndReset(AsyncProcess.java:1753) 
    at org.apache.hadoop.hbase.client.BufferedMutatorImpl.backgroundFlushCommits(BufferedMutatorImpl.java:209) 
    at org.apache.hadoop.hbase.client.BufferedMutatorImpl.flush(BufferedMutatorImpl.java:183) 
    at org.apache.hadoop.hbase.client.HTable.flushCommits(HTable.java:1434) 
    at org.apache.hadoop.hbase.client.HTable.put(HTable.java:1030)
    at com.sample.HBASEAPI.bulkFlush(HBASEAPI.java:624)

В чем может быть причина такого поведения? Есть ли какие-нибудь известные проблемы по этому поводу?

-Hokam

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...