1:运行候一直retry master:8032的问题
分析:可能是因为yarn没有启动。
解决:检查是否启动了服务. 用jps命令查看相关信息[是否存在ResourceManager]
2: mory used; 2.2 GB of 2.1 GB virtual memory used. Killing container.
分析:可能是内存不够的问题,因为自己是使用的虚拟机内存只分配了1G,后来百度了下并不是物理内存的问题,yarn执行会检查虚拟内存,如果虚拟内存不够就会报此错误。
解决:在{hadoopdir}/etc/Hadoop/yarn-site.xml文件中,修改检查虚拟内存的属性为false,如下:
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
3:Neither spark.yarn.jars nor spark.yarn.archive is set, falling back to uploading libraries under SPARK_HOME. 不影响运行,但每次执行yarn都会把spark目录下的jars的包传到hdfs上,严重影响运行效率.
分析:需要设置相关的spark.yarn.jars nor spark.yarn.archive 参数
解决:
切换到spark目录上传spark的jars(spark1.6 只需要上传spark-assembly-1.6.0-SNAPSHOT-hadoop2.6.0.jar)
hdfs dfs -mkdir /tmp/spark_jars
hdfs dfs -put jars/* /tmp/spark_jars/
在spark的conf的spark-default.conf添加配置
spark.yarn.jars=hdfs://master:9000/tmp/spark_jars/*
重启spark服务,搞定.