Spark入门

Spark概述

什么是Spark

Spark是一种快速、通用、可扩展的大数据分析引。基于内存计算。到目前为止,已经发展成为一个完善的生态系统,其中包含SparkSQL、Spark Streaming、GraphX、MLlib等组件。

为什么要学习Spark

Spark类似于MapReduce,基于MapReduce实现分布式计算,拥有MapReduce拥有的所有优点,并且Spark中的Job的运行结果可以保存在内存中,不需要读取HDFS,非常的方便快捷。

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

Spark特点

1. 快,与Hadoop的Map Reduce相比,Spark基于内存运算快了100倍以上,基于硬盘快了10倍以上,实现了搞笑的DAG引擎,可以基于内存高效的处理数据流

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

3. 通用,Spark提供了同意的解决方案。Spark可以用于批处理、交互式查询(Spark SQL)、实时流处理(Spark Streaming)、机器学习(Spark MLlib)和图计算(GraphX)。这些不同类型的处理都可以在同一个应用中无缝使用。

4.兼容性,Spark可以非常方便的与其他的开源产品进行融合,比如,Spark可以使用Hadoop的YARN和Apache Mesos作为他的资源管理和调度器。并且可以处理所有Hadoop支持的数据,包括HDFS、HBase和Cassandra等。这对于已经部署Hadoop集群的用户特别重要,因为不需要做任何数据迁移就可以使用Spark的强大处理能力。Spark也可以不依赖于第三方的资源管理和调度器,它实现了Standalone作为其内置的资源管理和调度框架,这样进一步降低了Spark的使用门槛,使得所有人都可以非常容易地部署和使用Spark。此外,Spark还提供了在EC2上部署Standalone的Spark集群的工具。

Spark集群快速安装

1. 官网地址

http://spark.apache.org/downloads.html

2. 创建目录 mkdir /opt/bigdata

3. 上传并解压 tar -zxvf spark-2.0.2-bin-hadoop2.7.tgz

4. 重命名目录 mv spark-2.0.2-bin-hadoop2.7 spark-2.0.2

5.修改配置文件 cd /opt/bigdata/ spark-2.0.2/conf

cp spark-env.sh.template spark-env.sh

vim spark-env.sh

#配置java环境变量(不要怂,直接添加以下内容)

export JAVA_HOME=/opt/bigdata/jdk1.7.0_67

#指定spark老大Master的IP

export SPARK_MASTER_HOST=node02

#指定spark老大Master的端口

export SPARK_MASTER_PORT=7077

保存并退出,

cp slaves.template slaves

vim slaves(添加集群DataNode节点信息)

6. 集群所有的虚拟机都要配置,当然你可以发送

scp -r /opt/bigdata/ spark-2.0.2 node03:/opt/bigdata

7. 主节点配置spark环境变量,并生效

export SPARK_HOME=/opt/bigdata/spark-2.0.2

export PATH=$PATH:$SPARK_HOME/bin

8. 开心的启动spark(关闭)

/opt/bigdata/spark-2.0.2/sbin/start-all.sh

/opt/bigdata/spark-2.0.2/sbin/stop-all.sh

启动成功后可以通过http://主节点:8080访问web界面

如果想看Spark的运行机制,下面附上链接,很全面

史上最详细的spark运行过程讲解

你可能感兴趣的:(scala,大数据,spark)