yarn cluster 与yarn client区别

yarn-client:
1.提交方式
 export HADOOP_CONF_DIR=XXX
./bin/spark-submit \
  --class org.apache.spark.examples.SparkPi \
  --master yarn-client \
  --executor-memory 2g 
  --jars /usr/cdh/hive/lib/mysql-connector-java-5.1.18-bin.jar   
  --num-executors 2 \
  Log-1.0-SNAPSHOT.jar
   
 提交的应用程序运行在提交的机器上,然后通过DAGSchedluer优化后,形成taskset;TaskScheduler将TaskSet 提交 yarn集群管理器,将task分发到个executor,任务完毕,返回结果到spark application所在机器.
缺点:提交spark apllication所在机器不能故障,或者程序不能中断,否则无法进行返回结果,必须重试.
有点:利用发生故障时,在本机上上查看日志,定位错误


yarn-cluster:
1.提交方式
 export HADOOP_CONF_DIR=XXX
./bin/spark-submit \
  --class org.apache.spark.examples.SparkPi \
  --master yarn-cluster \
  --executor-memory 2g 
  --jars /usr/cdh/hive/lib/mysql-connector-java-5.1.18-bin.jar   
  --num-executors 2 \
  Log-1.0-SNAPSHOT.jar
特点:
提交的应用程序运行在提交的分布式集群中一个yarn容器内部,然后通过DAGSchedluer优化后,形成taskset;TaskScheduler将TaskSet 提交 yarn集群管理器,将task分发到个executor,任务完毕,返回结果到spark application所在机器.
缺点:相比yarn-client,相比提交spark apllication所在机器可以发生故障故障,或者程序可以中断,因其运行在分布式集群的一个yarn容器中,应用进程中断不影响结果返回
有点:相比yarn-client,相比,spark-submit 产生的日志可能不在本机,通过yarn管理器查找job对应日志,不利于发生故障时定位错误,查看当前错误日志较难,定位错误费时

spark-submit  --class com.myd.cn.SparkTest  --master yarn-client --executor-memory 2g --jars /usr/cdh/hive/lib/mysql-connector-java-5.1.18-bin.jar   Log-1.0-SNAPSHOT.jar 
 

你可能感兴趣的:(yarn cluster 与yarn client区别)