[Spark] 01 - 安装与配置、简要认识目录结构

该博客介绍了Spark集群的安装、配置、启动关闭及目录结构。环境涉及Windows宿主机、CentOS虚拟机等。准备工作包括下载、上传和解压文件。配置涵盖文件设置、复制包、配置环境变量等。还说明了集群的启动关闭方法,以及目录结构用于存放依赖和日志信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境

  • 宿主机:Windows 10 64_bit
  • 虚拟机:VMware 15 pro
    • CentOS 7.5 64_bit(3台:1个master、2个slave)
    • Hadoop-2.6.5
    • MySQL 5.7.26
    • scala-2.11.4
    • spark-2.0.2
  • ssh工具:SecureCRT 7.3

目录

0、准备工作

1、配置

----1.0 配置spark-env.sh文件

----1.1 在slaves文件中添加从节点主机名

----1.2 从主节点master复制【spark和scala包】到从节点slave1和slave2

----1.3 配置环境变量/etc/profile文件

----1.4 主从节点都重新加载环境变量

2、启动、关闭集群

3、认识目录结构

正文

主节点master、从节点slave1和slave2都需要安装spark和scala。

0、准备工作

第一步:下载安装文件(压缩包)
第二步:将下载的文件上传到Linux,下方利用的是SecureCRT的SFTP会话窗口

sftp> pwd
/opt/bigdata
sftp> put E:\share\scala-2.11.4.tgz
Uploading scala-2.11.4.tgz to /opt/bigdata/scala-2.11.4.tgz
  100% 25888KB  25888KB/s 00:00:00     
E:/share/scala-2.11.4.tgz: 26509669 bytes transferred in 0 seconds (25888 KB/s)
sftp> put E:\share\spark-2.0.2-bin-hadoop2.6.tgz
Uploading spark-2.0.2-bin-hadoop2.6.tgz to /opt/bigdata/spark-2.0.2-bin-hadoop2.6.tgz
  100% 180703KB   8604KB/s 00:00:21     
E:/share/spark-2.0.2-bin-hadoop2.6.tgz: 185040619 bytes transferred in 21 seconds (8604 KB/s)
sftp> 

第三步:解压

[root@master bigdata]# tar zxvf spark-2.0.2-bin-hadoop2.6.tgz
...
[root@master bigdata]# tar zxvf scala-2.11.4.tgz
...

1、配置

1.0 配置spark-env.sh文件

[root@master bigdata]# cd spark-2.0.2-bin-hadoop2.6/conf
[root@master conf]# pwd
/opt/bigdata/spark-2.0.2-bin-hadoop2.6/conf
[root@master conf]# cp spark-env.sh.template spark-env.sh
[root@master conf]# vi spark-env.sh

尾部增加下方几句:
export SCALA_HOME=/opt/bigdata/scala-2.11.4
export JAVA_HOME=/opt/bigdata/jdk1.8.0_211
export HADOOP_HOME=/opt/bigdata/hadoop-2.6.5
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
SPARK_MASTER_IP=master
SPARK_LOCAL_DIRS=/opt/bigdata/spark-2.0.2-bin-hadoop2.6
SPARK_DRIVER_MEMORY=1G

1.1 在slaves文件中添加从节点主机名

[root@master conf]# pwd
/opt/bigdata/spark-2.0.2-bin-hadoop2.6/conf
[root@master conf]# cp slaves.template slaves
[root@master conf]# vi slaves

将localhost注释掉,添加slave1和slave2
#localhost
slave1
slave2

1.2 从主节点master复制【spark和scala包】到从节点slave1和slave2

[root@master spark-2.0.2-bin-hadoop2.6]# scp -r /opt/bigdata/spark-2.0.2-bin-hadoop2.6 root@slave1:/opt/bigdata/spark-2.0.2-bin-hadoop2.6

[root@master spark-2.0.2-bin-hadoop2.6]# scp -r /opt/bigdata/spark-2.0.2-bin-hadoop2.6 root@slave2:/opt/bigdata/spark-2.0.2-bin-hadoop2.6

[root@master spark-2.0.2-bin-hadoop2.6]# scp -r /opt/bigdata/scala-2.11.4 root@slave1:/opt/bigdata/scala-2.11.4

[root@master spark-2.0.2-bin-hadoop2.6]# scp -r /opt/bigdata/scala-2.11.4 root@slave2:/opt/bigdata/scala-2.11.4

1.3 配置环境变量/etc/profile文件

[root@master conf]# vi /etc/profile

尾部增加下方:
SPARK_HOME=/opt/bigdata/spark-2.0.2-bin-hadoop2.6
export PATH=$PATH:$SPARK_HOME/bin

并在从节点slave1和slave2添加上述两行:

[root@slave1 slave1]# vi /etc/profile

SPARK_HOME=/opt/bigdata/spark-2.0.2-bin-hadoop2.6
export PATH=$PATH:$SPARK_HOME/bin
[root@slave2 slave2]# vi /etc/profile

SPARK_HOME=/opt/bigdata/spark-2.0.2-bin-hadoop2.6
export PATH=$PATH:$SPARK_HOME/bin

1.4 主从节点都重新加载环境变量

3个节点都重新加载环境变量

[root@master conf]# source /etc/profile

2、启动、关闭集群

启动

[root@master spark-2.0.2-bin-hadoop2.6]# /opt/bigdata/spark-2.0.2-bin-hadoop2.6/sbin/start-all.sh

查看服务进程
master,显示Master进程即可

[root@master spark-2.0.2-bin-hadoop2.6]# jps
32423 Master
32551 Jps
28808 SecondaryNameNode
28667 NameNode
28955 ResourceManager
30398 QuorumPeerMain

slave1和slave2,都显示worker即可

[root@slave1 slave1]# jps
10144 NodeManager
11728 Worker
10514 QuorumPeerMain
11779 Jps
10072 DataNode

浏览器访问:http://master:8080/
在这里插入图片描述

关闭

[root@master spark-2.0.2-bin-hadoop2.6]# /opt/bigdata/spark-2.0.2-bin-hadoop2.6/sbin/stop-all.sh 
slave1: stopping org.apache.spark.deploy.worker.Worker
slave2: stopping org.apache.spark.deploy.worker.Worker
stopping org.apache.spark.deploy.master.Master

访问WEB:

  • namenode在master节点:http://master:50070/
  • resourcemanager在slave1节点:http://slave1:8088
  • 每个节点都有nodemanager:http://master:8042

3、认识目录结构

[root@master spark-2.0.2-bin-hadoop2.6]# tree -L 1
.
├── bin                   --可执行文件(运行脚本)
├── conf                  --配置文件
├── data                  --例子里用到的一些数据
├── examples              --自带的例子一些源代码
├── jars                  --jar包
├── LICENSE
├── licenses              --license协议声明文件
├── logs                  --存放master、worker、history server运行日志
├── metastore_db
├── NOTICE
├── python               --使用python开发程序
├── R                    --R开发程序
├── README.md            --包含一些入门的spark说明
├── RELEASE
├── sbin                 --集群启停,因为spark有自带的集群环境
├── work
└── yarn

16 directories, 6 files

其中,/work目录:用以存放从HttpFileServer下载下来的第三方依赖、及Executor运行时生成的日志信息。

为了解决Executor启动时依赖的Jar问题,Driver在启动时要启动HttpFileServer存储第三方jar包;然后由worker从HttpFileServer来获取。为此HttpFileServer需要创建相应的目录,HttpFileServer创建目录的过程详见于SparkEnv.scalacreate函数,而worker也需要创建相应的目录,即/work

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值