本地环境下运行Spark程序

1. 前言

        终于又有实际的大数据计算业务功能开发了,是对一个以前用SpringBoot来处理Elasticsearch集群上的日志数据的计算程序,这个程序的最大问题就是单进程内存会达到几十G,直到最后运行在中途出现OutOfMemoryError而崩溃掉,毕竟用SpringBoot来实现分布式计算是有难度的,而且Spark框架已经帮我们实现了一切,非常稳定高效,何必自己再去造轮子呢。

2. 环境配置

2.1 解决找不到winutils.exe

        在本地eclipse环境里运行Spark程序,需要Hadoop windows环境,不然会报错:

java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.

        这是因为我们确实没有本地的winutils.exe,那么就配置一个,直接访问GitHub - steveloughran/winutils: Windows binaries for Hadoop versions (built from the git commit ID used for the ASF relase)         按github常规copy它的url,在命令行窗口执行:

git clone https://github.com/steveloughran/winutils.git

        成功则得到一个winutils目录,cd ./winutils/, 里面有很多hadoop版本目录,由于我采用hadoop-2.10.0,而这里2.x最大版本是hadoop-2.8.3,故选择它,我的最终目录是:

D:\app\hadoop\winutils\hadoop-2.8.3

        在代码入口main()方法下加一行:

	public static void main(String[] args) {logger.info("spark execute begin...........");System.setProperty("hadoop.home.dir", "D:\\app\\hadoop\\winutils\\hadoop-2.8.3");

 

 2.2 解决master URL设置问题

        上面问题处理好之后,我们再次执行,还是会报错:

A master URL must be set in your configuration

        我们在入口main()所在类文件上单击右键:

Run As --> Run Configurations --> Arguments --> VM arguments下输入:

 -Dspark.master=local[*]

        点"Apply"保存,然后点“Run"执行,终于程序跑起来,从Elasticsearch读取日志数据,最后把计算结果再次写入Elasticsearch里另外一个索引。

3. 后记

        Spark程序还是比较好调测的,在面对亿级以上的数据分析时,不建议用SpringBoot框架来写schduler模式的后台处理程序解决问题,那不是SpringBoot擅长的,建议用Spark框架来批处理这种数据分析问题,你会发现代码行少得多,分布式多进程多线程问题不用我们去手工解决。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/745222.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

增删卜易——八宫六十四卦

之前看倪海厦的《天纪》笔记里面提到了六十四卦世应,觉得不知道这个世应是啥意思。很长时间就没看了,偶然间看到了张文江教授写的一本书《潘雨廷先生谈话录》提到了《卜筮正宗》,“卜筮最后的判断是非理性转义,其他一切都只是形式”,“明人的著作,从京氏易出,如今天几日…

STM32 学习12 输入捕获与触摸按键

STM32 学习12 输入捕获与触摸按键 一、输入捕获介绍1. 概念2. STM32F1 资源3. 捕获原理 二、输入捕获配置步骤1. 使能时钟、设置端口模式2. 初始化定时器3. 设置捕获参数4. 开启捕获和定时器中断(溢出中断|更新中断)6. 编写定时器中断服务函数7. 使能定时…

针对教育行业的网络安全方案有哪些

智慧校园”是教育信息化进入高级阶段的表现形式,比“数字校园”更先进。集体知识共融、共生、业务应用融合创新、移动互联网物联网高速泛在是其重要特征。特别是在互联网教育的大环境下,为了更好的发挥智慧化教学服务和智慧化教学管理功能,需…

node.js入门—day02

个人名片: 😊作者简介:一名大二在校生 🤡 个人主页:坠入暮云间x 🐼座右铭:给自己一个梦想,给世界一个惊喜。 🎅**学习目标: 坚持每一次的学习打卡 文章目录 什么是单线程…

计算机服务器中了devos勒索病毒怎么解密,devos勒索病毒解密工具流程

随着网络技术的不断发展与更新,越来越多的企业利用网络开展了各项工作业务,网络也为企业提供了极大便利,大大提高了办公效率。但网络是一把双刃剑,企业的数据安全问题一直是企业关心的主要话题,近日,云天数…

InDesign 2024:创意不熄火,设计不止步mac/win版

InDesign 2024,不仅仅是一个设计软件更新,它更是设计界的一次革命性飞跃。这款全新的设计软件将为您打开前所未有的创意大门,让您在设计的海洋中畅游无阻。 InDesign 2024 mac/win版获取 InDesign 2024以其卓越的性能和稳定性,确…

钉钉魔法盒:解锁企业数字化转型新密码

在数字化的浪潮中,一家公司在企业团队管理和商场综合运营中致力于实现数字化转型。于是,该公司在与无雀科技商讨后,决定引入钉钉平台,不仅要打造商业地产平台,更要优化团队管理流程,提升组织运营效率。 针对…

Linux中mysql的安装、远程访问、基础操作、文件导入

Linux中mysql的安装、远程访问、基础操作、文件导入 cheet card1. 安装1. 使用root账号安装mysql 2. 启动mysql并创建root、管理员两个账号3. 基础操作3.1 数据库的查看、创建、修改、删除3.2 mysql的数据类型3.3 数据表的基本操作3.4 数据表结构的修改3.5 表中数据的增、删、改…

git基础命令(一)

目录 基础概念git statusgit addgit diffgit loggit commit文件可以处于以下三种状态之一远程存储库与本地存储库参考 用于知识记录。后续有新的的内容,例子,将持续更新本文档。 基础概念 工作树:git add 之前,变动内容的文件列表…

华为认证云计算专家(HCIE-Cloud Computing)--问答题

华为认证云计算专家(HCIE-Cloud Computing)–问答题 38 处于退出状态的容器,会占用系统什么资源? 参考答案:宿主机文件系统资源 39 在docker中,删除所有容器的命令是什么? 参考答案:docker ps -aq| xar…

从金蝶云星空到钉钉通过接口配置打通数据

从金蝶云星空到钉钉通过接口配置打通数据 对接系统金蝶云星空 金蝶K/3Cloud(金蝶云星空)是移动互联网时代的新型ERP,是基于WEB2.0与云技术的新时代企业管理服务平台。金蝶K/3Cloud围绕着“生态、人人、体验”,旨在帮助企业打造面…

想要自己制作一款游戏,需要掌握哪些基本技能?

你是否曾经沉浸在游戏的世界中,感受到游戏带来的无限乐趣?你是否曾经梦想能够亲手制作一款属于自己的游戏,为玩家带来独特的体验?然而,要实现自己的游戏创作梦想,并不是一件轻松的事情。需要掌握各种技能和…

蓝桥杯历年真题省赛java b组 2016年 第六届 剪邮票

一、题目 剪邮票 如【图1.jpg】, 有12张连在一起的12生肖的邮票。 现在你要从中剪下5张来,要求必须是连着的。 (仅仅连接一个角不算相连) 比如,【图2.jpg】,【图3.jpg】中,粉红色所示部分就是合格的剪取。…

机器学习 Python库 乱记录

MLFlow—模型实验和跟踪 MLflow是一个平台,帮助你从头到尾管理你的机器学习实验,确保可追溯性和可重复性。它提供了一个集中的存储库,用于存储你的代码、数据和模型工件,以及一个跟踪系统,记录你所有的实验&#xff0c…

CSS 03

1.选择器 1.1 结构伪类选择器 代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>结…

[Django 0-1] Core.Files

Core.Files 模块 Django 的核心模块之一&#xff0c;封装文件操作&#xff0c;提供对文件的上传、下载、删除、查看大小等功能。 提供的功能 存储后端解耦&#xff0c;支持多种存储后端&#xff0c;使得在不同存储后端中的文件数据都能以相同的方式操作文件上传、下载、删除…

[云原生] Prometheus自动服务发现部署

一、部署服务发现 1.1 基于文件的服务发现 基于文件的服务发现是仅仅略优于静态配置的服务发现方式&#xff0c;它不依赖于任何平台或第三方服务&#xff0c;因而也是最为简单和通用的实现方式。 Prometheus Server 会定期从文件中加载 Target 信息&#xff0c;文件可使用 YAM…

华为认证云计算专家(HCIE-Cloud Computing)--判断题

华为认证云计算专家&#xff08;HCIE-Cloud Computing&#xff09;–判断题 1.(判断题)华为云stack支持鲲鹏架构&#xff0c;业务可从X86过渡到鲲鹏。 正确答案&#xff1a;正确 2.(判断题)业务上云以后&#xff0c;安全方面由云服务商负责&#xff0c;客户自己不需要做任何防…

使用Lua配置NeoVim

使用Lua配置NeoVim 源码地址依次添加插件视频地址 源码地址 Github: my-neovim-lua 依次添加插件 Lazy.nvim: nvim的插件管理器catpuccin: 舒缓柔和的主题插件telescope: 负责查找、过滤、预览treesitter: 基于语法树实现语法高亮neo-tree: 文件导航栏 。。。等待解锁更多 …

LLM(大语言模型)——Springboot集成文心一言、讯飞星火、通义千问、智谱清言

目录 引言 代码完整地址 入参 出参 Controller Service Service实现类 模型Service 入参转换类 文心一言实现类 讯飞星火实现类 通义千问实现类 智谱清言实现类 引言 本文将介绍如何使用Java语言&#xff0c;结合Spring Boot框架&#xff0c;集成国内热门大模型API&am…