I just want to add some additional information:
Don't run Spark Streaming programs locally with master configured as "local" or "local[ 1]". This allows only one CPU for tasks and if a receiver is working on it, there is no resource left to process the obtained data. Use at least "local[ 2]" to have more centers.
If you want to know more about Spark, then do check out this awesome video tutorial: