首页 > 代码库 > 谈hadoop/spark里为什么都有,YARN呢?

谈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呢?