【大数据-Hadoop】从入门到源码编译-概念篇

news2024/11/22 21:24:12

【大数据-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支持集群环境-设计业务与框架分离及实现定时任务调度

✨欢迎为耿直少年点赞、关注、收藏!!!

👇👇👇

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

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

相关文章

公众号怎么提高2个限制

一般可以申请多少个公众号?许多用户在申请公众号时可能会遇到“公众号显示主体已达上限”的问题。这是因为在2018年11月16日对公众号申请数量进行了调整,具体调整如下:1、个人主体申请公众号数量上限从2个调整为1个。2、企业主体申请公众号数…

Docker - Android源码编译与烧写

创建源代码 并挂载到win目录 docker run -v /mnt/f/android8.0:/data/android8.0 -it --name android8.0 49a981f2b85f /bin/bash 使用 docker update 命令动态调整内存限制: 重新运行一个容器 docker run -m 512m my_container 修改运行中容器 显示运行中容器 d…

深入理解 Goroutines 和 Go Scheduler

本文将重点帮助您了解 Golang 中的 goroutines。Go 调度程序如何工作以在 Go 中实现最佳并发性能。我会尽力用简单的语言解释,这样你就可以理解了。 我们将介绍什么是操作系统中的线程和进程,什么是并发,为什么实现并发很难,以及 goroutines 如何帮助我们实现并发。然后,…

十八)Stable Diffusion使用教程:艺术二维码案例

今天说说怎么样使用SD生成艺术二维码。 我们直接上图。 方式有三种,分别如下: 1)方式一:直接 contronet 的tile模型进行控制 使用QRBTF Classic生成你的二维码。 首先输入网址,选择喜欢的二维码样式(推荐第一种就行): 然后选择相应参数,这里推荐最大的容错率,定…

IT圈茶余饭后的“鄙视链” C,C++,Java,Python

目录 C语言的自尊心 C语言的历史与地位 C语言的支持者心态 鄙视链的表现 自尊心的盲点 C的复杂之美 多范式编程的复杂性 高度的控制权 模板元编程的奇妙 面向对象的强大 Java的跨平台与舒适感 跨平台性的优势 舒适的开发体验 对其他语言的轻蔑 面向企业级应用的自…

不再兼容“安卓“,鸿蒙开发与android对比

首先,鸿蒙系统采用了分布式技术,其设计理念是“能用分布式解决的问题就不用单机解决”。这意味着鸿蒙旨在构建一个统一的分布式操作系统,可以支持不同设备之间的交互和通信。 而安卓系统基于Linux内核和Java编程语言构建,属于单机…

SqlServer中,数字-null的问题

一、业务描述 叫货单,已知叫货金额,填写本次付款金额,计算待付款金额 二、问题 在计算待付款金额时,偶尔会出现待付款金额为空的情况,百思不得其解 三、解决 仔细检查,发现了猫腻。 简单的说&#xff…

Axure元件的介绍使用以及登录界面

一、Axure元件介绍 简介: Axure元件是一种功能强大的设计工具,专门用于用户体验设计和交互设计。它可以帮助设计师创建可交互的原型,并实现各种界面元素的设计和布局。 Axure元件的基本特点包括: 多样性:Axure元件包括…

Unity检测AssetBundle是否循环依赖

原理:bundle的依赖关系构建一个二维的矩阵图,如果对角线相互依赖(用1标记)则表示循环依赖。 using PlasticGui; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; public cl…

数字社会观察:TikTok如何影响青少年文化?

TikTok,这个全球短视频巨头,正在成为塑造青少年文化的引领者。在这个数字社会中,TikTok的崛起不仅改变了信息传递的方式,更深刻地影响着青少年的价值观、审美观和社交方式。本文将深入探讨TikTok如何在数字社会中塑造和影响青少年…

都是星光赶路人

不知不觉已经快工作五年了,工作以后就感觉时间一年比一年快,仿佛昨天才刚毕业,就像陈鸿宇歌中的那样,多少遗憾自负存念想,唯有时间不可挡。五年,思考了很多,也想明白了许多。正好借着年末&#…

可视化 Java 项目

有一定规模的 IT 公司,只要几年,必然存在大量的代码,比如腾讯,2019 年一年增加 12.9 亿行代码,现在只会更多。不管是对于公司,还是对于个人,怎么低成本的了解这些代码的对应业务,所提…

【设计模式--行为型--策略模式】

设计模式--行为型--策略模式 策略模式定义结构案例优缺点使用场景 策略模式 定义 该模式定义了一系列算法,并将每个算法封装起来,使他们可以相互替换,且算法的变化不会影响使用算法的客户。策略模式属于对象行为模式,它通过对算…

【摸鱼向】利用Arduino实现自动化切屏

曾几何时,每次背着老妈打游戏的时候都要紧张兮兮地听着爸妈是不是会破门而入,这严重影响了游戏体验,因此,最近想到了用Arduino加上红外传感器来实现自动监测的功能,当有人靠近门口的时候,电脑可以自动执行预…

Vmd+lstm代码详解 完整代码数据可直接运行

项目视频讲解:Vmd+lstm时间序列预测分类回归预测代码详解 完整代码可直接运行_哔哩哔哩_bilibili 项目演示效果: 代码详解: # -*- coding: utf-8 -*- # 导入库pip install openpyxl -i https://pypi.tuna.tsinghua.edu.cn/simple import pandas as pd import numpy as np fr…

解决:ModuleNotFoundError: No module named ‘ldm‘

import sys sys.path.append(程序所在路径) 就好了

《TDA4》专栏导航

文章目录 1. 前言2. 章节1. 前言 《TDA4》专栏主要介绍TI TDA4芯片的工程应用笔记,“授人以鱼不如授人以渔”,本专栏着眼于如何从零上手一款复杂的多核异构的芯片平台,其中包含了博主如何查找资料,如何寻求资源,如何实验测试,如何搭建环境等点点滴滴的过程,希望对TDA4感…

计算机网络网络层(期末、考研)

计算机网络总复习链接🔗 目录 路由算法静态路由与动态路由距离-向量算法链路状态路由算法层次路由 IPv4(这个必考)IPv4分组IPv4地址与NAT子网划分与子网掩码、CIDRARP、DHCP与ICMP地址解析协议ARP动态主机配置协议DHCP IPv6IPv6特点 路由协议…

用什么台灯可以护眼?考研必备的护眼台灯推荐

台灯是我们日常生活中必不可少的一盏灯具,不管是休闲、办公,还是学习阅读都需要使用它。如今随着生活质量的提升,大家对健康的问题也越来越重视了,可以改善用光不适、预防眼睛近视的护眼台灯,也越来越受大家所拥戴。 …

若依框架前后端分离版创建新的模块,并且使用mybatis-plus

首先创建新的模块 resources里面只留下mapper的xml文件,其他配置文件都删除,像application.yml这些,都在admin模块里面有了,其他模块不需要创建。 需要注意一点,把自己模块的controller放到admin的controller目录下&…