我用到的各个版本  不管你搭建哪个版本的集群,它依赖的各个版本一定要兼容,不然会遇到各种问题
spark2.1.1  hadoop2.6.5   jdk1.7  scala2.11.6 

jdk的安装 javascript:void(0)

scala安装  首先下载scala  scala2.11.6 下载地址,在官网上下载很慢

链接:https://pan.baidu.com/s/14oNVy-HTSg3OKZqH8ftfOQ 
提取码:bjmd 

下载,解压,配置环境变量,刷新配置

使用命令查看scala版本

[root@hadoop1 conf]# scala -version
Scala code runner version 2.11.6 -- Copyright 2002-2013, LAMP/EPFL

下载安装hadoop2.6.5,这个我没做记录,推荐仅供参考

javascript:void(0)

下载spark 地址  汇总地址 https://archive.apache.org/dist/spark/

spark2.1.1 地址https://archive.apache.org/dist/spark/spark-2.1.1/

解压  tar -zxvf spark-2.1.1-bin-hadoop2.6

将相关配置添加到环境变量中,vim  /etc/profile

在centOS中安装spark2.1.1_spark

刷新配置  source /etc/profile

配置spark,复制slaves.template 和spark-env.sh.template 如图,添加配置

在centOS中安装spark2.1.1_hadoop_02

vim spark-env.sh在末尾添加如下配置 根据自己的目录配置

在centOS中安装spark2.1.1_scala_03 配置slaves   worker 的地址

vim slaves  如果你不配置这个文件,就是单机启动,

在centOS中安装spark2.1.1_spark_04

可以先单机启动,看看是否正常,查看spark版本 spark-shell  

如果启动spark shell时没有指定master地址,但是也可以正常启动spark shell和执行spark shell中的程序,其实是启动了spark的local模式,该模式仅在本机启动一个进程,没有与集群建立联系。

指定机器启动

spark-shell \

--master spark://192.168.124.140:7077 \             //指定Master的地址

--executor-memory 2g \                  //指定每个worker可用内存为2G

--total-executor-cores 2                 //指定整个集群使用的cup核数为2个

在centOS中安装spark2.1.1_apache_05

可以正常启动之后,将spark目录复制到worker上

scp -r /usr/local/spark-2.1.1-bin-hadoop2.6 192.168.124.143:/usr/local/
scp -r /usr/local/spark-2.1.1-bin-hadoop2.6 192.168.124.144:/usr/local/

启动spark 进入spark目录的sbin目录下,在启动spark之前需要先启动hadoop

./start-all.sh 

使用jps命令查看是否启动成功  master

在centOS中安装spark2.1.1_vim_06

worker

在centOS中安装spark2.1.1_hadoop_07

使用浏览器访问也可以查看

在centOS中安装spark2.1.1_apache_08

在搭建环境时,我遇到过俩个错误,不知道是不是版本原因,我换成上面的版本,就没出现这些错误了。也许是别的原因

 192.168.124.143: starting org.apache.spark.deploy.worker.Worker, logging to /usr/local/spark-2.4.0-bin-hadoop2.6/logs/spark-root-org.apache.spark.deploy.worker.Worker-1-hadoop3.out
192.168.124.143: failed to launch: nice -n 0 /usr/local/spark-2.4.0-bin-hadoop2.6/bin/spark-class org.apache.spark.deploy.worker.Worker --webui-port 8081 spark://hadoop1:7077

 

failed to launch: nice -n 0 /usr/local/spark-2.4.0-bin-hadoop2.6/bin/spark-class org.apache.spark.deploy.master.Master --host hadoop1 --port 7077 --webui-port 8080
/usr/local/spark-2.4.0-bin-hadoop2.6/bin/spark-class: line 71: /usr/local/scala2.11/bin/java: No such file or directory