首页 > 代码库 > 谈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呢?