问题1.启动start-spark.sh后没报错但jps查不到进程Master和Worker.
之后就把spark-env.sh里的host改成了主机IP号(原来为主机名node1)
之后又把/etc/profile和spark/conf/spark-env.sh改了一遍结果就报错了,但还是没有相关进程

之后读了以下日志文件,发现有一个错误


意思就是解析conf core-site.xml错误,就看了一下core-site.xml(/root/spark/conf/core-site.xml),发现这是个空文件,里面什么都没有,就把它给删了,之后再启动就成功了。
jps查看进程有了Master和Worker进程

也可使用浏览器查看:192.168.248.140:8080

问题2.spark运行时报错

解决:首先检查下hdfs是否在安全模式下
hdfs dfsadmin -safemode get
也可以通过查看日志找到问题(hdfs处于安全模式)

如果在安全模式下则退出安全模式
hdfs dfsadmin -safemode leave
(知识积累:进入安全模式命令:hdfs dfsadmin -safemode enter)
然后再看下配置的相关文件里是否有中文(包括注释),把中文删除,之后再启动spark-shell就没有什么问题了。

问题三.程序提交成功但运行失败

原因可能是Spark shell应用程序的内存超过了yarn允许的最大内存,因此只需要关闭yarn内存机制就可以解决
在yarn-site.xml文件中添加以下内容即可
<property>
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>false</value>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
然后重启Spark shell
