问题
在以yarn作为master启动sparkshell出现警告
原因
spark-shell底层是调用的spark-submit,每次运行时都会把yarn所需的spark jar打包上传至HDFS,然后分发到每个NM。
解决
如果我们将jar包提前上传至HDFS,那么spark在运行时就不用上传,可以直接从HDFS读取了。
创建hdfs目录
hadoop fs -mkdir -p /spark-yarn/jars
将jar包上传至hdfs目录
hadoop fs -put /soft/spark/jars/* /spark-yarn/jars/
在spark-default.conf文件中添加
spark.yarn.jars=hdfs://iZm5efuuoqohgx35d3zs4eZ:9000/spark-yarn/jars/*.jar
重新运行 spark-shell --master yarn-client
警告消失