一、伪分布式
- 下载安装压缩包spark官网
- 准备3台虚拟机,我这里的虚拟机主机名分别为 bigdata111、bigdata112、bigdata113
- 上传安装压缩包到虚机bigdata111的/opt/software【自己创建的目录】目录
- 将spark压缩包解压到指定目录
[root@bigdata111 scala]# cd /opt/software/
[root@bigdata111 software]# tar -zxvf spark-2.1.1-bin-hadoop2.7.tgz -C /opt/module/
- 修改spark env配置文件
[root@bigdata111 software]# cd /opt/module/spark-2.1.1-bin-hadoop2.7/conf/
[root@bigdata111 conf]# cp spark-env.sh.template spark-env.sh
[root@bigdata111 conf]# vim spark-env.sh
# 在文件最后加上
# JAVA_HOME是jdk的安装目录
export JAVA_HOME=/opt/module/jdk1.8.0_192
export SPARK_MASTER_HOST=bigdata111
export SPARK_MASTER_PORT=7077
- 修改slaves文件
[root@bigdata111 conf]# vim slaves
注释localhost
加上bigdata111
8.启动spark
[root@bigdata111 sbin]# cd /opt/module/spark-2.1.1-bin-hadoop2.7/sbin/
[root@bigdata111 sbin]# ./start-all.sh
starting org.apache.spark.deploy.master.Master, logging to /opt/module/spark-2.1.1-bin-hadoop2.7/logs/spark-root-org.apache.spark.deploy.master.Master-1-bigdata111.out
bigdata111: starting org.apache.spark.deploy.worker.Worker, logging to /opt/module/spark-2.1.1-bin-hadoop2.7/logs/spark-root-org.apache.spark.deploy.worker.Worker-1-bigdata111.out
[root@bigdata111 sbin]#
- 查看是否启动成功,如果进程中有master和worker节点,说明启动成功
root@bigdata111 sbin]# jps
6273 Master
6338 Worker
6420 Jps
[root@bigdata111 sbin]#
- 访问spark管理页面
http://bbigdata1111:8080/
二、完全分布式
master节点 | worker节点 |
---|---|
bigdata111 | bigdata111,bigdata112,bigdata113 |
- 在伪分布式的基础上修改slaves文件
[root@bigdata111 conf]# vim slaves
加上
bigdata112
bigdata113
- 将整个spark目录分发到其他节点上
①bigdata112节点
[root@bigdata111 module]# cd /opt/module/
[root@bigdata111 module]# scp -r spark-2.1.1-bin-hadoop2.7/ bigdata112:/opt/module/
②bigdata113节点
[root@bigdata111 module]# scp -r spark-2.1.1-bin-hadoop2.7/ bigdata113:/opt/module/
- 在master上启动所有节点
[root@bigdata111 /]# cd /opt/module/spark-2.1.1-bin-hadoop2.7/sbin/
[root@bigdata111 sbin]# ./start-all.sh
starting org.apache.spark.deploy.master.Master, logging to /opt/module/spark-2.1.1-bin-hadoop2.7/logs/spark-root-org.apache.spark.deploy.master.Master-1-bigdata111.out
bigdata111: starting org.apache.spark.deploy.worker.Worker, logging to /opt/module/spark-2.1.1-bin-hadoop2.7/logs/spark-root-org.apache.spark.deploy.worker.Worker-1-bigdata111.out
bigdata112: starting org.apache.spark.deploy.worker.Worker, logging to /opt/module/spark-2.1.1-bin-hadoop2.7/logs/spark-root-org.apache.spark.deploy.worker.Worker-1-bigdata112.out
bigdata113: org.apache.spark.deploy.worker.Worker running as process 2332. Stop it first.
[root@bigdata111 sbin]#
- 查看spark管理页面,worker节点有3个节点信息
http://bigdata111:8080/
附
虚拟机之间设置免密登陆步骤,设置免密登陆之后,虚拟机之间传输数据不用登陆
- 在各虚机上生成公钥,输入命令之后一直enter即可,生成一个私钥文件【id_rsa】 和一个公钥文件【id_rsa.pub】
ssh-keygen -t rsa
- 把公钥复制到需要免密登陆的虚机上
ssh-copy-id 主机名
① 主机1上
ssh-copy-id bigdata111
ssh-copy-id bigdata112
ssh-copy-id bigdata113
②主机2上
ssh-copy-id bigdata111
ssh-copy-id bigdata112
ssh-copy-id bigdata113
③主机3上
ssh-copy-id bigdata111
ssh-copy-id bigdata112
ssh-copy-id bigdata113
- 验证是否可免密登陆SSH
[root@bigdata111 sbin]# ssh bigdata112
Last login: Sun Mar 29 16:44:38 2020 from 192.168.2.1
[root@bigdata112 ~]#