谈hadoop/spark里为什么都有,YARN呢?

Posted 大数据和人工智能躺过的坑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了谈hadoop/spark里为什么都有,YARN呢?相关的知识,希望对你有一定的参考价值。

  在Hadoop集群里,有三种模式:

  1、本地模式

  2、伪分布模式

  3、全分布模式

 

 

  在Spark集群里,有四种模式:

1、local单机模式
  结果xshell可见:
  ./bin/spark-submit --class org.apache.spark.examples.SparkPi --master local[1] ./lib/spark-examples-1.3.1-hadoop2.4.0.jar 100
  这里写local,就是local[1]

2、standalone集群模式
  需要的配置项
  1, slaves文件
    spark002
    spark003
  2, spark-env.sh
    export JAVA_HOME=/usr/soft/jdk1.7.0_71
    export SPARK_MASTER_IP=spark001
    export SPARK_MASTER_PORT=7077
    export SPARK_WORKER_CORES=1
    export SPARK_WORKER_INSTANCES=1
    export SPARK_WORKER_MEMORY=1g

3、standalone集群模式
  之client模式:
  结果xshell可见:
  ./bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://spark001:7077 --executor-memory 1G --total-executor-cores 1 ./lib/spark-examples-1.3.1-hadoop2.4.0.jar 100

3、standalone集群模式
之cluster模式:
  结果spark001:8080里面可见!
  ./bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://spark001:7077 --deploy-mode cluster --supervise --executor-memory 1G --total-executor-cores 1 ./lib/spark-examples-1.3.1-hadoop2.4.0.jar 100
  --supervise是进程监控

4、Yarn集群模式
  需要的配置项
  1, spark-env.sh
    export HADOOP_CONF_DIR=$HADOOP_INSTALL/etc/hadoop
    export YARN_CONF_DIR=$HADOOP_INSTALL/etc/hadoop
    export SPARK_HOME=/usr/hadoopsoft/spark-1.3.1-bin-hadoop2.4
    export SPARK_JAR=/usr/hadoopsoft/spark-1.3.1-bin-hadoop2.4/lib/spark-assembly-1.3.1-hadoop2.4.0.jar
    export PATH=$SPARK_HOME/bin:$PATH
  2, ~/.bash_profile
  配置好hadoop环境变量

4、Yarn集群模式
client模式:
  结果xshell可见:
  ./bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn-client --executor-memory 1G --num-executors 1 ./lib/spark-examples-1.3.1-hadoop2.4.0.jar 100

4、Yarn集群模式
cluster模式:
  结果spark001:8088里面可见!
  ./bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn-cluster --executor-memory 1G --num-executors 1 ./lib/spark-examples-1.3.1-hadoop2.4.0.jar 100

 

 

 

  hadoop/spark里为什么都有,YARN呢?

  答:普通OS(操作系统)的功能主要是为处理器管理、存储器管理、设备管理、文件管理、作业管理和用户接口。

在集群环境下,HDFS已经负责了文件管理,而设备概念较弱,故YARN主要负责统一管理集群内服务器的计算资源(主要包括CPU和内存资源)、作业调度和用户接口。





































以上是关于谈hadoop/spark里为什么都有,YARN呢?的主要内容,如果未能解决你的问题,请参考以下文章

(续) 为什么用Yarn来做Docker容器调度引擎

为什么用Yarn来做Docker容器调度引擎

Voidbox: Docker on YARN在Hulu的实现

Docker On YARN在线讲座资料以及答疑

Apache YARN/Mesos与Google Borg差距多远?

Hadoop + spark常用命令