Spark集群搭建记录 | 云计算[CentOS7] | Scala Maven项目访问Spark(local模式)实现单词计数

这篇具有很好参考价值的文章主要介绍了Spark集群搭建记录 | 云计算[CentOS7] | Scala Maven项目访问Spark(local模式)实现单词计数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

写在前面

本系列文章索引以及一些默认好的条件在 传送门
要想完成Spark的配置,首先需要完成Hadoop&&Spark的配置
Hadoop配置教程:链接
Spark集群搭建记录 | 云计算[CentOS7] | Scala Maven项目访问Spark(local模式)实现单词计数

若未进行明确说明,均按照root用户操作

step1 下载Scala IDE

本来在Eclipse的Marketplace便可以下载,可是现在官网都寄了
所以说只好找到之前的版本凑合来用
下载链接
这个软件再解压后会产生一个文件夹eclipse,所以说为了避免和先前的eclipse产生冲突或者是覆盖问题
我们选择在也之前不同的目录下进行解压,然后进行配置

step2 解压安装Scala IDE

假设已经将scala-ide放置到虚拟机的某路径下,该路径不同于eclipse的路径
假如以/usr/local为例
我们使用tar 命令进行解压:
tar -zxvf scala-SDK<Tab>
然后就可以打开其中的eclipse/eclipse使用该软件:
Spark集群搭建记录 | 云计算[CentOS7] | Scala Maven项目访问Spark(local模式)实现单词计数
如果说想要更方便的在桌面直接就能点击使用的话,可以直接创建软连接或者是.Desktop文件并放置到桌面,方法不在赘述

step3 Scala 下载

注意注意!!!
Scala 的版本对Spark版本极其敏感,所以说为了能够下载适合已经装了的Spark版本互相兼容,还请移步官网查看并下载适配的Scala,博主下面给出对应的适配关系,来源maven仓库
Spark集群搭建记录 | 云计算[CentOS7] | Scala Maven项目访问Spark(local模式)实现单词计数

博主使用的是Spark2.4.0,与这个版本兼容的有2.11/2.12
在这里博主使用2.11版本的Scala进行配置
cd /usr/local
wget https://downloads.lightbend.com/scala/2.11.8/scala-2.11.8.tgz
tar -zxvf scala-2<Tab>
mv scala-2<Tab> scala

step4 Scala 配置

vim /etc/profile
加入:

export SCALA_HOME=/usr/local/scala
export PATH=$PATH:$SCALA_HOME/bin

source一下使其生效
source /etc/profile
在输入scala之后如若出现下图则代表成功:
Spark集群搭建记录 | 云计算[CentOS7] | Scala Maven项目访问Spark(local模式)实现单词计数
因为在后续的过程中,均需要该环境跑集群的代码,所以说,集群的所有机器为了能够干活,都需要安装scala
可以使用scp命令传送到集群的其他节点,或者是手动在剩余的机器重复step3 → \to step4

step5 创建scala项目

打开Scala ide ,并创建scala 项目:
Spark集群搭建记录 | 云计算[CentOS7] | Scala Maven项目访问Spark(local模式)实现单词计数
右键单击创建好的项目,将下图的第三步换成Convert to Maven Project,因为博主已经将项目设置为Maven项目,所以说,该选项消失
Spark集群搭建记录 | 云计算[CentOS7] | Scala Maven项目访问Spark(local模式)实现单词计数

step6 创建scala object

src 目录下,我们创建一个scala object
右键src,然后:
Spark集群搭建记录 | 云计算[CentOS7] | Scala Maven项目访问Spark(local模式)实现单词计数
在里面写入代码逻辑,具体代码可以参考链接
并根据实际情况对代码进行修改
以上链接源代码:
具体代码根据自己实际情况来进行修改

import org.apache.spark.{SparkConf, SparkContext}

object WordCount {
	def main(args: Array[String]): Unit = {
		val conf = new SparkConf()
		conf.setAppName("wordcount")
		conf.setMaster("spark://主机名:7077")
		val sc = new SparkContext(conf)
		
		val rdd = sc.textFile("hdfs://主机名:9000/tmp/test.txt")
		.flatMap(_.split(" ")).map((_, 1)).reduceByKey(_ + _)
		rdd.saveAsTextFile("hdfs://主机名:9000/tmp/result")
	}
}

step7 修改pom文件

pom.xml文件中加入和自己实际环境适配的依赖:
比如spark-core的话,我们就选择:
Spark集群搭建记录 | 云计算[CentOS7] | Scala Maven项目访问Spark(local模式)实现单词计数

<!-- https://mvnrepository.com/artifact/org.apache.spark/spark-core -->
<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-core_2.11</artifactId>
    <version>2.4.0</version>
</dependency>

以上内容要加在<dependencies></dependencies> 之间,<dependencies></dependencies><build></build>同“等级”
至于<plugin></plugin>可以根据自己实际情况进行配置

step8 配置项目

右键单击项目:
Spark集群搭建记录 | 云计算[CentOS7] | Scala Maven项目访问Spark(local模式)实现单词计数
选择完成后,在左侧找到scala complier
Spark集群搭建记录 | 云计算[CentOS7] | Scala Maven项目访问Spark(local模式)实现单词计数
选择跟自己适配的版本,然后确定关闭
而对于maven的相关配置,也要进行修改,在博文step3中有提及

step9 添加依赖库(Spark的jar包)

按照如下操作:
Spark集群搭建记录 | 云计算[CentOS7] | Scala Maven项目访问Spark(local模式)实现单词计数
在弹框中:
Spark集群搭建记录 | 云计算[CentOS7] | Scala Maven项目访问Spark(local模式)实现单词计数
我们需要选择spark安装目录下jars的所有jar包,博主当然是选择/usr/local/spark/jars/下的所有jar包
点击Apply and Close即可,项目结构中也会出现相应的引用库:
Spark集群搭建记录 | 云计算[CentOS7] | Scala Maven项目访问Spark(local模式)实现单词计数

step10 设置输入路径

因为在代码中难免会涉及到路径,所以说以step6中的代码为例,需要给tmp文件夹赋予必要的权限:
hadoop fs -chmod -R 777 /tmp
并且将自己所需要技术的文件test.txt通过主机名:50070端口的web界面进行上传:
Spark集群搭建记录 | 云计算[CentOS7] | Scala Maven项目访问Spark(local模式)实现单词计数
然后点击:
Spark集群搭建记录 | 云计算[CentOS7] | Scala Maven项目访问Spark(local模式)实现单词计数
等个十几秒就好啦~:以下是结果:
Spark集群搭建记录 | 云计算[CentOS7] | Scala Maven项目访问Spark(local模式)实现单词计数
Spark集群搭建记录 | 云计算[CentOS7] | Scala Maven项目访问Spark(local模式)实现单词计数
Spark集群搭建记录 | 云计算[CentOS7] | Scala Maven项目访问Spark(local模式)实现单词计数
Scala 实现的Spark local模式的配置完成文章来源地址https://www.toymoban.com/news/detail-451069.html

到了这里,关于Spark集群搭建记录 | 云计算[CentOS7] | Scala Maven项目访问Spark(local模式)实现单词计数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 云计算集群搭建记录[Hadoop|Zookeeper|Hbase|Spark | Docker |OpenStack]更新索引 |动态更新

    为了能够更好的查看所更新的文章,讲该博文设为索引 为了解决在编辑文件等操作的过程中的权限问题,博主一律 默认采用 root 账户登录 对于初次安装的用户可以采用如下命令行: 另外推荐一款终端工具:Tabby,既能够连接自己的服务器,也能够连接自己本地的虚拟机,还

    2023年04月13日
    浏览(56)
  • Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala)

    本篇文章是结合我个人学习经历所写,如果遇到什么问题或者我有什么错误,欢迎讨论。 百度网盘链接:https://pan.baidu.com/s/1DCkQQVYqYHYtPws9hWGpgw?pwd=zh1y 提取码:zh1y 软件在连接中VMwareWorkstation_V16.2.1_XiTongZhiJia的文件夹下。 双击运行安装包,这里下一步即可。 这里勾选我接受许可

    2024年04月15日
    浏览(69)
  • CentOS系统环境搭建(五)——Centos7安装maven

    centos系统环境搭建专栏🔗点击跳转 maven下载官网 压缩包放置到/usr/local 在最下面追加 重载环境变量 进入 /usr/local/apache-maven-3.9.2/conf/ 设置setting文件(不再赘述)。

    2024年02月12日
    浏览(61)
  • CentOS7搭建hadoop集群

    说明:         1.准备三台虚拟机,参考:CentOS7集群环境搭建(以3台为例)         2.配置虚拟机间免密登陆:参考:CentOS7集群配置免密登录         3.虚拟机分别安装jdk:参考:CentOS7集群安装JDK1.8         4.hadoop安装包下载,下载地址 准备开始搭建hadoop集群,以下操作在第

    2024年02月09日
    浏览(56)
  • 【云计算】3台虚拟机完成Spark Yarn集群部署并编写Scala应用程序实现单词计数统计

    目录 1.准备环境          2.安装spark并配置环境 3.安装scala并配置环境 4.安装编辑器idea 5.编写Spark Scala应用程序实现单词计数统计 6.Spark On Yarn配置 虚拟机:vmware workstation16 linux版本:centOS 7 linux 分布式环境:hadoop 3.1.1 (1)创建三台虚拟机,并准备好linux环境和hadoop,确保h

    2023年04月15日
    浏览(46)
  • Centos7搭建Apache Storm 集群运行环境

    Storm 运行在 Java 平台上,因此需要先安装 Java。你可以使用以下命令安装 OpenJDK 8: 你可以从 Storm 的官方网站下载 Storm。在本教程中,我们将使用 Storm 2.2.0 版本。你可以使用以下命令下载 Storm: 下载完成后,你可以使用以下命令解压 Storm: 解压完成后,你可以将 Storm 移动到

    2024年02月14日
    浏览(67)
  • CentOS7中新版本自带zookeeper搭建Kafka集群

    一、zookeeper在kafka中的具体作用     它是一个分布式协调框架。很好的将消息生产、消息存储、消息消费的过程结合在一起。在典型的Kafka集群中,Kafka通过Zookeeper管理集群控制,选举leader,以及在Consumer Group发生变化时进行rebalance。Producer使用push模式将消息发布到broker,Con

    2024年02月08日
    浏览(87)
  • Centos7原生hadoop环境,搭建Impala集群和负载均衡配置

    Impala集群包含一个Catalog Server (Catalogd)、一个Statestore Server (Statestored) 和若干个Impala Daemon (Impalad)。Catalogd主要负责元数据的获取和DDL的执行,Statestored主要负责消息/元数据的广播,Impalad主要负责查询的接收和执行。 Impalad又可配置为coordinator only、 executor only 或coordinator and exe

    2024年02月04日
    浏览(56)
  • CentOS7下安装ElasticSearch7.6.1详细教程(单机、集群搭建)

    CentOS 7下安装ElasticSearch7.6.1详细教程 ElasticSearch客户端Kibana7.6.1安装教程 ElasticSearch分词器IK安装教程 Elasticsearch-head插件安装教程 想要学习ElasticSearch技术,需要在服务器搭建ElasticSearch环境。 CenOS:7; JDK:1.8; Elasticsearch:7.6.1; ES不能使用root用户来启动,必须使用普通用户来

    2023年04月09日
    浏览(55)
  • 三台CentOS7.6虚拟机搭建Hadoop完全分布式集群(一)

    这个是笔者大学时期的大数据课程使用三台CentOS7.6虚拟机搭建完全分布式集群的案例,已成功搭建完全分布式集群,并测试跑实例。 1.1安装完虚拟机发现没有sudo命令和hadoop用户执行命令失败 我在安装CentOS 7.6虚拟机后,我发现不能执行sudo命令,同时hadoop用户执行命令失败。

    2024年02月03日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包