我有一个Spark Cluster(1.6.1),在Mesos上运行1个主服务器和4个从服务器。我正在运行来自Kinesis Stream的过程数据的spark作业。代码工作正常,但我可以看到Spark大量使用两个奴隶。
经过更多调查,我发现Kinesis流租约只发给一台机器,每个数据用一台机器复制。
有关详细信息,请参阅下面的Spark UI图片
我的问题是为什么Spark没有使用其他两个奴隶? Spark总是只启动一个监听器吗?它是否依赖于Kinesis流中的分片数量?
答案 0 :(得分:0)
确保创建的Amazon Kinesis接收器的数量是执行器的倍数,以便在所有执行器之间均衡地均衡负载。