Standalone集群模式
实验环境
·操作机:Windows 7
·目标机:3个节点,配置如下:
实验工具
·Web浏览器:常用的有谷歌浏览器,火狐浏览器等
·Xshell6:是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。
·Xftp6:是一个功能强大的SFTP、FTP 文件传输软件。
实验内容
Standalone是Spark自带的资源管理器,独立模式,自带完整的服务,可单独部署到一个集群中,无需依赖任何其他资源管理系统。
本实验通过真实的集群环境进行spark集群的搭建。
实验步骤
1.设置三台机子间的免密登陆
(1)通过xshell进入master主节点设置到master、slave1和slave2的免密登陆
cd ~/.ssh
ssh-keygen –t rsa
这里要回车几下,会在当前目录生成两个文件,一个公钥一个私钥
(2)将公钥拷贝到其它机器上,实现免密码登录
ssh-copy-id master
ssh-copy-id slave1
ssh-copy-id slave2
这样会在slave1 的~/.ssh/目录下生成一个authorized_keys 就可以实现master免登录到3个节点,如下:
ssh slave2
(3)在另外两台子节点上重复此(1)(2)操作,使三台服务器间彼此免密登陆。
- 安装JDK
(1)在/opt/下创建soft-install文件夹来存放安装的软件:mkdir /opt/soft-install
(2)创建soft目录来安装软件:mkdir /opt/soft
(3)Jdk下载地址:
(4)使用xftp6将压缩包传到服务器
(5)将jdk解压到/opt/soft/目录下:
tar -zxvf jdk-8u201-linux-x64.tar.gz -C /opt/soft/
(6)修改环境变量
sudo vi /etc/profile
(7)在文件最后下添加:
export JAVA_HOME=/opt/soft/jdk1.8.0\_201
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
(8)刷新配置文件:source /etc/profile
(9)将java同步到slave1和slave2
rsync –av /opt/soft/jdk1.8.0_201/ slave1:/opt/soft/jdk1.8.0_201
rsync –av /opt/soft/jdk1.8.0_201/ slave2:/opt/soft/jdk1.8.0_201
(10)通过ssh到slave1和slave2进行配置java环境变量
ssh slave1
sudo vi /etc/profile
(11)在后面添加
export JAVA_HOME=/opt/soft/jdk1.8.0\_201
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
(12)source /etc/profile
(13)ssh slave2
sudo vi /etc/profile
重复(11)(12)
3.安装scala
(1)官网下载:https://www.scala-lang.org/download/2.11.12.html
(2)通过xftp发送到服务器
(3)解压到/opt/soft
tar -zxvf scala-2.11.12.tgz -C /opt/soft/
(4)修改环境变量
vi /etc/profile
(5)在最后添加:
(6)刷新配置文件
source /etc/profile
(7)检查是否安装完成
scala -version
4.安装spark
(1)通过官网下载spark
https://www.apache.org/dyn/closer.lua/spark/spark-2.4.0/spark-2.4.0-bin-hadoop2.7.tgz
(2)使用xftp发送到服务器
(3)将spark安装包解压到/opt/soft
tar -zxvf spark-2.4.0-bin-hadoop2.7.tgz -C /opt/soft/
(4)重命名spark根目录
mv /opt/soft/spark-2.4.0-bin-hadoop2.7/ /opt/soft/spark-2.4.0
(5)配置环境变量
vi /etc/profile
(6)最尾巴加入
export SPARK_HOME=/opt/soft/spark-2.4.0
export PATH=$PATH:$SPARK_HOME/bin
(7)刷新环境变量
source /etc/profile
5.配置spark
(1)首先我们把缓存的文件spark-env.sh.template改为spark识别的文件spark-env.sh
cp spark-env.sh.template spark-env.sh
(2)修改spark-env.sh,在尾巴加入:
export JAVA_HOME=/opt/soft/jdk1.8.0\_201
export SCALA_HOME=/opt/soft/scala-2.11.12
export SPARK_MASTER_IP=master #本地的ip或主机名
export SPARK_WORKER_MEMORY=4g
export SPARK_WORKER_CORES=2
export SPARK_WORKER_INSTANCES=1
(3)把缓存的文件slaves.template改为spark识别的文件slaves
cp slaves.template slaves
vi slaves
(4)在最后面修改为:
6.将spark同步到slave1和slave2
使用rsync命令
rsync –av /opt/soft/spark-2.4.0/ slave1:/opt/soft/spark-2.4.0
rsync –av /opt/soft/spark-2.4.0/ slave2:/opt/soft/spark-2.4.0
7.启动spark
(1)cd /opt/soft/spark-2.4.0
(2)./sbin/start-all.sh
(3)通过jsp查看进程
master中:
slave1中:
slave2中:
(4)成功打开Spark集群之后可以进入Spark的WebUI界面,可以通过(服务的ip地址:8080)进行访问
(5)打开Spark-shell
spark-shell
进入了spark-shell
(6)同时,因为shell在运行,可以通过浏览器(服务的ip地址:4040)进行访问