spark2.10安裝部署(集成hadoop2.7+)


這里默認你的hadoop是已經安裝好的,master是node1,slaver是node2-3,hdfs啟動在node1,yarn啟動在node2,如果沒安裝好hadoop可以看我前面的文章

因為這里是spark和hadoop集成,我已經預先啟動好了hdfs 和 yarn;MapReduce History Server也是需要啟動的,詳情往下看

Spark安裝包:概述

類別
  與Hadoop打包在一起的安裝包
  • 比如:spark-2.1.0-bin-hadoop2.7.tgz,spark版本為2.1.0,與hadoop 2.7.0集成
  獨立安裝包
    • spark-2.1.0-bin-without-hadoop.tgz
下載地址
  http://spark.apache.org/downloads.html

Spark安裝包:conf目錄

spark-default.conf

  可將spark-defaults.conf.template重命名后產生

  以key/value方式設置spark應用程序的默認參數,這里寫上默認的參數,就省去了在命令行里寫一堆參數

spark-env.sh

  可將spark-env.sh.template重命名后產生

  是一個shell文件,保存了spark的運行環境,比如hadoop配置文件所在路徑

Spark安裝部署1:基本配置

解壓縮spark-2.1.0-bin-hadoop2.7.tgz,進入到conf目錄

tar zxvf spark-2.1.0-bin-hadoop2.7.tgz
cd spark-2.1.0-bin-hadoop2.7/conf

主要任務

1、修改conf目錄下的spark-defaults.conf和spark-env.sh

2、配置並啟動spark history server

spark-defaults.conf配置

spark.master=local
#這里表示啟動模式是yarn-client,也可以啟動在yarn-cluster,或者本地模式:local(一般只用在本地測試)
#前兩種最直觀的區別是,你本機關閉后,整個程序關閉,yarn-cluster是,提交后,本機關閉, 程序照樣在跑,詳情看上篇文章

spark-env.sh配置

export HADOOP_CONF_DIR=/home/orco/resources/hadoop-2.7.3/etc/hadoop
#只需要配置這個,其余默認即可

Spark安裝部署2:spark historyserver配置與啟動

找一台節點部署spark history server,比如我用的是node2

在Hadoop配置文件yarn-site.xml增加以下配置

目的:如果需要查看history的日志的話,需要配置下面的參數,對hadoop進行一些修改,主要是修改yarn的一些配置,讓所有的nodemanager可以在應用程序結束之后,把日志傳到hdfs上,這樣的話,即使在應用程序結束之后,還是能夠查看程序的日志

<property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
</property>
<property>
        <name>yarn.log.server.url</name>
        <value>http://node2:19888/jobhistory/logs</value>
</property>
<property>
        <name>yarn.nodemanager.pmem-check-enabled</name>
        <value>false</value>
</property>
<property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
</property>

在Hadoop配置文件mapred-site.xml增加以下配置

<property>
<name>mapreduce.jobhistory.done-dir</name>
<value>/user/history/done</value>
</property>
<property>
<name>mapreduce.jobhistory.intermediate-done-dir</name>
<value>/user/history/done_intermediate</value>
</property>

在所有節點上應用同樣的修改,或者分發到所有nodemanager節點,重新啟動Yarn

/home/orco/resources/hadoop-2.7.3/sbin/start-yarn.sh

在node2節點上重新啟動mapreduce history server

sbin/mr-jobhistory-daemon.sh start historyserver

在瀏覽器中打開

http://node2:19888

配置完了必要的hadoop,接下來配置spark

修改conf/spark-defaults.conf ,增加以下配置

#告訴yarn,spark的historyserver地址
spark.yarn.historyServer.address=node1:18080
#剩下幾個是跟sparkhistory相關的一些配置 spark.history.ui.port=18080 spark.eventLog.enabled=true spark.eventLog.dir=hdfs:///tmp/spark/events spark.history.fs.logDirectory=hdfs:///tmp/spark/events

在HDFS上創建以上目錄

hdfs dfs -mkdir -p /tmp/spark/events

啟動Spark history server

sbin/start-history-server.sh

Spark History server地址

http://node1:18080/

注:

spark解壓在了node1,不需要分發到集群中,因為spark on yarn模式,實際運行的時候yarn會將spark的jar分發到各個nm上

這種模式下spark是靠yarn實現集群能力的

只需要啟動Spark history server即可

啟動的時候通過代碼API或者

bin/spark-shell --master yarn-client

或者

bin/spark-shell --master yarn-cluster

來運行程序即可,不需要啟動start-all.sh,start-all.sh是用來部署standalone的腳本的。

 

下篇文字會介紹上面的配置文件為什么那樣配,即日志那塊的東西


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM