Centos7下Spark下载与安装

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 笔记

Centos7下Spark安装


电脑系统:macOS 10.15.4

虚拟机软件:Parallels Desktop14

操作系统:CentOS 7

JDK版本:jdk1.8.0_162

Hadoop版本:hadoop-2.6.0-cdh5.9.3

Scala版本:scala-2.11.12

Spark版本:spark-2.4.6-bin-hadoop2.6


第一步:软件下载或编译


首先第一步先找到spark的下载地址:


http://spark.apache.org/downloads.html1.png2.png

解释:这里我选择的是spark的2.4.6的版本,原因是我的Hadoop安装的是2.6的版本,这里也可以自己的配置去选择。如果是选择2.4.6版本的话,则官网是给我们提供编译好的版本就不需要我们自己再编译。如上图所示,spark2.4.6均提供好Hadoop2.6和2.7的编译版本,但是低于2.6的版本就是需要我们自己下载源码再去编译。同时也要注意Scala的版本。


第二步:安装软件


(1)上传文件

将本机的安装包上传到虚拟机node1,上传方式:

scp 本机的文件绝对路径 caizhengjie@10.211.55.49:/opt/Hadoop

(2)解压文件

上传成功之后需要对文件赋予权限

chmod u+x spark-2.4.6-bin-hadoop2.6.tgz


解压文件:

tar -zxvf spark-2.4.6-bin-hadoop2.6.tgz

创建软链接:

ln -s spark-2.4.6-bin-hadoop2.6 spark


第三步:Spark的本地模式运行测试


进入spark目录下,这是开启spark

[caizhengjie@node1 spark]$ bin/spark-shell

3.png

这是一个spark的本地模式的运行测试

下面我们做一个词频统计:

/opt/datas目录下,新建一个stu.txt文件,内容如下:

java python hadoop
spring python hadoop java c c++
hbase spark scala
scala python java
linux unix java php
mysql hive hue
scala> val rdd = spark.read.textFile("/opt/datas/stu.txt")
rdd: org.apache.spark.sql.Dataset[String] = [value: string]

统计行数

scala> rdd.count()
res2: Long = 6

以数组的方式返回文件中所有的单词

scala> val lines = rdd.flatMap(x => x.split(" ")).collect
lines: Array[String] = Array(java, python, hadoop, spring, python, hadoop, java, c, c++, hbase, spark, scala, scala, python, java, linux, unix, java, php, mysql, hive, hue)

给数组中的每个数据生成元祖对

scala> val lines = rdd.flatMap(x => x.split(" ")).map(x => (x,1)).collect
lines: Array[(String, Int)] = Array((java,1), (python,1), (hadoop,1), (spring,1), (python,1), (hadoop,1), (java,1), (c,1), (c++,1), (hbase,1), (spark,1), (scala,1), (scala,1), (python,1), (java,1), (linux,1), (unix,1), (java,1), (php,1), (mysql,1), (hive,1), (hue,1))

给数据分组统计

scala> val lines = rdd.flatMap(x => x.split(" ")).map(x => (x,1)).rdd.reduceByKey((a,b) => (a+b)).collect
lines: Array[(String, Int)] = Array((hbase,1), (scala,2), (spark,1), (hive,1), (hadoop,2), (php,1), (c++,1), (python,3), (mysql,1), (linux,1), (java,4), (hue,1), (spring,1), (c,1), (unix,1))

给数据分组统计并排序

scala> val lines = rdd.flatMap(x => x.split(" ")).map(x => (x,1)).rdd.reduceByKey((a,b) => (a+b)).map(x => (x._2,x._1)).sortByKe
lines: Array[(Int, String)] = Array((1,hbase), (1,spark), (1,hive), (1,php), (1,c++), (1,mysql), (1,linux), (1,hue), (1,spring), (1,c), (1,unix), (2,scala), (2,hadoop), (3,python), (4,java))


第四步:Spark服务WEB监控页面


image.png


在启动spark-shell的时候,我们会发现有web访问的网址,端口号默认是4040

但是去浏览器查看的时候,要输入http://IP:4040

image.png

到此为止,spark的单节点的安装与测试到这里就已经结束了!最大的注意点就是spark的版本问题。


第五步:Spark核心概念简介


现在你已经用shell运行了你的第一段Spark程序,是时候对Spark编程作更细致的了解了。


从上层来看,每个 Spark 应用都由一个 驱动器程序 (driver program)来发起集群上的各种 并行操作。驱动器程序包含应用的 main 函数,并且定义了集群上的分布式数据集,还对这 些分布式数据集应用了相关操作。在前面的例子里,实际的驱动器程序就是 Spark shell 本 身,你只需要输入想要运行的操作就可以了。


驱动器程序通过一个 SparkContext 对象来访问 Spark。 这个对象代表对计算集群的一个连接。 shell 启动时已经自动创建了一个 SparkContext 对象,是一个叫作 sc 的变量。一旦有了 SparkContext, 你就可以用它来创建 RDD。我们可以在这些行上进行各种操 作,比如 count() 。


要执行这些操作,驱动器程序一般要管理多个 执行器 (executor)节点。比如,如果我们在 集群上运行 count() 操作,那么不同的节点会统计文件的不同部分的行数。由于我们刚才是 在本地模式下运行 Spark shell, 因此所有的工作会在单个节点上执行,但你可以将这个 shell 连接到集群上来进行并行的数据分析。下图展示了 Spark 如何在一个集群上运行。

6.png


相关实践学习
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
1天前
|
Ubuntu Java Linux
Linux centos7 ubuntu 一键安装Java JDK 脚本 shell 脚本
Linux centos7 ubuntu 一键安装Java JDK 脚本 shell 脚本
|
1天前
|
Ubuntu 应用服务中间件 Linux
Linux Centos7 ubuntu 安装nginx,脚本一键安装nginx
Linux Centos7 ubuntu 安装nginx,脚本一键安装nginx
|
2天前
|
关系型数据库 MySQL Linux
centos linux mysql 5.5脚本全自动源码包 编译安装
centos linux mysql 5.5脚本全自动源码包 编译安装
|
2天前
|
开发工具
centos8 yum安装mysql8 流程配置
centos8 yum安装mysql8 流程配置
|
2天前
|
Linux 应用服务中间件 开发工具
centos linux 通过yum安装nginx
centos linux 通过yum安装nginx
|
4天前
|
Docker 容器 Linux
蓝易云 - 在CentOS中安装Docker Engine
以上步骤完成后,你就成功地在CentOS上安装了Docker Engine。
50 2
|
8天前
|
Go
CentOS6.4安装GO语言环境
CentOS6.4安装GO语言环境
12 0
|
9天前
|
NoSQL Linux Redis
Centos7 安装和配置 Redis 5 教程
在Centos上安装Redis 5,如果是 Centos8,那么 yum 仓库中默认的 redis 版本就是 5,直接 yum install 即可。
59 0
|
14天前
|
存储 Linux 虚拟化
Hyper-V 安装 CentOS 8.5
本文档介绍了在 Windows 10 上使用 Hyper-V 安装 CentOS 8.5.2111 的详细步骤
43 3
|
14天前
|
Linux 开发工具
蓝易云 - 在CentOS7/RHEL7上安装OpenSSL1.1.x教程
以上就是在CentOS7/RHEL7上安装OpenSSL 1.1.x的步骤。希望对你有所帮助。
45 0

热门文章

最新文章