6task,线程和executor间的关系

Posted lybpy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了6task,线程和executor间的关系相关的知识,希望对你有一定的参考价值。

 

spark.task.cpus 2        //每个task分配的core数,默认1

--executor-cores 5        //每个执行器占用的core数.

--num-executors    2        //yarn模式指定执行器个数

solt                    //槽位,本质上对应一个线程,slot数指job最大的并发度。
                        //最发并发度是job同时启动的线程数。 = executors个数 * 每个执行器内核数 / 每个task占用内核数

测试

-- 配置方式 , 开启4个线程,
spark-shell --master yarn --deploy-mode client --executor-cores 5 --num-executors 2 --conf spark.task.cpus=2
$scala>sc.makeRDD(1 to 5 , 5).map(e=>{sendInfo(this , "map" , e+ "") ; e * 2}).collect

结果

192.168.231.102/21236/Executor task launch worker-0/[email protected]1149152433/map(1)
192.168.231.102/21236/Executor task launch worker-0/[email protected]1214110238/map(5)
192.168.231.102/21236/Executor task launch worker-1/[email protected]1841808265/map(3)

192.168.231.103/11298/Executor task launch worker-0/[email protected]1477418664/map(2)
192.168.231.103/11298/Executor task launch worker-1/[email protected]573835569/map(4)

 

以上是关于6task,线程和executor间的关系的主要内容,如果未能解决你的问题,请参考以下文章

Java——线程池

Java线程池详解

Java线程池详解

Java 线程池详解

线程的使用经验(包括 Thread/Executor/Lock-free/阻塞/并发/锁等)

concurrent包分析之Executor框架