文章目录
环境准备
在之前搭建的Hadoop集群和zookeeper基础之上搭建Spark集群环境。
Linux系统:Centos6.10
Linux集群:bigdata01, bigdata02, bigdata03
安装配置
基本思路是现在bigdata01上安装,然后在拷贝到bigdata02,bigdata03上。
下载
http://spark.apache.org/downloads.html
下载spark-2.1.3-bin-hadoop2.7.tgz
拷贝到Linux机器bigdata01的/opt/downloads/目录,然后执行
cd /opt/downloads/
tar -zxf spark-2.1.3-bin-hadoop2.7.tar.gz /opt
配置环境变量
vi /etc/profile
末尾添加
export SPARK_HOME=/opt/spark-2.3.1-bin-hadoop2.7
并在path后添加路径
SPARK_HOME/sbin
保存后使配置生效
source /etc/profile
修改conf目录下文件
修改slaves文件配置从结点,默认的localhost删掉,修改为:
bigdata02
bigdata03
复制程序到从结点
scp -r /opt/spark-2.3.1-bin-hadoop2.7 bigdata02:/opt/
scp -r /opt/spark-2.3.1-bin-hadoop2.7 bigdata03:/opt/
启动Spark集群
在bigdata01机器上启动Spark
进入/opt/spark-2.3.1-bin-hadoop2.7/sbin目录输入
./start-all.sh
第一次启动失败,先运行以下命令关掉
./stop-all.sh
再次启动
./start-all.sh
启动时的错误
我在部署时的报错如下图:
原因是集群里的机器使用的Java版本不统一:在bigdata02和bigdata03机器运行java -version命令,发现使用的默认java是OpenJDK1.7.0_181,与bigdata01的版本1.8.0_162不同,统一后重新启动成功。
(统一方法:bigdata02机器已经安装了1.8.0_162并且配置了环境变量,但是使用java -version查看还是默认的java版本。使用which java和which javac命令查看具体路径,发现java指向/usr/bin/java 是个软链接,路径指向/etc/alternatives/java。删除此软链接,并且重新新建软链接:
rm -rf /usr/bin/java
ln -s $JAVA_HOME/bin/java /usr/bin/java
此时java -version命令查看版本为1.8.0_162)
验证是否成功
查看进程
在bigdata01,bigdata02,bigdata03机器上输入jps命令
bigdata01显示Master进程,其他两台机器显示Work进程,即为部署成功。
浏览器查看
在浏览器地址栏输入bigdata01:8080
出现界面Spark Master at spark://bigdata01:7077