【大数据-Hadoop】从入门到源码编译-概念篇
【大数据-Hadoop】从入门到源码编译-概念篇
- Hadoop与大数据生态
- (一)Hadoop是什么?
- (二)Hadoop组成
- 1. HDFS
- 1.1 NameNode(nn)
- 1.2 DataNode(dn)
- 1.3 Secondary NameNode(2nn)
- 2.YARN
- 2.1 ResourceManager(RM)
- 2.2 NodeManager(NM)
- 2.3 ApplicationMaster(AM)
- 2.4 Container
- 2.MapReduce
- (三)Hadoop发行版本
- 1. Apache
- 2. Cloudera(CDH)-收费
- 3. Hortonworks(HDP,现已被Cloudera收购,推出了CDP产品)
- (四)Hadoop优势
- 1. 高可靠性
- 2. 高扩展性
- 3. 高效性
- 4. 高容错性
- (五)大数据生态体系
文章已收录至https://lichong.work,转载请注明原文链接。
ps:欢迎关注公众号“Fun肆编程”或添加我的私人微信交流经验🤝
Hadoop与大数据生态
(一)Hadoop是什么?
1)是Apache基金会开发的分布式系统基础架构。
2)解决海量数据的存储和计算问题。
3)广义上讲,Hadoop更是一个生态圈!
(二)Hadoop组成
1.x
- Common(辅助工具)
- HDFS(数据存储)
- MapReduce(计算+资源调度)
2.x & 3.x
- Common(辅助工具)
- HDFS(数据存储)
- MapReduce(计算)
- YARN(资源调度)
1. HDFS
1.1 NameNode(nn)
存储文件的元数据,如文件名、文件目录结构、文件属性(生成时间、副本数、文件权限)、以及每个文件的块列表和块所在的DataNode等。
1.2 DataNode(dn)
在本地文件系统存储文件块数据,以及块数据的校验和。
1.3 Secondary NameNode(2nn)
用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。
2.YARN
2.1 ResourceManager(RM)
1)处理客户端请求
2)监控NodeManager
3)启动或监控ApplicationMaster(对应执行Job)
4)资源的分配与调度
2.2 NodeManager(NM)
1)管理单个节点上的资源
2)处理来自ResourceManager的命令
3)处理来自ApplicationMaster的命令
2.3 ApplicationMaster(AM)
1)负责数据的切分
2)为应用程序申请资源并分配给内部的任务
3)任务的监控与容错
2.4 Container
是YARN中的资源抽象,它封装了某个节点上的多维度资源,如内存、CPU、磁盘、网络等。
2.MapReduce
Map阶段:并行处理输入数据
Reduce阶段:对Map结果进行汇总

(三)Hadoop发行版本
1. Apache
2006年推出
原始的基础版本,对于入门学习最好。
2. Cloudera(CDH)-收费
2009年Hadoop创始人加入后推出,现在收费,更加稳定。
3. Hortonworks(HDP,现已被Cloudera收购,推出了CDP产品)
2011年成立,吸纳Hadoop的雅虎程序员贡献了80%的Hadoop代码,文档较好,Hortonworks Data Platform(HDP)还包括了Ambari(开源的安装和管理系统)。
(四)Hadoop优势
1. 高可靠性
底层有多个数据副本,即使存储故障,也不会导致数据丢失
2. 高扩展性
可以动态增加服务器
3. 高效性
并行工作(MapReduce思想)
4. 高容错性
可以自动把失败任务重新分配
(五)大数据生态体系

文章已收录至https://lichong.work,转载请注明原文链接。
ps:欢迎关注公众号“Fun肆编程”或添加我的私人微信交流经验🤝
【大数据-Hadoop】从入门到源码编译-概念篇
【大数据-Flink】从入门到企业级应用-基础篇
【Docker】入门教程-基本概念解读
【前端-React Native】移动端原生开发整合React Native Elements教程-安卓示例
【前端-开发环境】使用NVM实现不同nodejs版本的自由切换(NVM完整安装使用手册)
【前端-NPM私服】内网使用verdaccio搭建私有npm服务器
【前端-IE兼容】Win10和Win11使用Edge调试前端兼容IE6、IE7、IE8、IE9、IE10、IE11问题
【前端-工程化】React项目工程化记录-内置项目活文档(老项目升级优化-集成Hosky/ESLint/Prettier-升级Webpack/Babel/NodeSass/React)
【工具-TWRP-frp-Termux】旧手机暴改成免费云服务器-MIUI刷TWRP安装magisk获取root
【工具-Shell脚本】java程序产品包模板-linux和windows通用shell启动停止脚本(无需系统安装Java运行环境)
【工具-Nginx】从入门安装到高可用集群搭建
【工具-Nginx】Nginx高性能通用配置文件-注释版-支持防刷限流、可控高并发、HTTP2、防XSS、Gzip、OCSP Stapling、负载、SSL
【工具-WireShark】网络HTTP抓包使用教程
【后端-maven打包】通过profile标签解决同时打jar包 war包需求
【架构-DDD】使用领域驱动设计-互联网未来架构设计之道(一)
【后端-SpringCache】基于Spring Cache封装一个能够批量操作的Redis缓存记录下踩坑历程(pipeline或mget封装)
【后端-SkyWalking】SkyWalking前后端开发环境搭建详细教程步骤-6.x/7.x/8.x版本通用-插件二次开发利器(一)
【后端-Quartz】Springboot整合Quartz支持集群环境-设计业务与框架分离及实现定时任务调度
✨欢迎为耿直少年点赞、关注、收藏!!!
👇👇👇
相关文章:
【大数据-Hadoop】从入门到源码编译-概念篇
【大数据-Hadoop】从入门到源码编译-概念篇 Hadoop与大数据生态(一)Hadoop是什么?(二)Hadoop组成1. HDFS1.1 NameNode(nn)1.2 DataNode(dn)1.3 Secondary NameNode&#…...
什么是设计模式
一、概述 1、设计模式是解决某些问题的办法 2、设计模式不是凭空想象出来的,是经验的总结和积累 3、设计模式是不断的发展的 4、各个行业都有自己的设计模式 二、设计模式的基本要素 设计模式一般包括模式的名称、问题、目的、解决方案、效果、实例代码和相关…...
Typescript中Omit数据类型的理解
在 TypeScript 中,Omit 是一个内置的工具类型,它用于从对象类型中排除指定的属性,并返回剩余的属性。 Omit 的语法如下所示: type Omit<T, K> Pick<T, Exclude<keyof T, K>>;其中,T 表示原始类型…...
【ArcGIS Pro微课1000例】0055:Pro中如何处理个人数据库(.mdb)
文章目录 原因分析解决方案使用ArcGIS Pro的用户应该已经发现个人地理数据库(.mdb)不能使用了。随着ESRI的软件技术革新,在ArcGIS Pro中不再支持且将来也不会支持个人地理数据库(.mdb)。这个确实很烦人,很多项目还是在使用mdb数据库的。不过ESRI也给出了一些解决办法,不…...
【Spark精讲】Spark五种JOIN策略
目录 三种通用JOIN策略原理 Hash Join 散列连接 原理详解 Sort Merge Join 排序合并连接 Nested Loop 嵌套循环连接 影响JOIN操作的因素 数据集的大小 JOIN的条件 JOIN的类型 Spark中JOIN执行的5种策略 Shuffle Hash Join Broadcast Hash Join Sort Merge Join C…...
linux 常用脚本搜集(nginx) —— 筑梦之路
作为搜集之用 nginx acc日志分析 #!/bin/bash # 日志格式: $remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for" LOG_FILE$1 echo "…...
基于PCIe的NVMe学习
一:基本概念 1.UltraScale:是Xilinx ZYNQ 系列产品 2.spec:大家现在别纠结于具体的命令,了解一下就好。老板交代干活的时候,再找spec一个一个看吧————猜测估计是命令表之类的。 Admin指令:——如下&…...
循环神经网络-1
目录 1 数据集构建 1.1 数据集的构建函数 1.2 加载数据并进行数据划分 1.3 构造Dataset类 2 模型构建 2.1 嵌入层 2.2 SRN层 2.3 线性层 2.4 模型汇总 3 模型训练 3.1 训练指定长度的数字预测模型 3.2 多组训练 3.3 损失曲线展示 4 模型评价 总结 参考文献 循环神经网络&…...
MFC画折线图,基于x64系统
由于项目的需要,需要画一个折线图。 传统的Teechart、MSChart、HighSpeedChart一般是只能配置在x86系统下,等到使用x64系统下运行就是会报出不知名的错误,这个地方让人很苦恼。 我在进行配置的过程之中,使用Teechart将x86配置好…...
JDK8安装教程分享
🧋🧋今天,在博客社区看到一篇非常好的,关于JDK8的安装教程,亲试有用,现分享给大家。。。 JDK8安装...
CentOS 7 部署 dnsmasq
文章目录 (1)概述(2)dnsmasq的解析流程(3)重要参数说明(4)部署dnsmasq(5)其他内容(6)域名劫持(7)dns污染验证&…...
DBA面试题
Oracle体系结构 (1)、Oracle实例内存中包含哪些部分? 答: sga与pga sga:是一组共享的内存区域,包含数据字典缓存、库缓存、重做日志缓冲区 Pga:为每个服务器进程分配的非共享内存,存储会话状态和私有SOL工作区 在Oracle数据库中&…...
源码解析:Apache RocketMQ重置消费位点
引入 reset offset,即重置消费进度,一般在以下场景中使用: 需要重新消费已经消费过的消息,重置到最早位置或根据时间进行重置。消息积压,不需要消费积压的消息,重置到最新位置,使其从最新位置…...
Python 自动化之处理docx文件(一)
批量筛选docx文档中关键词 文章目录 批量筛选docx文档中关键词前言一、做成什么样子二、基本架构三、前期输入模块1.引入库2.路径输入3.关键词输入 三、数据处理模块1.基本架构2.如果是docx文档2.1.读取当前文档内容2.2.遍历匹配关键字2.3.触发匹配并记录日志 3.如果目录下还有…...
Vue mixins详解
文章目录 前言Vue中的mixins详解什么是mixins简单例子mixins的特点mixins与vuex的区别mixins与公共组件的区别前言 在Vue中,mixins是一种可重用的代码片段,可以在多个组件中共享。它可以包含组件的选项,如data、methods、computed等,以及生命周期钩子函数。 本文将详细介…...
ssl证书问题导致本地启动前端服务报500
报错如下:注意查看报错信息 问题:系统原是http,后台调整为https后,ssl证书有点问题, vue项目本地服务,使用代理,webpack默认,证书强校验,导致请求无法发出,后…...
Rust 学习
Rust 官网:https://www.rust-lang.org/zh-CN/ 模块 库:https://crates.io/ 1、Rust 简介 Rust 语言的主要目标之一是解决传统 系统级编程语言(如 C 和 C)中常见的安全性问题,例如空指针引用、数据竞争等。为了实现这个…...
1.1 【应用开发】应用开发简介
写在前面 Screen图形子系统基于客户端/服务器模型,其中应用程序是请求图形服务的客户端(Screen)。它包括一个合成窗口系统作为这些服务之一,这意味着所有应用程序渲染都是在离屏缓冲区上执行的,然后可以在稍后用于更新…...
在windows系统搭建LVGL模拟器(codeblock工程)
1.codeblock准备 下载codeblock(mingw),安装。可参考网上教程。 2.pc_simulator_win_codeblocks 工程获取 仓库地址:lvgl/lv_port_win_codeblocks: Windows PC simulator project for LVGL embedded GUI Library (github.com) 拉取代码到本地硬盘&…...
2023第十四届蓝桥杯国赛 C/C++ 大学 B 组
文章目录 前言试题 A: 子 2023作者思考题解答案 试题 B: 双子数作者思考题解 试题 C: 班级活动作者思考题解 试题 D: 合并数列作者思考题解 试题 E: 数三角作者思考题解 试题 F: 删边问题作者思考题解 试题 G: AB 路线作者思考题解 试题 H: 抓娃娃作者思考题解 试题 I: 拼数字试…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...
C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...
阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...
页面渲染流程与性能优化
页面渲染流程与性能优化详解(完整版) 一、现代浏览器渲染流程(详细说明) 1. 构建DOM树 浏览器接收到HTML文档后,会逐步解析并构建DOM(Document Object Model)树。具体过程如下: (…...
Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...
如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...
python报错No module named ‘tensorflow.keras‘
是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...
安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)
船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...
JavaScript 数据类型详解
JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型(Primitive) 和 对象类型(Object) 两大类,共 8 种(ES11): 一、原始类型(7种) 1. undefined 定…...
快刀集(1): 一刀斩断视频片头广告
一刀流:用一个简单脚本,秒杀视频片头广告,还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农,平时写代码之余看看电影、补补片,是再正常不过的事。 电影嘛,要沉浸,…...
