在实验Spark Streaming的时候,提交如下脚本到Spark,总是看不到Spark Streaming的处理结果
./spark-submit --deploy-mode client --name LogAnalyzerStreaming --master spark://hadoop.master:7077 --executor-memory 512M --total-executor-cores 3 --class spark.examples.databricks.reference.apps.loganalysis.LogAnalyzerStreamingSQL spark.streaming.sql.jar
原因是,Spark是在虚拟机里运行的,这个虚拟机只分配了1个processor,这个processor只有1个core,在application提交后,在http://hadoop.master:8080上也可以看到这个application只分配了1个core, 在spark-submit脚本中指定了--total-executor-cores 3,这个参数在UI显示的效果
Core: 3 Total, 1 Used, 2 left。
重新配置下虚拟机,给它分配2个processor,那么重新启动spark,设置--total-executor-cores 2再提交application,结果正常