SparkStreaming任务调度Dealy

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个线程,也就是说未获取到足够的资源

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容