ubuntu 16.04 搭建完全分布式之:spark搭建

还是那个问题,什么是spark,为什么我需要spark?

是什么

Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。

为什么

Spark,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是——Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。

基于MapReduce的计算引擎通常会将中间结果输出到磁盘上,进行存储和容错。出于任务管道承接的考虑,当一些查询翻译到MapReduce任务时,往往会产生多个Stage,而这些串联的Stage又依赖于底层文件系统(如HDFS)来存储每一个Stage的输出结果。

Spark是MapReduce的替代方案,而且兼容HDFS、Hive,可融入Hadoop的生态系统,以弥补MapReduce的不足。

Q:Spark有什么特性?

A:1、高效性

运行速度提高100倍。Apache Spark使用最先进的DAG调度程序,查询优化程序和物理执行引擎,实现批量和流式数据的高性能。

2、易用性

Spark支持Java、Python和Scala的API,还支持超过80种高级算法,使用户可以快速构建不同的应用。而且Spark支持交互式的Python和Scala的shell,可以非常方便地在这些shell中使用Spark集群来验证解决问题的方法。

3、通用性

Spark提供了统一的解决方案。Spark可以用于批处理、交互式查询(Spark SQL)、实时流处理(Spark Streaming)、机器学习(Spark MLlib)和图计算(GraphX)。这些不同类型的处理都可以在同一个应用中无缝使用。Spark统一的解决方案非常具有吸引力,毕竟任何公司都想用统一的平台去处理遇到的问题,减少开发和维护的人力成本和部署平台的物力成本。

4、兼容性

Spark可以非常方便地与其他的开源产品进行融合。比如,Spark可以使用Hadoop的YARN和Apache Mesos作为它的资源管理和调度器,器,并且可以处理所有Hadoop支持的数据,包括HDFS、HBase和Cassandra等。这对于已经部署Hadoop集群的用户特别重要,因为不需要做任何数据迁移就可以使用Spark的强大处理能力。Spark也可以不依赖于第三方的资源管理和调度器,它实现了Standalone作为其内置的资源管理和调度框架,这样进一步降低了Spark的使用门槛,使得所有人都可以非常容易地部署和使用Spark。此外,Spark还提供了在EC2上部署Standalone的Spark集群的工具。
————————————————
版权声明:本文为CSDN博主「游骑小兵」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ARPOSPF/article/details/98050639

安装

https://blog.csdn.net/lukabruce/article/details/81741888
还是那个问题,什么是spark,为什么我需要spark?

是什么

Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。

为什么

Spark,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是——Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。

基于MapReduce的计算引擎通常会将中间结果输出到磁盘上,进行存储和容错。出于任务管道承接的考虑,当一些查询翻译到MapReduce任务时,往往会产生多个Stage,而这些串联的Stage又依赖于底层文件系统(如HDFS)来存储每一个Stage的输出结果。

Spark是MapReduce的替代方案,而且兼容HDFS、Hive,可融入Hadoop的生态系统,以弥补MapReduce的不足。

Q:Spark有什么特性?

A:1、高效性

运行速度提高100倍。Apache Spark使用最先进的DAG调度程序,查询优化程序和物理执行引擎,实现批量和流式数据的高性能。

2、易用性

Spark支持Java、Python和Scala的API,还支持超过80种高级算法,使用户可以快速构建不同的应用。而且Spark支持交互式的Python和Scala的shell,可以非常方便地在这些shell中使用Spark集群来验证解决问题的方法。

3、通用性

Spark提供了统一的解决方案。Spark可以用于批处理、交互式查询(Spark SQL)、实时流处理(Spark Streaming)、机器学习(Spark MLlib)和图计算(GraphX)。这些不同类型的处理都可以在同一个应用中无缝使用。Spark统一的解决方案非常具有吸引力,毕竟任何公司都想用统一的平台去处理遇到的问题,减少开发和维护的人力成本和部署平台的物力成本。

4、兼容性

Spark可以非常方便地与其他的开源产品进行融合。比如,Spark可以使用Hadoop的YARN和Apache Mesos作为它的资源管理和调度器,器,并且可以处理所有Hadoop支持的数据,包括HDFS、HBase和Cassandra等。这对于已经部署Hadoop集群的用户特别重要,因为不需要做任何数据迁移就可以使用Spark的强大处理能力。Spark也可以不依赖于第三方的资源管理和调度器,它实现了Standalone作为其内置的资源管理和调度框架,这样进一步降低了Spark的使用门槛,使得所有人都可以非常容易地部署和使用Spark。此外,Spark还提供了在EC2上部署Standalone的Spark集群的工具。
————————————————
版权声明:本文为CSDN博主「游骑小兵」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ARPOSPF/article/details/98050639

安装

参见https://blog.csdn.net/lukabruce/article/details/81741888

spark-env.sh

export JAVA_HOME=/usr/java/jdk1.8.0_221


export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=4000 
-Dspark.history.retaineApplications=3 
-Dspark.history.fs.logDirectory=hdfs://hadoop11:9000/directory"
export SPARK_DAEMON_JAVA_OPTS="
-Dspark.deploy.recoveryMode=ZOOKEEPER
-Dspark.deploy.zookeeper.url=hadoop11:2181,hadoop12:2181,hadoop13:2181
-Dspark.deploy.zookeeper.dir=/spark"

# SPARK_MASTER_HOST=hadoop11
# SPARK_MASTER_PORT=7077

slaves:

hadoop11
hadoop12
hadoop13

测试使用

初步测试:

添加/spark/bin
试下pyspark
试下/sbin/start-all.sh
发现:jps并没有对应的进程,但是再次运行start-all的时候提示master和worker进程都已经在运行,然后就进入localhost:8080看了一下(后来发现原因了,如果jps找不到说明运行的程序不是该用户的,如果调用sudo jps,就能看到之前用root运行的程序)
在这里插入图片描述
已经在正常运行


接下来是多master模式:

运行/sbin/start-all.sh
进入192.168.200.11:8080看一下
在这里插入图片描述
worked

如果需要做多master,就在其他节点运行一下/sbin/start-master.sh

小开发

请参见这里
https://www.cnblogs.com/purstar/p/6293605.html

在这里插入图片描述

扩展

【关于spark RDD】
Spark RDD及其特性

RDD定义为Resilient Distributed Dataset(弹性分布式数据集),其中每个术语都表示其特性。

Resilient: 通过使用RDD谱系图(DAG)实现容错。因此,当节点发生故障时,可以进行重新计算。
Distributed: Spark RDD的数据集驻留在多个节点中。
Dataset: 您将使用的数据记录。

扩展2

spark 32个算子使用
https://blog.csdn.net/qq_32595075/article/details/79918644

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值