已有条件:已经安装好hadoop2.7.7和JDK1.8.并且集群可以运行。
其中有master,slave1,slave2.
安装包:spark-2.4.3-bin-hadoop2.7.tgz(这里要根据自己的情况定)
一, 下载安装包上传到主节点master上,并用scp命令将它们传到slave1,slave2的bigdata目录下。如下图所示:
二, 分别在三台机器上将它们解压,改名字。并且分别在三个节点上配置环境变量
环境变量如下:
首先进入配置环境变量的下面:cd /etc/profile
根据自己的spark的安装路径往profile文件里面添加下面的代码:
export SPARK_HOME=/root/bigdata/spark
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
然后:
source /etc/profile
参考图如下:
三, 进入master,修改配置文件
cd bigdata/spark/conf
然后将spark-env.sh.template和slaves.template进行重命名。如下图所示:
分别对这两个文件进行配置:
在slaves文件里面将从节点也就是slave1,slave2加进去。
在spark-env.sh中加入:export JAVA_HOME=/root/bigdata/jdk
export SPARK_MASTER_IP=192.168.32.3(注:这个是主节点的IP)
export HADOOP_CONF_DIR=/root/bigdata/hadoop/etc/Hadoop
如下图所示:
然后到spark的sbin 目录下将start-all.sh和stop-all.sh重命名为start-spark-all.sh和stop-all.sh.(这个链接不用管,我实在是去不了,抱歉) 如下图所示:
四, 对slave1,slave2做同样的操作。
(也可以直接将涉及到是文件传过去覆盖。
比如说我们第一步的时候不用scp命令将安装包传到slave1,slave2上,到做完前三步了再将spark传过去。)对于直接传过去这种方法,下面有张图可供参考:
好,继续对slave1,slave2进行操作这个话题:
由于我前面没有给slave1,slave2配置环境变量,所以我直接再master上传过去。记得传过去以后分别在slave里面source文件。
(提醒一下,我的master于slave1,slave2已经实现免密登陆了,所以对这3台机器上的操作我就直接在一台机器上进行了。如果您没有免密登陆,也可以输入密码,然后登陆,不影响的)
五, 当确保环境变量配置好了,spark里面的变量配置好了的时候
到主节点上启动spark集群前要先启动hadoop集群。
spark集群启动
当主节点也就是我的master上面有master,从节点也就是我的slave上有worker时,搭建成功。
然后在浏览器中输入主节点的IP:8080(在这儿我的主节点的ip为192.168.32.3)就可以看到spark集群的情况。
ok,搭建成功