spark-submit问题,具体情况如下:(目的是使用py代码连接hbase获取相应数据)
进入pyspark交互环境下的yarn模式,可以在RM的UI界面看到相应的任务,也可以正常连接hbase获取数据。
使用spark-submit提交相同的py代码,也同样在yarn模式下,却无法正常执行。RM的UI中看不到相应的任务提交,执行过程中会一直提示:WARN scheduler.TaskSchedulerImpl: Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient resources
而如果结束该任务,在Spark的History Sever可以看到任务的提交记录。。
环境情况说明下:
1)CDH-6.3.2的集成大数据平台安装了完整的spark, hadoop, hbase等;
2)我测试过,pyspark的交互环境下,用local和yarn模式,都可以正常获取hbase数据。而如果用standalone模式,却不行,也是报资源不足的问题(进入这个交互环境的命令是 pyspark --master spark://r1:7077)
3) 使用spark-submit方式提交任务,不论是local、yarn,还是standalone模式,都是提示资源不足的情况。
这个问题要怎么解决??
第一种:是spark节点的内存满了,加大执行内存,内存可以在spark的配置文件—>spark-env.sh中可以看到。这个配置文件路径在:/usr/local/spark-2.4.0-bin-hadoop2.6/conf/spark-env.sh路径下。内存不知道满不满可以去独立集群Web界面查看应用的运行情况,打开浏览器,访问master:8080
第二种是:如果开启的是集群模式的情况下,要保证三个节点的服务都是开启的状态。如果三个节点没开启完全,就可能会出现标题出现的警告出错情况。这个时候在master主节点上,重启一下这些服务。
你也可以进入提交记录那里,看看有没有详细日志输出,再确定具体是什么原因。