一,火花,火花基本概述

  (TOC)

  

一、火花概述

  

1,什么是火花

  

火花是一种快速,通用,可扩展的大数据分析引擎,2009年诞生于加州大学伯克利分校AMPLab, 2010年开源,2013年6月成为Apache孵化项目,2014年2月成为Apache顶级项目。目前,火花生态系统已经发展成为一个包含多个子项目的集合,其中包含SparkSQL,引发流,GraphX, MLlib等子项目,火花是基于内存计算的大数据并行计算框架.Spark基于内存计算,提高了在大数据环境下数据处理的实时性,同时保证了高容错性和高可伸缩性,允许用户将火花部署在大量廉价硬件之上,形成集群.Spark得到了众多大数据公司的支持,这些公司包括Hortonworks, IBM、英特尔、Cloudera, MapR,关键,百度,阿里,腾讯,京东,携程,优酷土豆。当前百度的火花已应用于凤巢,大搜索,直达号,百度大数据等业务;阿里利用GraphX构建了大规模的图计算和图挖掘系统,实现了很多生产系统的推荐算法;腾讯火花集群达到8000台的规模,是当前已知的世界上最大的火花集群。

  

2,火花优势

  

?在这里必须对比MapReduce, MapReduce最大的性能短板就在于洗牌过程中,会将中间结果输出到磁盘上(也就是hdfs上),这个过程中至少会产生6次的IO。也正是这些频繁的IO使得先生的性能不尽人意。
?对于火花来说,中间结果是都在内存中的检查点(另说),就从这点来说,就少了很多IO导致的性能问题。当然这只是其中一点,后面会细说

  

3,火花的特点

  

3.1快

  

与Hadoop MapReduce的相比,引发基于内存的运算速度要快100倍以上,即,使火花基于硬盘的运算也要快十倍.Spark实现了高效的DAG执行引擎,从而可以通过内存来高效处理数据流。

  

3.2易用

  

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

  

3.3通用

  

火花提供了统一的解决方案.Spark可以用于批处理,交互式查询(SQL)火花,实时流处理(火花流),机器学习(火花MLlib)和图计算(GraphX)。这些不同类型的处理都可以在同一个应用中无缝使用.Spark统一的解决方案非常具有吸引力,毕竟任何公司都想用统一的平台去处理遇到的问题,减少开发和维护的人力成本和部署平台的物力成本。
另外火花还可以很好的融入Hadoop的体系结构中可以直接操作HDFS,并提供蜂巢alt="一,火花,火花基本概述">

  

?图2.1火花架构

  

火花大致有几个大组件,分别为:司机,大师(集群管理器),工人。
一,火花,火花基本概述

  

?图2.2火花工作任务图

  

上面这图说明了每个组件的功能。

  

2部署

  

火花可以部署在以上几种环境之上:
独立:火花内置的资源管理器
纱:hadoop的资源管理器
便
Amazon EC2
使用scala版本为scala2.11.8,火花版本为spark-2.1.0-bin-hadoop2.7。
jdk版1.8本,hadoop版本2.8.4

  

2.1伪分布式搭建

  

解压好火花程序之后,进入解压目录下。修改配置文件:

  
 <代码> cd相依
  cp spark-env.sh。模板spark-env.sh
  vim spark-env.sh
  添加以下内容:
  出口JAVA_HOME=/opt/模块/jdk1.8.0_144
  #指定主节点主机名以及端口
  出口SPARK_MASTER_HOST=bigdata121这里自己按实际的ip改,为掌握节点
  出口SPARK_MASTER_PORT=7077
  
  cp的奴隶。模板的奴隶
  vim的奴隶
  #配置从节点主机名,指定工人节点主机
  bigdata121  
  

配置完成后,启动集群:

  
 <代码> cd sbin
  。/start-all.sh
  jps查看是否有大师和工人进程
  20564年JobHistoryServer
  127108年译本
  51927年工人
  41368年ResourceManager
  11130年SecondaryNameNode
  10875年NameNode
  41467年NodeManager
  51868年主
  10973年DataNode  
  

2.2全分布式搭建

  

基本和伪分布式是一样的,也就是conf/奴隶文件中配置多几个工人节点而已,然后照样启动集群就好了。
搭建完成了可以进入http://masterIP: 8080查看集群状态

  

3,主节点哈部署

  

?在火花中,主人节点作为整个集群的管理者,是单点的,容易发生单点故障,所以为了保障主节点的可用性,需要给它实现HA

  

3.1基于文件系统的单点恢复

一,火花,火花基本概述