标签:sbin 安装centos 虚拟 type 主机名 htm pretty csdn 过程
安装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
在此有必要说明一下,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
下载完成之后上传至虚拟机,解压至任意目录,为了方便管理,我把大数据要用的软件全部安装在/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 版本信息即为成功。
下载地址:http://spark.apache.org/downloads.html
下载完成后上传安装包,然后解压(同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
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
可以编写一个for循环的脚本快速拷贝,具体请参考:
https://blog.csdn.net/weixin_43866709/article/details/88382027
进入到sbin目录,里面存放了很多脚本文件
执行start-all.sh启动spark
启动后,在虚拟机L1上执行jps命令可以查看到有一个Master进程,在虚拟机L3,L4,L5上同样执行jps命令,发现有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
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版本安装,但不要忘记修改配置文件。
spark2.2 + jdk1.8 + centos7集群安装教程(单个Master,不依赖hadoop安装)
标签:sbin 安装centos 虚拟 type 主机名 htm pretty csdn 过程
原文地址:https://www.cnblogs.com/ExMan/p/14307244.html