1.上傳并且解壓spark安裝包
2.将解壓出來的目錄重命名為spark
3.進入spark/conf修改配置檔案
1.進入conf目錄并且複制spark-env.sh.template并重命名為spark-env.sh,并在檔案最後添加如下配置内容
cp spark-env.sh.template spark-env.sh
vi spark-env.sh
export JAVA_HOME=/usr/local/jdk1.8.0_191
export SCALA_HOME=/home/hadoop/apps/scala-2.11.8
export HADOOP_HOME=/home/hadoop/apps/hadoop-2.7.6
export HADOOP_CONF_DIR=/home/hadoop/apps/hadoop-2.7.6/etc/hadoop
export SPARK_WORKER_MEMORY=500m
export SPARK_WORKER_CORES=1
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=ali:2181,tencent:2181,huawei:2181 -Dspark.deploy.zookeeper.dir=/spark"
Dspark.deploy.zookeeper.url後面添加的是ZK中所有可以當master的節點
2.複制slaves.template成slaves添加如下内容
ali
tencent
huawei
3.配置環境變量,如下
export SPARK_HOME=/home/hadoop/apps/spark
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
source /etc/profile
4.由于有的程式中的stat-all.sh和stop-all.sh與spark/sbin中的這兩個檔案重名,可以将這兩個檔案重命名,例如修改為stat-allspark.sh和stop-allspark.sh
4.啟動
1.啟動zookeeper叢集
zkServer.sh start(在任意一個節點)
2.啟動HDFS叢集
start-dfs.sh(在一個節點啟動)
3.啟動Spark叢集
start-allspark.sh
4.jps檢視程序
可能隻有ali節點成功啟動了master,那麼可以啟動start-master.sh即可
5.驗證
現在kill掉alive節點的Master程序
剛才alive的節點無法通路
剛才standby狀态的節點進行recovering
現在另外一個節點已經成功啟動
完成
standalone模式
隻在spark-env.sh中配置如下資訊
#指定JAVA_HOME位置
export JAVA_HOME=/usr/local/jdk1.8.0_191
#指定spark老大Master的IP
export SPARK_MASTER_IP=ali
#指定spark老大Master的端口
export SPARK_MASTER_PORT=7077
#指定可用的CPU核心數量(預設:所有可用,實際使用時沒有配置最後這兩個參數)
export SPARK_WORKER_CORES=1
#作業可使用的記憶體容量,預設格式為1000m或者2g(預設:所有RAM去掉給作業系統用的1GB)
export SPARK_WORKER_MEMORY=1000m
在啟動了hadoop的高可用之後啟動start-allspark.sh
啟動sparkshell
spark-shell \
--master spark://ali:7077 \
--executor-memory 500m \
--total-executor-cores 1