当我们说大数据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 左手中倒影 阅 ...
随机推荐
- 安装ceph (快速) 步骤一:预检
官网地址:http://docs.ceph.org.cn/start/ 预检 安装一个 ceph-deploy 管理节点和一个三节点的Ceph 存储集群来研究 Ceph 的基本特性.这篇预检会帮你准备 ...
- 使用logstash同步mysql 多表数据到ElasticSearch实践
参考样式即可,具体使用配置参数根据实际情况而定 input { jdbc { jdbc_connection_string => "jdbc:mysql://localhost/数据库 ...
- (三)JPA - EntityManager的使用
(二)JPA 连接工厂.主键生成策略.DDL自动更新 建议在需要使用时,看看之前的文章,先把环境搭起来. 4.EntityManager EntityManager 是完成持久化操作的核心对象. En ...
- 移动端touch拖动事件和click事件冲突问题解决
通过一个悬浮球交互功能的案例来阐述问题,以及解决办法. 实现效果 类似微信里的悬浮窗效果,苹果手机的悬浮球功能效果 可以点击拖动,然后吸附在窗口边缘 点击悬浮球,可以跳转界面,或者更改悬浮球的形态 准 ...
- 【C++】从零开始的CS:GO逆向分析2——配置GLFW+IMGUI环境并创建透明窗口
[C++]从零开始的CS:GO逆向分析2--配置GLFW+IMGUI环境并创建透明窗口 使用的环境:Visual Studio 2017,创建一个控制台程序作为工程文件 1.配置glfw 在git ...
- 超强的纯 CSS 鼠标点击拖拽效果
背景 鼠标拖拽元素移动,算是一个稍微有点点复杂的交互. 而在本文,我们就将打破常规,向大家介绍一种超强的仅仅使用纯 CSS 就能够实现的鼠标点击拖拽效果. 在之前的这篇文章中 -- 不可思议的纯 CS ...
- 周末IT入门锦鲤
周末总结 第一小节 typora软件 是目前最火的文本编辑器 下载安装 路径尽量不要安装C盘,安装其他盘路径尽量简单方便后续查找使用. 文件路径 路径:计算机上一个文件资源的坐标,C:\XX文件\a. ...
- String 定义一个字符串
String 定义一个字符串,要用双引号,多个字符串用+号连接 String S = "sjosajojoaf"; System.out.println(S);
- 齐博x1背景图如何设置标签
背景图非常特殊,由于不能点击,所以他不能直接添加标签,需要添加一个辅助标签,比如类似下面的代码 {qb:hy name="xxa001" type="image" ...
- 论文笔记 - Calibrate Before Use: Improving Few-Shot Performance of Language Models
Motivation 无需参数更新的 In-Context Learning 允许使用者在无参数的更新的情况下完成新的下游任务,交互界面是纯粹的自然语言,无 NLP 技术基础的用户也可以创建 NLP ...
