报错如下:
Initial job has not accepted any resources : Investigating the cluster state
查看spark的8080页面发现,两个任务资源不够用
(借用的图,忘记截屏了,但是意思一样)
主要是因为spark默认为应用有一个初始分配资源的配置,如果机器配置不合理,就会导致资源申请失败
需要修改spark-defaults.conf下的两个参数:
spark.deploy.defaultCores 1
spark.cores.max 2
注: spark.cores.max会将spark.deploy.defaultCores配置覆盖掉
修改之后重启spark集群,和thrift-server服务器
sbin/start-all.sh
sbin/start-thriftserver.sh --executor-cores 1 --executor-memory 512m
sbin/spark-sql --executor-cores 1 --executor-memory 1g
无奈的是,这里只有--executor-memory 生效了,--executor-cores 没生效,所以综合起来解决该问题的办法就是重新分配资源,资源包括内存和core核心数的分配。
更多配置,之后在详细了解。
效果图:
参考如下:http://www.open-open.com/lib/view/open1451574185448.html