Hadoop生态圈拓展内容(一)
1. Hadoop的主要部分及其作用
HDFS(Hadoop分布式文件系统)
HDFS是一个高容错、高可靠性、高可扩展性、高吞吐率的分布式文件存储系统,负责海量数据的存储。
YARN(资源管理调度系统)
YARN是Hadoop的资源管理调度系统,负责Hadoop生态系统中任务的调度和监控。
MapReduce(分布式并行计算框架)
MapReduce是基于HDFS和YARN的分布式并行计算框架,负责海量数据的计算。
2. Hadoop生态圈组件及其作用
Hive(离线数据仓库)
Hive是基于HDFS,结合类SQL引擎,底层执行MapReduce任务,用于OLAP分析查询的数据仓库。它使得不熟悉MapReduce的用户也能通过类SQL语言(HQL)进行数据查询和分析。
Zookeeper(管理员)
Zookeeper是一个分布式协调服务,为用户的分布式应用程序提供协调服务,如主从协调、服务器节点动态上下线、统一配置管理、分布式共享锁、统一名称服务等。
Kafka(消息通信中间件)
Kafka是一个高吞吐量的分布式发布订阅消息系统,主要用于处理实时数据流。
Flume(日志传输组件)
Flume是一个分布式、可靠、高可用的海量日志收集、聚合、移动的工具,通俗来说,Flume就是一个日志采集工具。
Spark(批处理计算框架)
Spark是一个快速、通用的集群计算系统,支持批处理和流处理,适用于数据挖掘和机器学习等需要迭代的算法。
Flink(流处理计算框架)
Flink是一个基于内存的分布式并行处理框架,主要用于流数据处理,但也支持批处理。
3. Hadoop集群工作时启动的进程及其作用
NameNode(NN)
NameNode是Hadoop中的主服务器,管理文件系统名称空间和对集群中存储的文件访问。
Secondary NameNode(SNN)
Secondary NameNode不是NameNode的冗余守护进程,而是提供周期性检查点和清理任务,帮助NameNode合并editslog,减少NameNode的启动时间。
DataNode(DN)
DataNode提供真实的文件数据的存储服务,以数据块的形式存储HDFS文件,并响应HDFS客户端的读写请求。
ResourceManager(RM)
ResourceManager负责整个集群资源的管理和调度,包括对ApplicationMaster的管理、NodeManager的管理、Application管理等。
NodeManager(NM)
NodeManager主要处理来自ResourceManager分配的任务,监测并报告Container使用信息给ResourceManager。
JournalNode(JN)
JournalNode用于两个NameNode之间的数据同步,确保在集群出错时,命名空间状态已经完全同步。
4. Hadoop集群计算的主要瓶颈
- 网络带宽:网络带宽不足会导致数据传输速度慢,影响集群计算性能。
- 存储性能:存储系统的读写能力较低会影响数据的读取和写入速度。
- 处理能力:节点的计算能力和数据量都会影响整体计算能力。
- 内存容量:内存不足会导致数据无法完全加载到内存中,影响性能。
- 数据倾斜:数据分布不均匀会导致某些节点的数据负载过重,成为集群的瓶颈。
5. Hadoop集群的XML配置文件
- core-site.xml:配置Hadoop的核心参数,如文件系统默认方案、HDFS地址等。
- hdfs-site.xml:配置HDFS的相关参数,如副本数量、数据块大小等。
- mapred-site.xml:配置MapReduce相关参数,如作业跟踪器地址、任务分配器等。
- yarn-site.xml:配置YARN相关参数,如资源管理器地址、节点管理器等。
- hive-site.xml:配置Hive的相关参数,如元数据存储位置、数据库连接等。
6. Hadoop的Checkpoint流程
-
启动 Secondary NameNode
Secondary NameNode 启动并定期检查 NameNode 的 EditLog 和 FsImage。 -
下载元数据
Secondary NameNode 从 NameNode 下载最新的 FsImage 和 EditLog 文件。 -
合并元数据
Secondary NameNode 将 EditLog 中的变更操作应用到下载的 FsImage 上,生成一个新的合并后的 FsImage 文件。 -
上传新 FsImage
Secondary NameNode 将新的 FsImage 文件上传回 NameNode,并通知 NameNode 该文件已生成。 -
更新元数据
NameNode 将新的 FsImage 文件保存为当前的元数据快照,并将 EditLog 文件截断或重命名为新的文件,开始记录新的变更操作。
补充说明:
EditLog(edits)
NameNode 持续记录文件系统元数据的所有变更操作到 EditLog 文件中。
FsImage(fsimage)
NameNode 会定期将当前的文件系统元数据快照存储到 FsImage 文件中。
Checkpoint
Secondary NameNode 会周期性地将 EditLog 应用到最新的 FsImage 上,并生成一个新的合并后的 FsImage 文件,称为 checkpoint。
相关文章:

Hadoop生态圈拓展内容(一)
1. Hadoop的主要部分及其作用 HDFS(Hadoop分布式文件系统) HDFS是一个高容错、高可靠性、高可扩展性、高吞吐率的分布式文件存储系统,负责海量数据的存储。 YARN(资源管理调度系统) YARN是Hadoop的资源管理调度系统…...

使用随机森林模型在digits数据集上执行分类任务
程序功能 使用随机森林模型对digits数据集进行手写数字分类任务。具体步骤如下: 加载数据:从digits数据集中获取手写数字图片的特征和对应的标签。 划分数据:将数据集分为训练集和测试集,测试集占30%。 训练模型:使用…...

后端开发刷题 | 打家劫舍
描述 你是一个经验丰富的小偷,准备偷沿街的一排房间,每个房间都存有一定的现金,为了防止被发现,你不能偷相邻的两家,即,如果偷了第一家,就不能再偷第二家;如果偷了第二家࿰…...

欧美游戏市场的差异
欧洲和美国的游戏市场虽然高度发达且利润丰厚,但表现出由文化偏好、消费者行为、监管环境和平台受欢迎程度塑造的独特特征。这些差异对于寻求为每个地区量身定制策略的游戏开发商和发行商来说非常重要。 文化偏好和游戏类型 美国:美国游戏市场倾向于青…...

DeDeCMS靶场漏洞复现
打开靶场地址 姿势一:通过文件管理器上传webshell 1.登录后台 dedecms默认的后台登录地址为/dede 2.在附加管理里的文件式管理器中有文件上传 3.上传木马文件 4.访问木马文件 并连接 姿势二:修改模板文件获取webshell 1.点击模板里面的默认模板管理 …...

Transformer模型详细步骤
Transformer模型是nlp任务中不能绕开的学习任务,我将从数据开始,每一步骤都列举出来,然后对应重点的代码进行讲解 ------------------------------------------------------------------------------------------------------------- Trans…...

LC并联电路在正弦稳态下的传递函数推导(LC并联谐振选频电路)
LC并联电路在正弦稳态下的传递函数推导(LC并联谐振选频电路) 本文通过 1.解微分方程、2.阻抗模型两种方法推导 LC 并联选频电路在正弦稳态条件下的传递函数,并通过仿真验证不同频率时 vo(t) 与 vi(t) 的幅值相角的关系。 电路介绍 已知条件…...
【前后端】大文件切片上传
Ruoyi框架上传文件_若依微服务框架 文件上传-CSDN博客 原理介绍 大文件上传时,如果直接上传整个文件,可能会因为文件过大导致上传失败、服务器超时或内存溢出等问题。因此,通常采用文件切片(Chunking)的方式来解决这些…...
图像处理 -- ISP功能之局部对比度增强 LCE
局部对比度增强(LCE) 局部对比度增强(Local Contrast Enhancement, LCE)是一种图像处理技术,旨在通过调整图像的局部区域对比度,增强图像细节和视觉效果。LCE 的实现方式多种多样,以下是几种常…...

C++速通LeetCode简单第5题-回文链表
解法1,堆栈O(n)简单法: /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(nullptr) {}* ListNode(int x, ListN…...

【Java 优选算法】双指针(下)
欢迎关注个人主页:逸狼 创造不易,可以点点赞吗~ 如有错误,欢迎指出~ 有效三角形的个数 题目链接 解法 解法1:暴力枚举--->O(n^3) 解法2:利用单调性,使用双指针来解决---->O(n^2) 优化:对整个数组进行排序先固定最大数在最大数的左…...

动态规划:07.路径问题_珠宝的最大价值_C++
题目链接:LCR 166. 珠宝的最高价值 - 力扣(LeetCode)https://leetcode.cn/problems/li-wu-de-zui-da-jie-zhi-lcof/description/ 一、题目解析 题目: 解析: 有过做前几道题的经验,我们会发现这道题其实就…...

COMDEL电源CX2500S RF13.56MHZ RF GENERATOR手侧
COMDEL电源CX2500S RF13.56MHZ RF GENERATOR手侧...

GPU加速生物信息分析的尝试
GPU工具分类 实话实说,暂时只有英伟达的GPU才能实现比较方便的基因组分析集成化解决方案,其他卡还需要努力呀,或者需要商业公司或学术团体的努力开发呀!FPGA等这种专用卡的解决方案也是有的,比如某测序仪厂家…...

【零散技术】详解Odoo17邮件发送(一)
序言:时间是我们最宝贵的财富,珍惜手上的每个时分 Odoo的邮件功能十分强大,在非常多的场景中可以看见其应用,例如原生的用户邀请,报价单发送,询价单发送等等.... 那么抛开原生自带的功能,我们如何巧妙的通过代码进行自…...
函数题 6-5 求自定类型元素的最大值【PAT】
文章目录 题目函数接口定义裁判测试程序样例输入样例输出样例 题解解题思路完整代码AC代码 编程练习题目集目录 题目 要求实现一个函数,求N个集合元素S[]中的最大值,其中集合元素的类型为自定义的ElementType。 函数接口定义 ElementType Max( Element…...

Python---爬虫
文章目录 目录 前言 一.Http请求/响应模块 requests模块 二.文本筛选模块 re模块 XPath模块 XPath 路径表达式 XPath 语法元素 三. 爬虫模板 爬虫案例 前言 Python爬虫是一种通过自动化程序爬取互联网上的信息的技术。爬虫可以自动访问网页并提取所需的数据,比…...

设计模式之组合设计模式
一、组合设计模式概念 组合模式 (Component) 是一种结构型设计模式,将对象组合成树形结构以表示“部分-整体”的层次结构。 组合模式使得用户对单个对象和组合对象的使用具有唯一性。 适用场景 想要表示对象的部分-整体层次结构。想要客户端忽略组合对象与单个对象的…...

Java汽车销售管理
技术架构: springboot mybatis Mysql5.7 vue2 npm node 有需要该项目的小伙伴可以添加我Q:598748873,备注:CSDN 功能描述: 针对汽车销售提供客户信息、车辆信息、订单信息、销售人员管理、财务报表等功能&…...

js TypeError: Cannot read property ‘initialize’ of undefined
js TypeError: Cannot read property ‘initialize’ of undefined 在JavaScript开发旅程中,遇到TypeError: Cannot read property ‘initialize’ of undefined这样的错误提示,无疑是令人沮丧的。这个错误通常意味着你试图访问一个未定义对象的initiali…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战
前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...
Go 语言接口详解
Go 语言接口详解 核心概念 接口定义 在 Go 语言中,接口是一种抽象类型,它定义了一组方法的集合: // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的: // 矩形结构体…...

Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...

定时器任务——若依源码分析
分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...