分享

关于spark的core数

UFO 发表于 2016-3-30 10:18:20 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 4 8705
      我的服务器本身是2核的,如果我将spark-env.sh 里面的SPARK_WORKER_CORES设为5了,我也能在web页面上看到确实给这个节点分配了5个core ,这是怎么回事啊? 明明总共只有2个,还能设置成5个,还有通常一个sparkstreaming应用程序怎么确定给多少个core,多少内存

已有(4)人评论

跳转到指定楼层
easthome001 发表于 2016-3-30 21:28:24
对于Spark Standalone集群来说,集群的处理能力是由conf/spark-env中的SPARK_WORKER_INSTANCES参数、SPARK_WORKER_CORES参数决定的;而SPARK_WORKER_INSTANCES*SPARK_WORKER_CORES不能超过物理机器的实际CPU core;

但是并不是说不能设置超过,你设置100可能也行,但是集群很容易出问题
回复

使用道具 举报

UFO 发表于 2016-3-30 22:06:50
easthome001 发表于 2016-3-30 21:28
对于Spark Standalone集群来说,集群的处理能力是由conf/spark-env中的SPARK_WORKER_INSTANCES参数、SPARK_ ...

设置的core比物理机的core大了会出现怎么样的问题,还有我发现内存也是随便设置,同样可以设置比本身内存还大,这是不是spark没有考虑到的一个bug哦
回复

使用道具 举报

UFO 发表于 2016-3-30 22:30:15
easthome001 发表于 2016-3-30 21:28
对于Spark Standalone集群来说,集群的处理能力是由conf/spark-env中的SPARK_WORKER_INSTANCES参数、SPARK_ ...

还有一个问题请教你
可以设置一个节点上有几个worker,一个worker上几个core,怎么控制一个worker上几个 Executor一个 Executor 上运行几个core,我发现我给应用程序多少个core,就会起多少个 Executor ;还有spark streaming中一个receiver就会独占一个core吗,看到有这样一句话:receiver作为一个长期运行的任务运行在Spark worker或executor中。因此,它占有一个核,这个核是分配给Spark Streaming应用程序的所有 核中的一个
回复

使用道具 举报

Alkaloid0515 发表于 2016-3-31 10:18:48
UFO 发表于 2016-3-30 22:30
还有一个问题请教你
可以设置一个节点上有几个worker,一个worker上几个core,怎么控制一个worker上几个  ...


这些看你是哪个模式,spark on yarn还是什么模式。
有些自己能掌控,有些是不能的,并不是低配置集群就不能跑spark,高配置集群就能跑spark。低配置跑的慢而已。所以这里面没有固定这么一说。很多是由系统自动分配的。receiver可能暂一个核,是否独占这个不清楚了。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条