delay的图已经覆盖掉了,找一张正在处理的图来伪装一下
image.png
开始时查看有报错,报错如下:
19/12/18 18:33:07 INFO executor.Executor: Executor is trying to kill task 8.1 in stage 228.0 (TID 2303)
19/12/18 18:33:07 ERROR executor.Executor: Exception in task 8.1 in stage 228.0 (TID 2303)
java.io.InterruptedIOException
at org.apache.hadoop.hbase.client.AsyncProcess$AsyncRequestFutureImpl.waitUntilDone(AsyncProcess.java:1613) //某task未完成/** Wait until all tasks are executed, successfully or not. */public void waitUntilDone() throws InterruptedIOException;
at org.apache.hadoop.hbase.client.HTable.batch(HTable.java:915) //ars.waitUntilDone();
at org.apache.hadoop.hbase.client.HTable.batch(HTable.java:931)
at org.apache.hadoop.hbase.client.HTable.get(HTable.java:892) //Object [] r1 = batch((List)gets);
at com.rec.utils.util$$anonfun$getHBaseDataBatch$1.apply$mcVI$sp(util.scala:158) //val result: Array[Result] = Table.get(getlist.asJava) Result[] get(List<Get> gets) throws IOException;
at scala.collection.immutable.Range.foreach$mVc$sp(Range.scala:160)
at com.rec.utils.util$.getHBaseDataBatch(util.scala:152)
at com.rec.sparkstreaming.UserTagProcessBatch$$anonfun$main$1$$anonfun$apply$7.apply(UserTagProcessBatch.scala:99)
at com.rec.sparkstreaming.UserTagProcessBatch$$anonfun$main$1$$anonfun$apply$7.apply(UserTagProcessBatch.scala:51)
at org.apache.spark.rdd.RDD$$anonfun$foreachPartition$1$$anonfun$apply$29.apply(RDD.scala:925)
at org.apache.spark.rdd.RDD$$anonfun$foreachPartition$1$$anonfun$apply$29.apply(RDD.scala:925)
at org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:1956)
at org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:1956)
at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:87)
at org.apache.spark.scheduler.Task.run(Task.scala:99)
at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:325)
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)
19/12/18 18:33:07 INFO storage.BlockManager: Removing RDD 262
19/12/18 18:33:08 INFO executor.CoarseGrainedExecutorBackend: Got assigned task 2305
报错上是说,有个task一直没有完成,报了这个错误
而这个task是在执行batch get hbase 中的数据这一操作时一直完成不了
所以报错
查看调度:
BD48ABCB-1F48-49c6-A7B9-ECD7D85F27EE.png
看样子好像所有task均由一个线程在执行,设置的两个executor,每个executor分配2核,共4个线程,也就是说未获取到足够的资源