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的脚本的。

 

下篇文字会介绍上面的配置文件为什么那样配,即日志那块的东西

posted @ 2017-06-23 16:11  Super_Orco  阅读(6933)  评论(0编辑  收藏  举报