Centos7下Spark下载与安装

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
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


相关实践学习
lindorm多模间数据无缝流转
展现了Lindorm多模融合能力——用kafka API写入,无缝流转在各引擎内进行数据存储和计算的实验。
云数据库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
相关文章
|
16天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。
|
17天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第7天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统要求检查与准备、配置安装源、安装 SQL Server 2019、配置 SQL Server 以及数据库初始化(可选)。通过这些步骤,你可以成功安装并初步配置 SQL Server 2019,进行简单的数据库操作。
|
2月前
|
Linux 网络安全 数据安全/隐私保护
Linux系统之Centos7安装cockpit图形管理界面
【10月更文挑战第12天】Linux系统之Centos7安装cockpit图形管理界面
92 1
Linux系统之Centos7安装cockpit图形管理界面
|
25天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
70 3
|
26天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。
本文介绍了在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。内容涵盖准备工作、下载源码、编译安装、配置服务、登录设置及实践心得,帮助读者根据需求选择最适合的安装方法。
46 2
|
28天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
82 2
|
2月前
|
Linux 知识图谱
Centos7安装killall,fuser, killall,pstree和pstree.x11
通过上述步骤,您已在CentOS 7系统中成功部署了killall、fuser、pstree以及pstree.x11,为高效管理系统进程打下了坚实基础。更多关于服务器管理与优化的知识,获取全面技术支持与解决方案。
50 1
|
2月前
|
监控 安全 Linux
CentOS7下安装配置ntp服务的方法教程
通过以上步骤,您不仅能在CentOS 7系统中成功部署NTP服务,还能确保其配置合理、运行稳定,为系统时间的精确性提供保障。欲了解更多高级配置或遇到特定问题,提供了丰富的服务器管理和优化资源,可作为进一步学习和求助的平台。
74 1
|
14天前
|
存储 安全 Linux
VMware安装CentOS7
【11月更文挑战第11天】本文详细介绍了在 VMware 中安装 CentOS 7 的步骤,包括准备工作、创建虚拟机、配置虚拟机硬件和安装 CentOS 7。具体步骤涵盖下载 CentOS 7 镜像文件、安装 VMware 软件、创建和配置虚拟机硬件、启动虚拟机并进行安装设置,最终完成 CentOS 7 的安装。在安装过程中,需注意合理设置磁盘分区、软件选择和网络配置,以确保系统的性能和功能满足需求。
110 0
|
2月前
|
Java jenkins 持续交付
Centos7下docker的jenkins下载并配置jdk与maven
通过上述步骤,您将成功在CentOS 7上的Docker容器中部署了Jenkins,并配置好了JDK与Maven,为持续集成和自动化构建打下了坚实基础。
111 1