Spark入门及安装与配置

以下是老男孩教育编写的大数据资料,转载请注明出处:http://www.oldboyedu.com


Hadoop

Hadoop是分布式计算引擎,含有四大模块,common、hdfs、mapreduce和yarn。

并发和并行

并发通常指针对单个节点的应对多个请求的能力,是单一节点上计算能力的衡量,并行通常针对集群来讲,是利用多个节点进行分布式协同作业,我们称之为并行计算。

Spark

快如闪电集群计算引擎,应用于大规模数据处理快速通用引擎,使用内存计算。

1.Speed

内存计算速度是hadoop的100倍以上,硬盘计算是Hadoop是10倍以上,Spark使用高级DAG(Direct acycle graph)执行引擎。

2.易于使用

提供了80+高级算子,能够轻松构建并行应用,也可以使用scala,python,r的shell进行交互式操作。

3.通用性

对SQL、流计算、复杂分析可进行组合应用。spark提供了类库栈,包括SQL、MLlib、graphx和Spark streaming。

4.架构

包括: Spark core、 Spark SQL、 Spark streaming、 Spark mllib和 Spark graphx

5. 到处运行

Spark可以运行在hadoop、mesos、standalone和clound上,同时可以访问多种数据源,如hdfs、hbase、hive、Cassandra、 S3等。

spark集群部署模式

1.local

不需要启动任何Spark进程,使用一个JVM运行Spark所有组件,主要用于调试和测试。

2.standalone

独立模式,需要安装Spark集群,分别启动master节点和worker节点,master是管理节点,worker是task的执行节点。

3.yarn

不需要单独部署Spark集群,可以说根本没有Spark集群的概念。

该模式下,使用的完全是Hadoop的Job执行流程,只是到末端启动任务时使用Spark的Task执行发生,相当于Spark是一个Hadoop的Job,将Spark的所有jar包打入job运行的依赖包中,流程按照hadoop的执行流程来进行。

安装spark

1.下载spark-2.1.0-bin-hadoop2.7.tgz

以下是Spark的官方下载地址:

https://www.apache.org/dyn/closer.lua/spark/spark-2.3.0/spark-2.3.0-bin-hadoop2.7.tgz

2.解压文件到/soft目录下

$>tar -xzvf spark-2.3.0-bin-hadoop2.7.tgz -C /soft

3.创建软连接

创建软连接后,编译各种文件配置以及后期进行版本升级和替换非常方便。

$>cd /soft

$>ln -s spark-2.3.0-bin-hadoop2.7 spark

4.配置环境变量

编辑/etc/profile环境变量文件:

$>sudo nano /etc/profile

在文件末尾添加如下内容:

...

SPARK_HOME=/soft/spark

PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

注意:将Spark的bin目录和sbin目录都添加到环境变量path中,而且Linux使用“:”作为分隔符。

5.环境变量生效

$>source /etc/profile

6.进入Spark-shell命令行

$>/soft/spark/spark-shell

#进入scala命令提示符

$scala>

7.体验Spark-shell

因为Spark使用的scala语言,因此同Scala的使用完全一致。

$scala>1 + 1

#输出结果