spark HA集群的分布式安装

一:安装教程

   修改配置文件

  (1)spark.env.sh

export JAVA_HOME=/usr/local/jdk1.8.0_73
export HADOOP_HOME=/home/hadoop/apps/hadoop-2.7.5
export HADOOP_CONF_DIR=/home/hadoop/apps/hadoop-2.7.5/etc/hadoop
export SPARK_WORKER_MEMORY=500m
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER 
                -Dspark.deploy.zookeeper.url=hadoop1:2181,hadoop2:2181,hadoop3:2181,hadoop4:2181
                -Dspark.deploy.zookeeper.dir=/spark
"

    配置参数说明:

  -Dspark.deploy.recoveryMode=ZOOKEEPER    #说明整个集群状态是通过zookeeper来维护的,整个集群状态的恢复也是通过zookeeper来维护的。就是说用zookeeper做了spark的HA配置,Master(Active)挂掉            的话,Master(standby)要想变成Master(Active)的话,Master(Standby)就要像zookeeper读取整个集群状态信息,然后进行恢复所有Worker和Driver的状态信息,和所有的Application状态信息; 
  -Dspark.deploy.zookeeper.url=hadoop1:2181,hadoop2:2181,hadoop3:2181,hadoop4:2181#将所有配置了zookeeper,并且在这台机器上有可能做master(Active)的机器都配置进来;(我用了4台,就配置了4                  台) 

  -Dspark.deploy.zookeeper.dir=/spark 
          这里的dir和zookeeper配置文件zoo.cfg中的dataDir的区别??? 
  -Dspark.deploy.zookeeper.dir是保存spark的元数据,保存了spark的作业运行状态; 
  zookeeper会保存spark集群的所有的状态信息,包括所有的Workers信息,所有的Applactions信息,所有的Driver信息,如果集群 

(2)slaves,添加集群的hostName

hadoop1
hadoop2
hadoop3

(3)环境变量的配置

export SPARK_HOME=/home/hadoop/apps/spark
export PATH=$PATH:$SPARK_HOME/bin

是环境变量的内容生效:source /etc/profile

二:启动顺序

1 启动zookeeper,每个节点都需要启动。  

zkServer.sh start

2 启动hdfs,任意一个节点

start-dfs.sh

3 启动spark集群,任意一个节点

start-all.sh

4 启动master进程

start-master.sh 

5 检查

 jps 和 URL:hadoop1:8080

6 杀死Master进程,或有新的master进程生成

三:在yarn之上执行spark程序

 spark shell

./bin/spark-submit \
  --class <main-class> \
  --master <master-url> \
  --deploy-mode <deploy-mode> \
  --conf <key>=<value> \
  ... # other options
  <application-jar> \
  [application-arguments]

启动在yarn上的前提:成功启动zookeeper集群、HDFS集群、YARN集群

运行在yarn上的spark shell

export HADOOP_CONF_DIR=XXX
./bin/spark-submit \
  --class org.apache.spark.examples.SparkPi \
  --master yarn \
  --deploy-mode cluster \  # can be client for client mode
  --executor-memory 20G \
  --num-executors 50 \
  /path/to/examples.jar \
  1000

 

参考文献:扎心了,老铁

   spark官方文档

 

posted @ 2018-11-13 19:33  上海小墨子  阅读(199)  评论(0编辑  收藏  举报