Spark是通用的基于内存计算的大数据框架,能够和hadoop生态系统很好的兼容,如下来部署Spark集群java
集群环境:3节点 Master:bigdata1 Slaves:bigdata2,bigdata3shell
Master负责任务的分发,与集群状态的显示apache
Slaves运行具体的Worker任务,最后交由Executor执行任务代码vim
集群搭建以前,必须知足以下条件:服务器
一、集群主机名和hosts文件映射一一对应框架
二、集群ssh免密登陆配置ssh
三、集群每一个节点防火墙关闭oop
四、JDK正确安装测试
五、Scala正确安装大数据
六、Hadoop集群安装,由于Spark存储层要用到HDFS,因此应该至少保证HDFS服务的正常运行,hadoop集群能够在yarn上,也能够由zookeeper协调,这个都没问题,最重要的是hadoop集群能正常运行
而后能够开始安装Spark,Spark官方网站是:http://spark.apache.org/,直接去官方网站下载spark安装包便可,这里安装的是1.x的最新版1.6.2,2.0是刚出来,暂时没有使用,包名为:spark-1.6.2-bin-hadoop2.6.tgz 这里已经安装的hadoop版本为hadoop 2.6.0,下载以后上传至服务器准备安装
在bigdata1 Master节点执行以下命令解压,目录能够自定义,这里安装位置是/bigdata/spark
tar -xvzf spark-1.6.2-bin-hadoop2.6.tgz mkdir /bigdata/spark mv spark-1.6.2-bin-hadoop2.6 /bigdata/spark/ cd /bigdata/spark/spark-1.6.2-bin-hadoop2.6/
配置文件目录在安装目录下的conf下,而后从默认模板中拷贝出要编辑的配置文件:
cp conf/spark-env.sh.template conf/spark-env.sh cp conf/slaves.template conf/slaves
网上说的能够添加spark到环境变量中,这个是为了方便启动和调试,是可选的,
执行 vim conf/slaves 配置运行Worker任务的节点,和hadoop的slaves配置相似,单机环境中默认或者改成本地主机名,这里是bigdata2,bigdata3
执行 vim conf/spark-env.sh 编辑spark启动加载脚本,在最后添加以下配置:
# JDK目录 export JAVA_HOME=/usr/local/java/jdk1.8.0_73 # Scala目录 export SCALA_HOME=/usr/local/scala/scala-2.11.8 # Master IP地址 export SPARK_MASTER_IP=192.168.0.187 # Worker运行内存 export SPARK_WORKER_MEMORY=1024m # hadoop配置文件目录 export HADOOP_CONF_DIR=/bigdata/hadoop/hadoop-2.6.0/etc/hadoop
集群中Worker运行内存能够适当调整3g~8g的范围
而后发送Spark到集群其余节点:
scp -r spark/ bigdata2:/bigdata/ scp -r spark/ bigdata3:/bigdata/
最后启动Spark集群,在Master节点执行: sbin/start-all.sh 能够启动整个集群,经过执行jps能够看到Master运行的进程是Master,Slaves节点运行的进程是Worker
另外也能够经过在Master节点分别执行 sbin/start-master.sh 和 sbin/start-slaves.sh 分别调起来master和所有子节点的worker进程,这样能够根据不一样须要有选择的调起集群中的服务
Spark的服务都启动以后,访问Master地址能够打开相应的管理界面,地址就是:http://ip:8080,会看到界面以下:
经过界面能够方便的查看并管理相应的端口号,配置项,Workers节点,正在运行的应用任务等
经过执行 bin/spark-shell 或者指定相应的参数 bin/spark-shell --executor-memory 1g --driver-memory 1g --master spark://bigdata1:7077 能够进入scala交互式命令行界面,在这里能够进行一些测试等
到这里,Spark集群就部署完毕了