大数据教程之Apache-Hadoop简介_apache hadoop为适应不同应用,不断改进,截至目前一个出现了以下三个版本-程序员宅基地

技术标签: java  好程序员  大数据培训  编程语言  hadoop  分布式  大数据  

好程序员大数据培训分享Apache-Hadoop简介,一、Hadoop出现的原因:现在的我们,生活在数据大爆炸的年代。国际数据公司已经预测在2020年,全球的数据总量将达到44ZB,经过单位换算后,至少在440亿TB以上,也就是说,全球每人一块1TB的硬盘都存储不下。

一些数据集的大小更远远超过了1TB,也就是说,数据的存储是一个要解决的问题。同时,硬盘技术也面临一个技术瓶颈,就是硬盘的传输速度(读数据的速度)的提升远远低于硬盘容量的提升。我们看下面这个表格:

表格

硬盘瓶颈比较

可以看到,容量提升了将近1000倍,而传输速度才提升了20倍,读完一个硬盘的所需要的时间相对来说,更长更久了(已经违反了数据价值的即时性)。读数据都花了这么长时间,更不用说写数据了。

对于如何提高读取数据的效率,我们已经想到解决的方法了,那就是将一个数据集存储到多个硬盘里,然后并行读取。比如1T的数据,我们平均100份存储到100个1TB硬盘上,同时读取,那么读取完整个数据集的时间用不上两分钟。至于硬盘剩下的99%的容量,我们可以用来存储其他的数据集,这样就不会产生浪费。解决读取效率问题的同时,我们也解决了大数据的存储问题。

但是,我们同时对多个硬盘进行读/写操作时,又有了新的问题需要解决:

1、硬件故障问题。一旦使用多个硬件,相对来说,个别硬件产生故障的几率就高,为了避免数据丢失,最常见的做法就是复制(replication):文件系统保存数据的多个复本,一旦发生故障,就可以使用另外的复本。

2、读取数据的正确性问题。大数据时代的一个分析任务,就需要结合大部分数据来共同完成分析,因此从一个硬盘上读取的数据要与从其他99个硬盘上读取的数据结合起来使用。那么,在读取过程中,如何保证数据的正确性,就是一个很大的挑战。

有人会想,既然使用了多个硬盘,为什么不用配有多个硬盘的关系型数据库来进行数据的存储和分析呢?其实,这个主要取决于硬盘发展的一个技术限制,那就是需要寻址操作。我们从关系型数据库中读取数据包含着大量的寻址操作,那么寻址所产生的时间开销必然会大大的增加,再加上读取数据的时间,就更加漫长了。还有一个原因,关系型数据库不适合存储半结构化和非结构化的数据,而这个时代,半结构化和非结构化的数据占90%,而结构化数据只占10%。

针对于上述几个问题,Hadoop为我们提供了一个可靠的且可扩展的存储和分析平台,此外,由于Hadoop运行在商用硬件上且是开源的,因此Hadoop的使用成本是比较低了,在用户的承受范围内。

二、Hadoop的简介
Hadoop是Apache基金会旗下的一个开源的分布式计算平台,是基于Java语言开发的,有很好的跨平台特性,并且可以部署在廉价的计算机集群中。用户无需了解分布式底层细节,就可以开发分布式程序,充分利用集群的威力进行高速运算和存储。

最初,Hadoop的核心技术是HDFS和MapReduce。

HDFS是Hadoop分布式文件系统(Hadoop Distributed File System)的简称,它具有较高的读写速度,很好的容错性和可伸缩性,为海量的数据提供了分布式存储,其冗余数据存储的方式很好的保证了数据的安全性。

MapReduce是一种用于并行处理大数据集的软件框架(编程模型)。用户可在无需了解底层细节的情况下,编写MapReduce程序进行分析和处理分布式文件系统上的数据,MapReduce保证了分析和处理数据的高效性。

因其在分布式环境下提供了高效的,海量的数据的优秀处理能力,Hadoop被公认为大数据行业中的标准开源软件。几乎所有主流的厂商如谷歌,雅虎,微软,淘宝等等这样的大公司都是围绕Hadoop进行提供开发工具,开源软件,商业化工具或技术服务的。

在Hadoop2.0以后,又引入了另一个核心技术:YARN(Yet Another Resource Negotiator)。它是一个任务调度和集群资源管理系统,主要有两类长期运行的守护线程来提供自己的核心服务:一类是用于管理集群上资源使用的资源管理器(Resouce Manager),另一类是运行在集群中各个节点上且能够启动和监控容器(container)的节点管理器(Node Manager)。

发展到现在的Hadoop3.x可以概括成以下五个模块:

Hadoop Common:由原来的Hadoop core更名而来。以前的版本中core包含HDFS、MapReduce及其其他公共部分。后来HDFS和MapReuce被分离出来作为独立的子项目,剩下的公共部分更名为Common。主要包括系统配置工具Configuration、远程过程调用RPC、序列化机制和Hadoop抽象文件系统FileSystem等。它们为在通用硬件上搭建云计算环境提供基本的服务,并为运行在该平台上的软件开发提供了所需的API。
Hadoop HDFS:Hadoop的核心技术之一,分布式文件系统
Hadoop YARN:Hadoop2.0以后新增的一个核心技术,资源管理系统
Hadoop MapReduce:Hadoop的核心技术之一,编程模型,用于大规模数据集的并行计算。
Hadoop Ozone:HDFS的一个扩展方向,对象存储技术。
关于Hadoop这个名字的由来,该项目的创建者Doug Cutting是这样解释的:“这个名字是我孩子给一个棕黄色的大象玩具命名的。我的命名标准就是简短,容易发音和拼写,没有太多的意义,并且不会被用于别处。小孩子恰恰是这方面的高手。”

Hadoop的发音是 [hædu:p]。

三、Apache Hadoop发展史
Hadoop由知名项目Apache Lucene的创始人道格·卡丁(doug Cutting)创建。

它起源于Apache Nutch 项目(一个网页爬取工具和搜索引擎系统,后来遇到大数据量的网页存储问题)。
2003年,谷歌发表的一篇论文(描述的是“谷歌分布式文件系统”,简称GFS)给了Apache Nutch项目的开发者灵感。
2004年,Nutch的开发者开始着手 NDFS(Nutch的分布式文件系统)。
2004年 ,谷歌又发表了一篇介绍MapReduce系统的论文。
2005年,Nutch项目实现了一个MapReduce系统
2006年,开发人员将NDFS和MapReduce移出Nutch项目形成一个子项目,命名Hadoop
2008年,Hadoop已称为Apache的顶级项目。
2008年4月,Hadoop打破世界记录,成为最快排序1TB数据的系统,排序时间为209秒
2009年,Hadoop把1TB数据的排序时间缩短到62秒。
从此名声大噪,现在很多公司都在使用,如雅虎,last.fm,FaceBook,《纽约时报》等等
目前Hadoop的版本发展,hadoop1.x > hadoop2.x > hadoop3.x
四、Hadoop的特点
Hadoop因为是基于Java语言开发的,因此最理想的运行平台就是Linux系统了。它也支持多种编程语言,如C++,PHP等等。

也可以总结出以下优点:

高可靠型。Hadoop按位存储和处理数据的能力值得人们信赖。
高效性。Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快,可以处理PB级数据。
高可扩展性。Hadoop的设计目标是可以高效的稳定的运行在廉价的计算机集群上,可以扩展到数以千计的计算机节点。
高容错性。采用冗余数据存储方式,自动保存数据的多个复本,并且能够自动将失败的任务进行重新分配
成本低。Hadoop采用廉价的计算机集群,成本比较低,普通用户也可以使用自己的电脑来搭建Hadoop环境

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_35970166/article/details/106420974

智能推荐

【软件基础】面向对象分析与设计思想总结-程序员宅基地

文章浏览阅读1.3k次。面向对象的本质:通过对象之间的协作完成功能。面向对象的特点:采用封装、继承、多态和抽象等设计方法。面向过程和面向对象开发中,在分析问题面向过程:拿到问题分析问题如何解决的步骤;面向对象:拿到问题分析问题中有哪些类,类的属性与方法,类与类之间的关系。面向对象遵循:合适的方法应该出现在合适的类中。_面向对象分析

电脑应用工具背景变为护眼绿?_电脑被护眼助手弄得背景是绿色的-程序员宅基地

文章浏览阅读424次。背景变为护眼绿?1、打开注册表--利用doc命令,即“Win+R”组合快捷键打开“运行”,输入regedit命令。2、修改路径下的值 路径:HKEY_CURRENT_USER->Control Panel->Colors->双击window 将其值改为:204 232 207 3、重启系统即可!4.若对你有所帮助请点个赞。..._电脑被护眼助手弄得背景是绿色的

双系统linux分多少内存,win+linux双系统的用户,你们的linux分了多少分区?-程序员宅基地

文章浏览阅读943次。hgywww 于 2010-02-03 22:19:15发表:挺好的调查kantiede 于 2010-01-31 14:39:50发表:学习爱唯一 于 2010-01-31 12:13:32发表:分给linux十个G,然后给他分了四个区sagawf 于 2009-11-17 21:03:54发表:win10Gfedora11 15Gyanchao1988 于 2009-11-17 11..._win+lin双系统lin配置多少储存

神经网络硕士就业前景,计算神经科学就业前景_神经网络就业-程序员宅基地

文章浏览阅读7.8k次。一、算法工程师简介(通常是月薪15k以上,年薪18万以上,只是一个概数,具体薪资可以到招聘网站如拉钩,猎聘网上看看)算法工程师目前是一个高端也是相对紧缺的职位;算法工程师包括音/视频算法工程师(通常统称为语音/视频/图形开发工程师)、图像处理算法工程师、计算机视觉算法工程师、通信基带算法工程师、信号算法工程师、射频/通信算法工程师、自然语言算法工程师、数据挖掘算法工程师、搜索算法工程师、控制算法工程师(云台算法工程师,飞控算法工程师,机器人控制算法)、导航算法工程师(@之介感谢补充)、其他【其他一切需要复杂_神经网络就业

Cocos Creator中使用对象池(官方文档摘录)_cocos creator网络请求时如何获取当前的对象-程序员宅基地

文章浏览阅读3k次。在运行时进行节点的创建(cc.instantiate)和销毁(node.destroy)操作是非常耗费性能的,因此我们在比较复杂的场景中,通常只有在场景初始化逻辑(onLoad)中才会进行节点的创建,在切换场景时才会进行节点的销毁。如果制作有大量敌人或子弹需要反复生成和被消灭的动作类游戏,我们要如何在游戏进行过程中随时创建和销毁节点呢?这里就需要对象池的帮助了。对象池的概念对象池就是一组可回收的节_cocos creator网络请求时如何获取当前的对象

网管软件——Acronis True Image Enterprise Server 9-程序员宅基地

文章浏览阅读206次。服务器的系统备份一直困饶着企业网管,ghost也是从版本8系列开始支持ntfs格式,虽说也可以达到了备份服务器系统的要求,但效果无法满足实时备份(系统运行过程中实行备份),现在介绍的是由acronis出品的Acronis True Image Enterprise Server可以实现一健(F11)进行备份及恢复,而且可以在增量备份,不影响系统正常运行的情况下。这是安装好后..._acronis true image 9

随便推点

KindEditor 编辑器在springboot使用_springboot kindeditor-程序员宅基地

文章浏览阅读1.7k次。KindEditor 编辑器在springboot使用官网下载kindEditor解决视频上传问题官网下载kindEditor **1. **官网地址 : http://kindeditor.net/down.php****2.下载后解压;将解压文件引入到项目中由于在java中使用;去掉不用的文件 asp,asp.net jsp;3.引入js,我这里使用的是thymeleaf模板4.html页面引入 ;也可以在页面直接引入js ; 添加文本框 <th:block th:_springboot kindeditor

网络安全人才青黄不接、数字化转型迫在眉睫、你还在犹豫吗?_网安行业需要的是顶尖人才-程序员宅基地

文章浏览阅读5.3k次,点赞5次,收藏10次。网络上关于质疑大专学历进入网络安全行业的声音越来越多了,居然有很多人在质疑大专学历从事网络安全没有竞争力。很多人看到某些招聘软件上起薪12K的薪资就望而却步了,觉得自己的能力不配拥有这样的高薪,并且网络安全还是属于计算机行业的。有这样的担忧其实不是空穴来风,因为计算机行业近年来的发展速度快,行业内很多岗位已经呈现出了饱和的现象,特别是程序员这种重复性工作的岗位。由于市场人才的饱和,所以公司可以用同样的价钱找到条件更好的人才。所以就出现了近年来,网络安全行业的要求越来越高,非985、211都对很多岗位望而却步_网安行业需要的是顶尖人才

vue element远程搜索下拉框出tooltip el-autocomplete下拉框出省略号时鼠标移上去出提示_el-autocomplete 下拉太长省略-程序员宅基地

文章浏览阅读2.3k次,点赞8次,收藏13次。vue element远程搜索下拉框出tooltip el-autocomplete下拉框出省略号时鼠标移上去出提示 需求如下效果图如下对el-tooltip进行了二次封装组件使用需求如下1.element远程搜索框下 下拉框文字超出宽度后会出省略号 要求鼠标移上去能够出文字效果图如下对el-tooltip进行了二次封装<template> <el-tooltip ref="tlp" :content="text" effect="dark" _el-autocomplete 下拉太长省略

Java多线程知识点总结(思维导图+源码笔记,Java架构师成长路线-程序员宅基地

文章浏览阅读713次,点赞5次,收藏10次。又是一年求职季,在这里,我为各位准备了一套Java程序员精选高频面试笔试真题,来帮助大家攻下BAT的offer,题目范围从初级的Java基础到高级的分布式架构等等一系列的面试题和答案,用于给大家作为参考以下是部分内容截图最后又是一年求职季,在这里,我为各位准备了一套Java程序员精选高频面试笔试真题,来帮助大家攻下BAT的offer,题目范围从初级的Java基础到高级的分布式架构等等一系列的面试题和答案,用于给大家作为参考以下是部分内容截图。

Sci-Hub的URL使用_scihub url-程序员宅基地

文章浏览阅读2.7k次。目录标题@[TOC](目录标题)借鉴文章出处URL就是出版商的文章页面路径,要把文章的全部网址复制到Sci-Hub主页的搜索框进行搜索。_scihub url

如何从零将vue+springboot项目打包部署到云服务器(亲测,图文教程超详细!!)_spring boot vue 部署 图解-程序员宅基地

文章浏览阅读5.2k次,点赞30次,收藏115次。手把手教如何将个人项目部署到云服务器(超详细!!)步骤目录手把手教如何将个人项目部署到云服务器(超详细!!)前言一、云服务器设置1.1 首先去购买一个云服务器,阿里或腾讯,具体步骤就不讲了1.2 拿到服务器后先修改密码1.3 修改服务器安全组策略1.4 远程连接云服务器二、远程服务器环境配置2.1 安装jdk(1) 将Linux系统下自带JDK(如果原先安装过,无则忽略)的删除(2) JDK11的安装(3) 设置JAVA_HOME2.2 安装配置MySQL(1)下载mysql(2)卸载Maria DB_spring boot vue 部署 图解

推荐文章

热门文章

相关标签