spark2.2 + jdk1.8 + centos7集群安装教程(单个Master,不依赖hadoop安装)

1.准备环境

安装centos7,在此我准备了五个虚拟机,分别命名为L1,L2,L3,L4,L5.计划在L1上面运行Master节点,在L3,L4,L5上面运行Worker节点。
网络配置以及ssh免密登陆配置不再详细讲解,请参考我的另外一篇博客:
虚拟机网络配置以及准备工作:
https://blog.csdn.net/weixin_43866709/article/details/87977822

SSH免密登录配置:
https://blog.csdn.net/weixin_43866709/article/details/87982019

2.安装JDK1.8

在此有必要说明一下,spark集群,包括hadoop集群和JDK是有不同的版本对应的,这个具体版本对应可以参考官网,我用的是spark2.2.3-bin-hadoop,它所支持的JDK版本是1.8,所以要安装JDK1.8.

先去官网下载JDK1.8的tar包,下载链接为:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Java官网

下载完成之后上传至虚拟机,解压至任意目录,为了方便管理,我把大数据要用的软件全部安装在/home/hadoop/app/下。
解压命令为:

tar -zxvf 包存放目录 -C 解压的目录(/home/hadoop/app)

解压完成后,配置环境变量,环境变量可以在/etc/profile中配置,也可以在~/.bashrc中配置,具体区别请参考:https://blog.csdn.net/weixin_43866709/article/details/88014346
此处我在~/.bashrc中配置,打开该配置文件,在文件末尾添加如下内容:

sudo vim ~/.bashrc
export JAVA_HOME=jdk安装路径
export PATH=$PATH:$JAVA_HOME/bin

添加完保存退出后,执行source ~/.bashrc使配置文件生效。(如果在/etc/profile中配置,生效的命令为. /etc/profile

设置完成后查看是否成功:

java -version

如果出现java 版本信息即为成功。

3.下载spark安装包

下载地址:http://spark.apache.org/downloads.html
spark官网
下载完成后上传安装包,然后解压(同JDK操作)
修改配置文件:
1.解压完成后,进入到conf目录下面,先修改两个文件名,分别是spark-env.sh,template和slaves.template,修改为spark-env.sh和slaves

2.然后打开spark-env.sh
在文件末尾添加:

export JAVA_HOME=/home/hadoop/app/jdk1.8.0_201     //Java安装目录
export SPARK_MASTER_HOST=192.168.xx.xxx   //Master节点IP(或者主机名,用主机名的话需要在虚拟机中添加主机和IP地址的映射)
export SPARK_MASTER_PORT=7077             //Master节点的端口(RPC通信端口),默认为7077

spark-env.sh配置文件
3.再打开slaves文件,在文件末尾添加:

L3
L4              //slaves文件是spark集群确定Worker节点的配置文件,所以里面添加的是Worker节点
L5                              的IP

4.修改~/.bashrc文件,添加spark环境变量

export SPARK_HOME=/home/hadoop/app/spark-2.2.3-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
//此处应注意PATH要放在SPARK_HOME后面
//此处$SPARK_HOME/sbin不建议添加到配置文件中,因为如果安装的还有Hadoop的话,当执行sbin/start-all.sh时,不知道启动的是Hadoop还是spark,所以在添加配置文件的时候,不建议把应用的sbin目录添加进来。

修改完成后执行source ~/.bashrc

4.将配置好的spark安装程序拷贝给其他机器

可以编写一个for循环的脚本快速拷贝,具体请参考:
https://blog.csdn.net/weixin_43866709/article/details/88382027

5.启动Spark

进入到sbin目录,里面存放了很多脚本文件
执行start-all.sh启动spark
启动后,在虚拟机L1上执行jps命令可以查看到有一个Master进程,在虚拟机L3,L4,L5上同样执行jps命令,发现有Worker进程,即表示启动成功。
Master节点
Worker节点
还可以通过web界面可以查看管理spark集群,管理页面的url为:Master所在机器的端口+8080端口
(8080是进入spark管理页面的端口,而之前配置文件中添加的7077是spark集群Master节点和Worker节点通信的端口,不要混淆了)

如果无法进入spark集群的web管理页面,可能是centos防火墙服务未关闭
执行下面命令关闭防火墙:

systemctl stop firewalld.service          //停止firewall
systemctl disable firewalld.service       //禁止firewall开机启动
firewall-cmd --state                     //查看默认防火墙状态

关闭spark集群:同样进入到sbin目录,执行stop-all.sh

6.安装过程中可能会遇到的问题

1.启动spark集群报错
报错类型是:无法找到命令
原因:1.spark-env.sh配置文件配置错误,请仔细检查是否有误
2.~/.bashrc文件中PATH要位于SPARK_HOME后面

报错类型:
starting org.apache.spark.deploy.worker.Worker, logging to /usr/spark/sbin/…/logs/spark-hadoop-org.apache.spark.deploy.worker.Worker-1-slave1.out

failed to launch org.apache.spark.deploy.worker.Worker

full log in /usr/spark/sbin/…/logs/spark-hadoop-org.apache.spark.deploy.master.Master-1-master.out
原因:spark版本于Java版本不对应,建议删除已经安装的JDK,重新选择对应的JDK版本安装,但不要忘记修改配置文件。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值