- Spark集群完全分布式安装部署
- 下载安装
- 配置Spark
- 1spark-envsh配置
- 2slaves配置
- 3profile配置
- 复制到其他节点
- 测试
- 总结
Spark集群完全分布式安装部署
本文中所提到的Spark集群所用的系统环境是Centos6.5,共4个节点,前提是Hadoop、JDK都已经安装配置好了,操作都是在hadoop用户下进行(要保证spark安装目录的所属是hadoop用户,权限也要开放,在Hadoop配置的文章中提到过用chown和chmod命令进行设置,请回看 Hadoop全分布集群搭建(3)——Hadoop安装与配置)。
节点情况在Hadoop全分布集群搭建(1)——设置主机名与域名解析中有介绍,如下:
节点名称 | hostName | IP地址 |
---|---|---|
Master | Master | 192.168. 101.42 |
Slave1 | Slave1 | 192.168. 101.40 |
Slave2 | Slave2 | 192.168. 101.41 |
Slave3 | Slave3 | 192.168. 101.43 |
1.下载安装
从官网http://spark.apache.org/downloads.html下载压缩包,由于我的Hadoop版本是2.6.0,所以我们对应下载Pre-built for Hadoop 2.6 and later版本的spark-1.6.1的tgz包,下载后解压,重命名为spark-1.6.1,并复制到/usr/soft目录下。
2.配置Spark
2.1spark-env.sh配置
进入/usr/soft/spark-1.6.1/conf目录下,复制一个spark-env.sh.template的副本,命名为spark-env.sh,编辑该文件,再文件最后加上下面的语句:
#JAVA_HOME
export JAVA_HOME=/usr/soft/jdk
#Hadoop_HOME
export HADOOP_HOME=/usr/soft/hadoop-2.6.0
#Scala_HOME
export SCALA_HOME=/usr/soft/scala-2.12.0
#Spark_HOME
export SPARK_HOME=/usr/soft/spark-1.6.1
export HADOOP_CONF_DIR=/usr/soft/hadoop-2.6.0
export SPARK_MASTER_IP=Master #Master的IP,Master代表了192.168.101.142,只是用了它的hostname
export SPARK_WORKER_MEMORY=1g #内存
export SPARK_WORKER_CORES=2 #cpus核心数
export SPARK_JAR=/usr/soft/spark-1.6.1/lib/spark-assembly-1.6.1-hadoop2.6.0.jar
export SPARK_DIST_CLASSPATH=$(/usr/soft/hadoop-2.6.0/bin/hadoop classpath)
2.2slaves配置
conf同目录下,赋值slaves.template文件的副本,命名为slaves,编辑,在最后添加如下内容:
Master #表示Master既是Master,也是Worker
Slave1
Slave2
Slave3
2.3profile配置
执行命令
vim /etc/profile #编辑/etc/profile文件
添加环境变量如下:
#Spark环境变量
export SPARK_HOME=/usr/BigData/spark-1.6.0
#在Path中加入Spark的路径
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SCALA_HOME/bin:$SPARK_HOME/bin:$SPARK_HOME/sbin:$PATH
3.复制到其他节点
我们在Master节点上安装配置完成Spark后,将整个spark-1.6.1目录拷贝到其他节点,并在各个节点上更改/etc/profile文件中的环境变量即可。(可能需要root用户)
4.测试
在Master节点启动集群
/opt/spark-2.1.0-bin-hadoop2.7/sbin/start-all.sh
- 1
完成之后,Master节点上用jps命令可以看到,多了Master与Worker,Slave节点上多了Worker。也可以打开浏览器输入Master:8080,看到如下活动的Workers,证明安装配置并启动成功
5.总结
如果没有启动成功,记得去看spark安装目录下logs目录中的日志文件,看是哪里出了错,网络问题、端口占用或者未开放、配置文件配置出错,防火墙拦截等等可能的情况,需要再去琢磨一下了。