apache spark

By | 2020年4月19日

基本介绍

Apache Spark是专为大规模数据处理而设计的快速通用的计算引擎
 。现在形成一个高速发展应用广泛的生态系统。

特点

Spark 主要有三个特点
 :
首先,高级 API 剥离了对集群本身的关注,Spark 应用开发者可以专注于应用所要做的计算本身。
其次,Spark 很快,支持交互式计算和复杂算法。
最后,Spark 是一个通用引擎,可用它来完成各种各样的运算,包括 SQL 查询、文本处理、机器学习等,而在 Spark 出现之前,我们一般需要学习各种各样的引擎来分别处理这些需求。

性能特点

  • 更快的速度
  内存计算下,Spark 比 Hadoop 快100倍。
 

 

   计算时间比较

  • 易用性
  Spark 提供了80多个高级运算符。
  • 通用性
  Spark 提供了大量的库,包括Spark Core、Spark SQL、Spark Streaming、MLlib、GraphX。 开发者可以在同一个应用程序中无缝组合使用这些库。
  • 支持多种资源管理器
  Spark 支持 Hadoop YARN,Apache Mesos,及其自带的独立集群管理器。
 

              spark的体系架构

 

spark的安装部署:

安装部署
准备工作:安装Linux、JDK等等

解压:tar -zxvf spark-2.1.0-bin-hadoop2.7.tgz -C ~/training/

由于Spark的脚本命令和Hadoop有冲突,只设置一个即可(不能同时设置)配置文件:/root/training/spark-2.1.0-bin-hadoop2.7/conf/spark-env.sh

=============伪分布: hadoop153============
修改配置文件:spark-env.sh

export JAVA_HOME=/root/training/jdk1.8.0_144

export SPARK_MASTER_HOST=hadoop153

export SPARK_MASTER_PORT=7077

slaves
hadoop153

启动:sbin/start-all.sh
Spark Web Console(内置Tomcat:8080) http://ip:8080
==============================================

执行Spark Demo程序(hadoop153:伪分布上)

1、执行Spark任务的工具
(1)spark-submit: 相当于 hadoop jar 命令 ---> 提交MapReduce任务(jar文件 )
提交Spark的任务(jar文件 )

Spark提供Example例子:/root/training/spark-2.1.0-bin-hadoop2.7/examples/spark-examples_2.11-2.1.0.jar

执行如下命令:

示例:蒙特卡罗求PI(3.1415926******)

>bin/spark-submit --master  spark://Hadoop153:7077 --class  org.apache.spark.examples.SparkPi  examples/jars/spark-examples_2.11-2.1.0.jar 200

 

 得到结果:

 

 

=============全分布:三台================
Master节点: bigdata112

Worker从节点:bigdata113 bigdata114


修改配置文件:spark-env.sh
export JAVA_HOME=/root/training/jdk1.8.0_144
export SPARK_MASTER_HOST=bigdata112
export SPARK_MASTER_PORT=7077

slaves
bigdata113

bigdata114

复制到从节点上
scp -r spark-2.1.0-bin-hadoop2.7/ root@bigdata113:/root/training
scp -r spark-2.1.0-bin-hadoop2.7/ root@bigdata114:/root/training

在主节点上启动: sbin/start-all.sh

 

请关注公众号获取更多资料

发表评论