文章目录
- 前言
- 一、spark是什么?
- 二、基于虚拟机Spark搭建
- (一)搭建Spark伪分布式步骤
- (二)搭建Spark集群模式步骤
- 总结
前言
基于MapReduce的计算引擎通常会将中间结果输出到磁盘上,进行存储和容错。出于任务管道承接的考虑,当一些查询翻译到MapReduce任务时,往往会产生多个Stage,而这些串联的Stage又依赖于底层文件系统(如HDFS)来存储每一个Stage的输出结果。Spark是MapReduce的替代方案,而且兼容HDFS、Hive,可融入Hadoop的生态系统,以弥补MapReduce的不足。
一、Spark是什么?
Apache Spark 是一种用于大数据工作负载的分布式开源处理系统。它使用内存中缓存和优化的查询执行方式,可针对任何规模的数据进行快速分析查询。它提供使用 Java、Scala、Python 和 R 语言的开发 API,支持跨多个工作负载重用代码—批处理、交互式查询、实时分析、机器学习和图形处理等。您会发现各行业的众多组织都使用它,其中包括 FINRA、Yelp、Zillow、DataXu、Urban Institute 和 CrowdStrike。Apache Spark 已经成为最受欢迎的大数据分布式处理框架之一。
二、基于虚拟机Spark搭建
(一)搭建Spark伪分布式步骤
1.下载spark(与Hadoop版本相对应的版本)https://archive.apache.org/dist/spark/
2.通过xftp上传软件包到Linux系统上
2.解压,通过xshell 解压命令:软件sudo tar -zxvf spark-2.4.7-bin-hadoop2.7 -C /opt/
3.进入此目录命令:cd /opt/
修改spark名称sudo mv spark-2.4.7-bin-hadoop2.7 spark-2.4.7。查看ls。
4.创建日志文件并修改其权限
使用命令:cd spark-2.4.7;sudo mkdir logs;sudo chmod 777 logs
5.启动hadoop:start-all.sh
6.修改spark配置
(1)使用命令:cd conf
sudo cp spark-env.sh.template spark-env.sh
sudo vi spark-env.sh
export JAVA_HOME=/usr/local/java/jdk1.8.0_301
export HADOOP_HOME=/usr/local/hadoop-2.10.1
export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
export SPARK_MASTER_IP=master
export SPARK_LOCAL_IP=master
(2)使用命令修改:(#修改为master )sudo vi slaves
(3)配置jdk路径
7.启动spark
在sbin中执行: cd ../sbin ;然后在执行 ./start-all.sh
8.使用jps查看进程
(二)搭建Spark集群模式步骤
1.重新解压sudo tar -zxvf spark-2.4.7-bin-hadoop2.7.tgz -C /opt/
2. 修改spark名称
3.创建日志文件并修改其权限
4.在配置文件中修改配置
sudo mv spark-env.sh.template spark-env.sh
#weifenbus
export JAVA_HOME=/usr/local/java/jdk1.8.0_301
export HADOOP_HOME=/usr/local/hadoop-2.10.1
export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
export SPARK_MASTER_IP=master
export_SPARK_MASTER_PORT=7077
export_SPARK_WORKER_MEMORY=512m
export_SPARK_WORKER_CORES=1
export_SPARK_EXECUTOR_MEMORY=512m
export_SPARK_EXECUTOR_CORES=1
export_SPARK_WORKER_INSTANCES=1
5.修改slaves文件和spark-defaults.cof文件
命令:sudo vi slaves(#增加slave1、slave2)
命令修改:sudo vi spark-defaults.conf
spark.master spark://master:7077
spark.eventLog.enabled true
spark.eventLog.dir hdfs://master:9000/spark-logs
6.把配置好spark文件夹复制到slave1和slave2
sudo scp -r /opt/spark @slave1:/opt/
sudo scp -r /opt/spark @slave2:/opt/
7.在三个节点的spark下分别创建一个work目录
8.启动spark
cd ../sbin
./start-all.sh
9.使用jps查看进程
总结
Speak伪分布式的基本和集群模式的基本搭建,如果集群开启后发现从节点没有Worker,分别在从节点上面创建一个work目录。