当我们说大数据Hadoop,究竟在说什么?
前言
提到大数据,大抵逃不过两个问题,一个是海量的数据该如何存储,另外一个就是那么多数据该如何进行查询计算呢。好在这些问题前人都有了解决方案,而Hadoop就是其中的佼佼者,是目前市面上最流行的一个大数据软件,那它包括哪些内容呢?有什么特点呢?
Hadoop介绍
提到Hadoop,大家的理解是什么?
狭义上理解,Hadoop指的是Apache软件基金会的一款用java语言实现,开源的软件,允许用户使用简单的编程模型实现跨机器集群对海量数据进行分布式计算处理。
广义上,Hadoop指的是围绕Hadoop打造的大数据生态圈,如下图所示, 其中Hadoop是整个生态圈的底座、地基,构建出整个大数据的生态系统。
Hadoop怎么来的?
Hadoop之父:Doug Cutting
《The Google file system》:谷歌分布式文件系统GFS
《MapReduce: Simplified Data Processing on Large Clusters》:谷歌分布式计算框架MapReduce
《Bigtable: A Distributed Storage System for Structured Data》:谷歌结构化数据存储系统
Hadoop三大核心组件
hadoop主要由3大部分组成,俗称Hadoop三剑客:
Hadoop HDFS(分布式文件存储系统)
全称分布式文件系统,本质是一个文件系统,由于数据量很大,总不能将将所有数据存储到一台"电脑"上,哪有那么大磁盘的电脑,那么是不是可以存储到多个不同的"电脑"上,也就是分布式的,把文件存储在不同的节点中,主要是为了解决海量数据存储的问题,它处在生态圈的底层与核心地位。
Hadoop MapReduce(分布式计算框架)
MapReduce作为大数据生态圈第一代分布式计算框架,主要是解决了海量数据的计算问题。
传统的计算方式一般都是将数据从各个节点上加载过来,然后统一计算。这样有个最大的弊端就是计算十分慢,只有一个节点工作。而MapReduce计算框架可以分布在各个节点上并行计算,最后进行归并。
注意,MapReduce只是一个计算框架,或者说编程模型,不是一个软件,无需部署。
Hadoop YARN(集群资源管理和任务调度平台)
YARN是分布式通用的集群资源管理系统和任务调度平台,怎么理解呢?
大数据的很多计算任务,比如MapReduce任务、或者其他的Spark任务等等,他们在计算的时候需要CPU、内存、磁盘等资源,那么多个任务进行运算的时候需要有个管理者去给他们进行资源分配、调度等,这个管理员就是YARN。
Hadoop优点
Hadoop为什么这么流行,这和它的众多优点分不开。
- 扩容能力
Hadoop是在可用的计算机集群间分配数据并完成计算任务的,这些集群可方便灵活的方式扩展到数以千计的节点。
- 成本低
Hadoop集群允许通过部署普通廉价的机器组成集群来处理大数据,以至于成本很低。看重的是集群整体能力。
- 效率高
通过并发数据,Hadoop可以在节点之间动态并行的移动数据,使得速度非常快。
- 可靠性
能自动维护数据的多份复制,并且在任务失败后能自动地重新部署(redeploy)计算任务。所以Hadoop的按位存储和处理数据的能力值得人们信赖。
- 开源
由于Hadoop开源,所以整个社区活跃度很高,很多企业都是基于Hadoop构建他们的大数据平台。
Hadoop架构变迁
Hadoop也一直在迭代升级,如今已经到了3.0时代了,那么每个大版本有什么差别呢?
1.Hadoop 1.0时代
Hadoop1.0时代只有HDFS(分布式文件存储)和MapReduce(资源管理和分布式数据处理)两部分。
2.Hadoop 2.0时代
Hadoop2.0时代引入了YARN作为统一的集群资源管理和任务调度平台,它不仅可以提交自己的任务,还可以提交其他的一些任务,是一个很大的变革,也是保证Hadoop的统治地位的一大原因。
3.Hadoop 3.0时代
Hadoop 3.0架构组件和Hadoop 2.0类似, 但是3.0着重于性能优化。
Hadoop初体验
好了,上面基本讲清楚Hadoop的基本内容,那Hadoop究竟长啥样呢?至于安装这边就不介绍了。
Hadoop分布式文件系统
我们可以在web上看到hadoop的文件系统,其实和我们的目录没啥差别。
YARN集群资源管理和任务调度平台
我们也可以在浏览器输入指定的地址看到之前都提交过上面样的计算任务。
至于MapReduce是看不到的,它只是一个计算框架,提交到这个Yarn上。
总结
本文讲解了大数据开发中最流行的软件Hadoop, 它主要分为3部分,管理文件存储的hdfs, 统一管理资源和任务的调度平台Yarn,以及提供了一种计算引擎MapReduce, 基于这三个"磐石",可以构建出整个大数据生态。
如果本文对你有帮助的话,请留下一个赞吧
更多技术干活欢迎关注公众号——JAVA旭阳
当我们说大数据Hadoop,究竟在说什么?的更多相关文章
- 王家林的“云计算分布式大数据Hadoop实战高手之路---从零开始”的第十一讲Hadoop图文训练课程:MapReduce的原理机制和流程图剖析
这一讲我们主要剖析MapReduce的原理机制和流程. “云计算分布式大数据Hadoop实战高手之路”之完整发布目录 云计算分布式大数据实战技术Hadoop交流群:312494188,每天都会在群中发 ...
- 云计算分布式大数据Hadoop实战高手之路第七讲Hadoop图文训练课程:通过HDFS的心跳来测试replication具体的工作机制和流程
这一讲主要深入使用HDFS命令行工具操作Hadoop分布式集群,主要是通过实验的配置hdfs-site.xml文件的心跳来测试replication具体的工作和流程. 通过HDFS的心跳来测试repl ...
- 云计算分布式大数据Hadoop实战高手之路第八讲Hadoop图文训练课程:Hadoop文件系统的操作实战
本讲通过实验的方式讲解Hadoop文件系统的操作. “云计算分布式大数据Hadoop实战高手之路”之完整发布目录 云计算分布式大数据实战技术Hadoop交流群:312494188,每天都会在群中发布云 ...
- 14周事情总结-机器人-大数据hadoop
14周随着考试的进行,其他该准备的事情也在并行的处理着,考试内容这里不赘述了 首先说下,关于机器人大赛的事情,受益颇多,机器人的制作需要机械和电控两方面 昨天参与舵机的测试,遇到的问题:舵机不动 排查 ...
- 成都大数据Hadoop与Spark技术培训班
成都大数据Hadoop与Spark技术培训班 中国信息化培训中心特推出了大数据技术架构及应用实战课程培训班,通过专业的大数据Hadoop与Spark技术架构体系与业界真实案例来全面提升大数据工程师 ...
- 大数据Hadoop学习之搭建hadoop平台(2.2)
关于大数据,一看就懂,一懂就懵. 一.概述 本文介绍如何搭建hadoop分布式集群环境,前面文章已经介绍了如何搭建hadoop单机环境和伪分布式环境,如需要,请参看:大数据Hadoop学习之搭建had ...
- 大数据hadoop面试题2018年最新版(美团)
还在用着以前的大数据Hadoop面试题去美团面试吗?互联网发展迅速的今天,如果不及时更新自己的技术库那如何才能在众多的竞争者中脱颖而出呢? 奉行着"吃喝玩乐全都有"和"美 ...
- 搭建大数据hadoop完全分布式环境遇到的坑
搭建大数据hadoop完全分布式环境,遇到很多问题,这里记录一部分,以备以后查看. 1.在安装配置完hadoop以后,需要格式化namenode,输入指令:hadoop namenode -forma ...
- 我搭建大数据Hadoop完全分布式环境遇到的坑---hadoop: command not found
搭建大数据hadoop环境,遇到很多问题,这里记录一部分,以备以后查看. [遇到问题].在安装配置完hadoop以后,需要格式化namenode,输入指令:hadoop namenode -forma ...
- [转帖]大数据hadoop与spark的区别
大数据hadoop与spark的区别 https://www.cnblogs.com/adnb34g/p/9233906.html Posted on 2018-06-27 14:43 左手中倒影 阅 ...
随机推荐
- Alertmanager 概念与配置深入介绍
文章转载自:https://www.cnblogs.com/gered/p/13496950.html 警报一直是整个监控系统中的重要组成部分,Prometheus监控系统中,采集与警报是分离的. 报 ...
- 高光谱图像分类简述+《Deep Learning for Hyperspectral Image Classification: An Overview》综述论文笔记
论文题目<Deep Learning for Hyperspectral Image Classification: An Overview> 论文作者:Shutao Li, Weiwei ...
- nsis插件nsisSlideshow.dll更新
更新至1.7版本,作者wiz0u已解决关于ie9的兼容问题.Good 下载地址: http://wiz0u.free.fr/prog/nsisSlideshow/latest.php
- POJ1655 Balancing Act (树的重心)
求树的重心的模板题,size[u]维护以u为根的子树大小,f[u]表示去掉u后的最大子树. 1 #include<cstdio> 2 #include<iostream> 3 ...
- python基础作业2
目录 编写一个用户认证装饰器 利用有参装饰器编写多种用户登录校验策略 利用递归函数依次打印列表中每一个数据值 获取用户权限并校验用户登录 编写一个用户认证装饰器 """ ...
- 我的Vue之旅 07 Axios + Golang + Sqlite3 实现简单评论机制
第三期 · 使用 Vue 3.1 + TailWind.CSS + Axios + Golang + Sqlite3 实现简单评论机制 效果图 CommentArea.vue 我们需要借助js的Dat ...
- LOJ2325「清华集训 2017」小Y和恐怖的奴隶主
题目链接 首先dp很显然,\(f(i,s)\)表示到了第i轮,各种血量人数的情况为s今后的期望攻击boss次数.那么有\(f(i,s)=\frac{1}{num+1}*\sum_{s->s'}( ...
- windows设置开机启动程序
1.新建文件,填写路径 @echo off cd F:\程序路径\ //后面填写3D所在的路径 F: //程序的个盘符 run.bat 把这个文件填写完成后,改个名字,后缀改为bat,并把这个文件放在 ...
- [Err] 1052 - Column ‘roleId‘ in where clause is ambiguous
1.先看错误的sql语句: select a.authName from roles as r,authority as a,role_ah as ra where ra.roleId=r.roleI ...
- 2022年最新编辑Linux基础知识总结
文章目录 1.Linux的目录结构 2.远程操作Linux和上传文件到Linux 3.文本编辑 4.快捷键 5.登录.注销.关机.重启 6.用户管理 6.1 .新用户注册 6.2.使用新用户登录 6. ...
