I am currently working to deploy two spark applications  and I want to
restrict cores and executors per application. My config is as follows:

spark.executor.cores=1
spark.driver.cores=1
spark.cores.max=1
spark.executor.instances=1

Now the issue is that with this exact configuration, one streaming
application works while the other doesn't. The application that doesn't
work remain in state: RUNNING and continuously print the following message
in logs:

17/03/06 10:31:50 INFO JobScheduler: Added jobs for time 1488814310000 ms
17/03/06 10:31:55 INFO JobScheduler: Added jobs for time 1488814315000 ms

Surprisingly, if I change the configuration to the following, the same
application that was not working now proceed without problem.

spark.executor.cores=3
spark.driver.cores=1
spark.cores.max=3
spark.executor.instances=3

*Note:* The application does not work with value 2. This is why I took 3.

It thus appears that some streaming applications need more cores that
others. My question is what determines how much resources an application
needs? Why is one application not able to run with once single core while
it can run with 3 cores?


Regards,
Maximilien.

Reply via email to