徐雷 frank 2019-04-09 19:16:50 浏览 240 评论 0
Linux
python
分布式
大数据
- java
- hadoop
- Ubuntu
- Apache
实战
集群
测试
spark
安装
摘要: Spark 是一个开源的大数据分析引擎, 在 Hadoop 生态系统中非常的重要组成部分, 主要的作用就是分析处理大数据, Spark 在大数据生态中的作用是替代之前的 mapreduce 引擎. Spark 的性能测试表名将大数据分析处理的性能提高了 100 倍.
Spark 是一个开源的高性能大数据分析引擎, 在 Hadoop 生态系统中非常的重要组成部分, 主要的作用就是分析处理大数据, Spark 在大数据生态中的作用是替代之前的 mapreduce 引擎. Spark 的性能测试表名将大数据分析处理的性能提高了 100 倍. Apache Spark 使用最先进的 DAG 调度程序, 查询优化器和物理执行引擎, 实现批处理和流数据的高性能分析处理.
Spark 可以使用 Java,Scala,Python,R 和 SQL 快速编写大数据应用程序. Spark 提供 80 多个高级操作符, 可以轻松构建并行应用程序. 这也是我们为什么要学习 Spark 的原因.
1, 大数据分析引擎 Spark 介绍
Apache Spark 是高性能开源大数据分析引擎. 它提供 Java,Scala,Python 和 R 中的高级 API, 以及支持通用执行图的优化引擎. 它还支持一组丰富的高级工具, 包括用于 SQL 和结构化数据处理的 Spark SQL, 用于机器学习的 MLlib, 用于图形处理的 GraphX 和 Spark Streaming.
Apache Spark 是一个开源的分布式通用集群计算框架. 最初由加州大学伯克利分校的 AMPLab 开发, Spark 代码库后来被捐赠给 Apache 软件基金会, 该基金会从那时起就一直在维护它. Spark 提供了一个接口, 用于使用隐式数据并行和容错来编程整个集群.
官方网站; http://spark.apache.org/
2,Spark 版本
最新的版本, 2.4, 可以下载最新的版本进行安装.
- Version Original release date Latest version Release date
- 0.5 2012-06-12 0.5.1 2012-10-07
- 0.6 2012-10-14 0.6.2 2013-02-07[36]
- 0.7 2013-02-27 0.7.3 2013-07-16
- 0.8 2013-09-25 0.8.1 2013-12-19
- 0.9 2014-02-02 0.9.2 2014-07-23
- 1.0 2014-05-26 1.0.2 2014-08-05
- 1.1 2014-09-11 1.1.1 2014-11-26
- 1.2 2014-12-18 1.2.2 2015-04-17
- 1.3 2015-03-13 1.3.1 2015-04-17
- 1.4 2015-06-11 1.4.1 2015-07-15
- 1.5 2015-09-09 1.5.2 2015-11-09
- 1.6 2016-01-04 1.6.3 2016-11-07
- 2.0 2016-07-26 2.0.2 2016-11-14
- 2.1 2016-12-28 2.1.3 2018-06-26
- 2.2 2017-07-11 2.2.3 2019-01-11
- 2.3 2018-02-28 2.3.3 2019-02-15
- 2.4 2018-11-02 2.4.0 2018-11-02
- 2.4 2019-03-31 2.4.1 2019-03-31
- https://spark.apache.org/downloads.html
3, 安装 Java
安装开源的 JDK8, 免费, 不会引起收费问题.
sudo apt install default-jdk
查看安装版本 Java -version
4, 安装 Spark
我们选择下载最新的 spark-2.4.1, 这里先安装单节点, 独立模式.
wget https://mirrors.tuna.tsinghua.edu.cn/apache/spark/spark-2.4.1/spark-2.4.1-bin-hadoop2.7.tgz
解压安装文件, 这里是有 tar 工具解压
tar -xf spark-2.4.1-bin-hadoop2.7.tgz
移动
配置参数和环境变量
sudo mv spark-2.4.1-bin-hadoop2.7 /usr/lib/spark
修改文件夹目录, 方便配置环境变量, 后期使用, 以后可以选择和 Hadoop 集成. 这里我们先使用单节点模式. 暂时不做扩展.
5, 启动 Spark
我们可以启动一个终端, 输入启动命令, 来启动 Spark 进程, 单独一个服务进程.
$SPARK_HOME/sbin/start-master.sh
后续我们可以用来搭建集群模式. 当然也可以对接 Hadoop 存储系统.
6, 测试 Spark Shell
Spark 的 shell 提供了一种学习 API 的简单方法, 可以以交互方式分析数据, 这个就是个客户的命令窗口, 但是是个强大的工具. 它可以在 Scala(在 Java VM 上运行, 因此是使用现有 Java 库的好方法) 或 Python 中使用. 通过在 Spark 目录中运行以下命令来启动它:
可以打开终端进行测试, 输入 spark-shell: 客户的命令
$SPARK_HOME/bin/spark-shell
如果正常出现下面的提示信息, 表示已经成功安装 Spark.
这里使用可以使用 Scala 语言, 也是基于 Java JVM 的一种语言.
Spark 分析引擎的主要抽象是一个名为 Dataset 的分布式项目集合. 我们 可以从 Hadoop InputFormats(例如 HDFS 文件) 或通过转换其他数据集来创建数据集, 比如读取 MySQL 数据库或者 MongoDB 数据库的数据进行分析. 现在我们从 Spark 安装目录下的 README 文件的文本创建一个新的数据集, 并且编写一顿代码统计字符单词的数量, 代码比较简单, 做例子参考.
- val textFile = spark.read.textFile("README.md")
- textFile.count()
这里能看到结果是 105 个.
对于官方的单词统计的例子 Word-count 示例, 我们将从参数 --master local [8] 开始, 这表示 spark shell 的上下文启动 8 个线程在本地节点上作为 master 节点.
- spark-shell --master local[8]
- println("Hello Spark")
7,Spark 管理界面
可以使用浏览器打开管理界面: http://10.0.0.48:4040/ .IP 地址可以换成本机的 IP 或者域名.
可以看到我们 Job, 以及执行的时间, 任务状态信息等.
后续集群模式, 我们也可以使用这个页面来管理集群, 默认看到的应该是空的, 集群没有搭建完成, 后续再学学集群的搭建, 以及 Hadoop 其他组件的集成实战.
参考资料:
- http://spark.apache.org/
- https://en.wikipedia.org/wiki/Apache_Spark
阿里巴巴 Java 群超过 4800 人
进群方式: 钉钉扫码入群
阿里巴巴 MongoDB 群
来源: https://yq.aliyun.com/articles/697411