Spark从集群环境搭建到运行第一个案例 超详细教程!! 您所在的位置:网站首页 spark运行环境搭建依赖是哪三个 Spark从集群环境搭建到运行第一个案例 超详细教程!!

Spark从集群环境搭建到运行第一个案例 超详细教程!!

2024-07-03 15:35| 来源: 网络整理| 查看: 265

Spark从集群环境搭建到运行第一个案例在这里插入图片描述在这里插入图片描述spark是什么?

Apache Spark是一个快速的,多用途的集群计算系统,相对于Hadoop MapReduce将结果保存在磁盘中,Spark使用了内存保存中间结果,支持迭代计算,能在数据尚未写入磁盘时在内存中进行运算。

spark的发展历史 2009年由加州大学伯克利分校AMPLab开创 2010年通过BSD许可协议开源发布 2013年捐赠给Apache软件基金会并切换开源协议到Apache2.0 2014年2月,Spark成为Apache的顶级项目 2014年11月,Spark的母公司Databricks团队使用Spark刷新数据排序世界记录 Spark的组成Spark Core:

包含Spark的基本功能,包含任务调度,内存管理,容错机制等,内部定义了RDDs(弹性分布式数据集),提供了很多APIs来创建和操作这些RDDs。为其他组件提供底层的服务。

Spark SQL:

Spark处理结构化数据的库,就像Hive SQL,Mysql一样,企业中用来做报表统计。

Spark Streaming:

实时数据流处理组件,类似Storm。Spark Streaming提供了API来操作实时流数据。企业中用来从Kafka接收数据做实时统计。

MLlib:

一个包含通用机器学习功能的包,Machine learning lib包含分类,聚类,回归等,还包括模型评估和数据导入。MLlib提供的上面这些方法,都支持集群上的横向扩展。

Graphx:

处理图的库(例如,社交网络图),并进行图的并行计算。像Spark Streaming,Spark SQL一样,它也继承了RDD API。它提供了各种图的操作,和常用的图算法,例如PangeRank算法。

Spark运行流程图在这里插入图片描述在这里插入图片描述

流程介绍

构建Spark Application的应用程序运行环境,启动SparkContext核心 SparkContext向资源管理调度器(Standalone,Mesos,Yarn)申请运行Executor资源,并启动StandaloneExecutorbackend, Executor向SparkContext申请Task SparkContext将应用程序分发给各个Executor SparkContext构建成DAG图,最后由Task Scheduler将Task发送给Executor运行 Task在Executor上运行,运行完释放所有资源 运行一个Spark程序需要经历的流程在这里插入图片描述在这里插入图片描述

1.启动 Drive, 创建 SparkContext应用

2.Client 提交程序给 Drive, Drive 跟Cluster Manager申请集群资源

3.资源申请完毕,在worker中运行Executor

4.Driver 将程序转化为 Tasks, 分发给 Executor 执行

Spark集群环境搭建

1.机器与环境准备:

1.1:准备node-01 node-02 node-03三台机器完成 1.2:三台机器已经正常运行hadoop集群,关闭linux防火墙 1.3:准备好三台机器的java环境

2.下载对应版本的安装包并解压到对应目录(node-01)

代码语言:javascript复制# 下载 Spark 创建(mkdir)/export/softwares export/servers目录 cd /export/softwares wget https://archive.apache.org/dist/spark/spark-2.2.0/spark-2.2.0-bin-hadoop2.7.tgz # 解压 Spark 安装包 tar xzvf spark-2.2.0-bin-hadoop2.7.tgz # 移动 Spark 安装包到对应目录并修改名字 mv spark-2.2.0-bin-hadoop2.7.tgz /export/servers/spark

3.修改对应配置文件

代码语言:javascript复制#修改配置文件`spark-env.sh`, 以指定运行参数 cd /export/servers/spark/conf cp spark-env.sh.template spark-env.sh vi spark-env.sh #将以下内容复制进配置文件末尾 # 指定 Java Home(根据自己机器的路径修改) export JAVA_HOME=/export/servers/jdk1.8.0 # 指定 Spark Master 地址 export SPARK_MASTER_HOST=node01 //主节点 export SPARK_MASTER_PORT=7077 //运行端口 #修改slaves配置文件 cd /export/servers/spark/conf cp slaves.template slaves vi slaves #添加如下内容,node-01 node-01 node-02 node-03

4.分发配置文件

代码语言:javascript复制#将 Spark 安装包分发给集群中其它机器 cd /export/servers scp -r spark root@node02:$PWD scp -r spark root@node03:$PWD 启动 Spark Master 和 Slaves,

5.启动集群

代码语言:javascript复制#cd /export/servers/spark sbin/start-all.sh在这里插入图片描述在这里插入图片描述

6.查看进程

在主节点node-01的机器上 输入JPS 可以看到workers与Master进行开启 在node-02与node-03机器出现Master进程 即算安装完成

7.访问WEBUI界面

要注意的是8080是spark的WEB UI访问端口,7077是master端口,不要搞混 输入http:IP:8080访问WEBUI界面 在这里插入图片描述在这里插入图片描述Spark测试案例运行代码语言:javascript复制#1 进入 Spark 安装目录中 cd /export/servers/spark/ #2 运行 Spark 示例任务 spark-submit运行案例jar包 bin/spark-submit \ --class org.apache.spark.examples.SparkPi \ --master spark://node01:7077,node02:7077,node03:7077 \ --executor-memory 1G \ --total-executor-cores 2 \ /export/servers/spark/examples/jars/spark-examples_2.11-2.2.3.jar \ 100 #3 运行结果 Pi is roughly 3.14在这里插入图片描述在这里插入图片描述

到这里Spark搭建完成.



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有