If spark is run with "spark.authenticate=true", then it will fail to start in local mode.
It can be confusing when authentication is turned on by default in a cluster, and one tries to start spark in local mode for a simple test.
Workaround: If spark.authenticate=true is specified as a cluster wide config, then the following has to be added
--conf "spark.authenticate=false" --conf "spark.shuffle.service.enabled=false" --conf "spark.dynamicAllocation.enabled=false" --conf "spark.network.crypto.enabled=false" --conf "spark.authenticate.enableSaslEncryption=false"
in the spark-submit command.