导航:首页 > 网络数据 > 大数据hadoop原理

大数据hadoop原理

发布时间:2022-05-23 21:49:46

㈠ 为什么要使用Hadoop

感觉现在各个公司使用Hadoop的方式都不一样,主要我觉得有两种吧。
第一种是long running cluster形式,比如Yahoo,不要小看这个好像已经没什么存在感的公司,Yahoo可是Hadoop的元老之一。这种就是建立一个Data Center,然后有几个上千Node的Hadoop Cluster一直在运行。比较早期进入Big Data领域的公司一般都在使用或者使用过这种方式。
另一种是只使用MapRece类型。毕竟现在是Cloud时代,比如AWS的Elastic MapRece。这种是把数据存在别的更便宜的地方,比如s3,自己的data center, sql database等等,需要分析数据的时候开启一个Hadoop Cluster,Hive/Pig/Spark/Presto/java分析完了就关掉。不用自己做Admin的工作,方便简洁。
所以个人如果要学Hadoop的话我也建议第二种,AWS有免费试用时间(但是EMR并不免费,所以不要建了几千个Node一个月后发现破产了),可以在这上面学习。最重要的是你可以尝试各种不同的配置对于任务的影响,比如不同的版本,不同的container size,memory大小等等,这对于学习Spark非常有帮助。
总的来说Hadoop适合应用于大数据存储和大数据分析的应用,适合于服务器几千台到几万台的集群运行,支持PB级的存储容量。Hadoop典型应用有:搜索、日志处理、推荐系统、数据分析、视频图像分析、数据保存等。

㈡ 大数据的Hadoop是做什么的

Hadoop是一个由抄Apache基金会所开发的分布式系统基础架构,是用Java语言开发的一个开源分布式计算平台,适合大数据的分布式存储和计算平台。
Hadoop是目前被广泛使用的大数据平台,本身就是大数据平台研发人员的工作成果,Hadoop是目前比较常见的大数据支撑性平台。

㈢ Hadoop在大数据中有什么作用

HDFS按照Master和Slave的结构。分为NameNode、SecondaryNameNode、DataNode这几个角色。

NameNode:是Master节点,是大领导。管理数据块映射;处理客户端的读写请求;配置副本策略;管理HDFS的名称空间。

SecondaryNameNode:是一个小弟,分担大哥namenode的工作量;是NameNode的冷备份;合并fsimage(元数据镜像文件,文件系统的目录树)和fsedits(元数据的操作日志,针对文件系统做的修改操作记录),然后再发给namenode。

DataNode:是Slave节点,是奴隶,干活的。负责存储客户端发来的block;执行block的读写操作。NameNode和DataNode之间的通信是通过心跳机制实现的。

Map(映射)任务处理:

读取HDFS中的文件。每一行解析成一个。每一个键值对调用一次map函数。map函数接收前面产生的,进行处理,转换为新的输出。对转换后的进行分区。对不同分区中的数据按key进行排序、分组。分组指的是相同key的value放到一个集合中。

Rece(归约)任务处理:

多个map任务的输出,按照不同的分区,通过网络到不同的rece节点上。对多个map的输出进行合并、排序。覆盖rece函数,接收的是分组后的数据,实现自己的业务逻辑,处理后,产生新的输出。对rece输出的写到HDFS中。

关于Hadoop在大数据中有什么作用,青藤小编就和您分享到这里了。如果您对大数据工程有浓厚的兴趣,希望这篇文章能够对你有所帮助。如果您还想了解更多关于数据分析师、大数据工程师的技巧及素材等内容,可以点击本站的其他文章进行学习。

㈣ 大数据应用较多的技术都有哪些

简单说有三大核心技术:拿数据,算数据,卖数据。通用化的大数版据处理框架,主要分为权下面几个方面:数据采集与预处理、数据存储、数据清洗、数据查询分析和数据可视化。涉及到的技术很多
Logstash
Sqoop
Strom
Zookeeper
Hadoop
等等

㈤ hadoop的特点

通俗来讲,Hadoop是由Apache软件基金会所开发出来的开放源代码分布式计算技术,是专门针对大量且结构复杂的大数据分析所设计,其目的不是为了瞬间反应、撷取和分析数据,而是通过分布式的数据处理模式,大量扫描数据文件以产生结果。其在效能与成本上均具有优势,再加上可通过横向扩充,易于应对容量增加的优点,因而备受瞩目。Hadoop不需要使用商业服务器,一般在个人计算机上就能运转。用户可利用网络连接两台以上的电脑组成服务器群,即所谓的“丛集”,丛集内的主机会分工合作处理数据。随着需要处理的数据量越来越大,只要不断增加计算机数量,而不需修改应用程序代码,就能立即提高Hadoop的运算能力。总而言之,Hadoop可以用更低的成本,得到更高的运算效能,提高数据分析的能力,也难怪有些人称Hadoop为大数据的救星,这说法虽然夸张,但却有几分真实,因为通过Hadoop,就算资金不够雄厚的个人或组织,也能分析大量的结构与非结构数据。

㈥ 大数据只需要掌握hadoop吗

如果抄只是应用Hadoop/Spark进行数据分析,那么JavaSE只需要基本了解就行了,重点在于深入理解Hadoop/Spark各自的计算模型和实现原理,以及常见的数据分析方法和分布式算法。实际的分析工作,甚至可以不使用java,使用各自的streaming接口用任意语言编写。另外,Spark与Hadoop不同,原生语言是Scala。

如果要深入学习两个框架的实现,阅读源代码的话,那肯定就得学习Java/Scala了,建议在掌握基础之后边看代码边查相应的语言特性。

对初学者,建议还是从应用入手,在使用的过程中,自然地一步步了解实现。

㈦ 为什么会有第一代大数据hadoop和第二代大数据spark

首先看一下Hadoop解决了什么问题,Hadoop就是解决了大数据(大到一台计算机无法进行存储,一台计算机无法在要求的时间内进行处理)的可靠存储和处理。

HDFS,在由普通PC组成的集群上提供高可靠的文件存储,通过将块保存多个副本的办法解决服务器或硬盘坏掉的问题。
MapRece,通过简单的Mapper和Recer的抽象提供一个编程模型,可以在一个由几十台上百台的PC组成的不可靠集群上并发地,分布式地处理大量的数据集,而把并发、分布式(如机器间通信)和故障恢复等计算细节隐藏起来。而Mapper和Recer的抽象,又是各种各样的复杂数据处理都可以分解为的基本元素。这样,复杂的数据处理可以分解为由多个Job(包含一个Mapper和一个Recer)组成的有向无环图(DAG),然后每个Mapper和Recer放到Hadoop集群上执行,就可以得出结果。

㈧ 为何要学Hadoop

这是现在流行的大数据处理平台几乎已经成为大数据的代名词,所以这个是必学的。Hadoop里面包括几个组件HDFS、MapRece和YARN,HDFS是存储数据的地方就像我们电脑的硬盘一样文件都存储在这个上面,MapRece是对数据进行处理计算的,它有个特点就是不管多大的数据只要给它时间它就能把数据跑完,但是时间可能不是很快所以它叫数据的批处理。YARN是体现Hadoop平台概念的重要组件有了它大数据生态体系的其它软件就能在hadoop上运行了,这样就能更好的利用HDFS大存储的优势和节省更多的资源比如我们就不用再单独建一个spark的集群了,让它直接跑在现有的hadoop yarn上面就可以了。其实把Hadoop的这些组件学明白你就能做大数据的处理了,只不过你现在还可能对"大数据"到底有多大还没有个太清楚的概念,听我的别纠结这个。等以后你工作了就会有很多场景遇到几十T/几百T大规模的数据,到时候你就不会觉得数据大真好,越大越有你头疼的。当然别怕处理这么大规模的数据,因为这是你的价值所在,让那些个搞Javaee的php的html5的和DBA的羡慕去吧。

㈨ 大数据都是需要什么技术的

大数据技来术庞大复杂自,基础的技术包含数据的采集、数据预处理、分布式存储、NoSQL数据库、数据仓库、机器学习、并行计算、可视化等范畴

查询引擎:Phoenix、Shark、Pig、Hive等

流式计算:storm、Twitter Rainbird等

迭代计算:Apache Hama、Apache Giraph、HaLoop等

离线计算:Hadoop MapRece、Berkeley Spark等

键值存储:LevelDB、RocksDB、HyperDex、Voldemort等

表格存储:OceanBase、Amazon SimpleDB、Cassandra、HBase等

文件存储:CouchDB、MongoDB、HDFS等

资源管理:Twitter Mesos、Hadoop Yarn

㈩ hadoop框架的核心是什么

maprece
由于现在大家都接触的是hadoop2.x。对于hadoop1.x了解还是比较少的。
很多人问,如果没有1.x的基础,能否学习hadoop2.x。答案是可以的。但是如果了解hadoop1.x有助于我们理解hadoop2.x。
我们来看看hadoop1.x存在哪些问题?

hadoop有jobtracker,trasktracker.对于jobtracker,trasktracker刚接触其实还是比较抽象的。可能多次遇到过。但是对于它的认识和理解还是比较模糊。
我们这里打个比喻:在一个组织结构中,既有管理者,又有执行者。而jobtracker,trasktracker则是管理者,执行者是map task和rece task。

trasktracker像是一个中层管理者,既监控执行者--map task和rece task,如果map任务或rece任务有更新,会通过心跳(一般间隔是3秒)告诉TraskTracker,TraskTracker再通过心跳(一般至少5s,因为代价比较大)告诉JobTracker。

JobTracker是最高层管理者,它接受trasktracker的心跳,负责资源管理和job的调度。

上面如果你思维谨密,就能看出,如果一旦最高层管理JobTracker挂掉,那么整个集群就瘫痪了。
为什么那?
1.不能提交job。
2.不能分配资源
3.job无法调度
这就有点像一个国家的leader挂掉了,那么谁会来负责国家的运转。如果你了解运行机制,其实也是有方案的。而这个方案就是我们所熟悉的高可用方案。而如果JobTracker挂掉了,显然hadoop集群就挂掉了。所以显然hadoop1.x是存在缺陷的。

既然存在缺陷,那么我们该如何来弥补。如果还是在原先的框架上修改,弄两个jobtracker是否可以。这肯定是一种方案。但是hadoop也是有野心的。作为大数据最初的开拓者,Spark,storm都非常的活跃。
所以我们列出了,hadoop需改造的下面需求:
1.hadoop存在单点故障
2.hadoop能否统一spark,storm

从上面我们看到hadoop自身存在问题,需要改造,同时又想统一spark和storm。所以hadoop急切需要改造升级

这里想到了很多种解决方案。

方案1:两个jobtraker

hadoop自身来讲,既然存在单点故障,所以那么我们可以创建两个jobtraker,这是否可以。答案是可以的。因为一旦一个挂掉。我们启用另外一个jobtraker,这也是合适的。但是还存在另外一个问题,就是该如何统一spark和storm。如果spark和storm运行的话,两个jobtraker是否可以。答案是不行的,因为jobtraker其实还是没有脱离他本身的框架,只能运行hadoop的map和rece。spark的DAG和storm的拓扑,还是不能运行的。那如果你说我们在jobtraker中加入不就行了。可是这是相当麻烦的,jobtraker肯定会累死的,他的任务太多。显然需要分离的职务。

方案2:Yarn
两个jobtraker是不行了,那么就从jobtraker职能分离并且解决存在的问题
1.性能问题
2.单点故障
3.能运行maprece,spark,storm。

所以这时候就产生了Yarn。

补充hadoop的发展历程
(1)Hadoop 1.0
Hadoop 1.0即第一代Hadoop,由分布式存储系统HDFS和分布式计算框架MapRece组成,其中,HDFS由一个NameNode和多个DataNode组成,MapRece由一个JobTracker和多个TaskTracker组成,对应Hadoop版本为Apache Hadoop 0.20.x、1.x、0.21.X、0.22.x和CDH3。
(2)Hadoop 2.0
Hadoop 2.0即第二代Hadoop,为克服Hadoop 1.0中HDFS和MapRece存在的各种问题而提出的。针对Hadoop 1.0中的单NameNode制约HDFS的扩展性问题,提出了HDFS Federation,它让多个NameNode分管不同的目录进而实现访问隔离和横向扩展,同时它彻底解决了NameNode 单点故障问题;针对Hadoop 1.0中的MapRece在扩展性和多框架支持等方面的不足,它将JobTracker中的资源管理和作业控制功能分开,分别由组件ResourceManager和ApplicationMaster实现,其中,ResourceManager负责所有应用程序的资源分配,而ApplicationMaster仅负责管理一个应用程序,进而诞生了全新的通用资源管理框架YARN。基于YARN,用户可以运行各种类型的应用程序(不再像1.0那样仅局限于MapRece一类应用),从离线计算的MapRece到在线计算(流式处理)的Storm等。Hadoop 2.0对应Hadoop版本为Apache Hadoop 0.23.x、2.x和CDH4。

(3)MapRece 1.0或MRv1
MapRece 1.0计算框架主要由三部分组成,分别是编程模型、数据处理引擎和运行时环境。它的基本编程模型是将问题抽象成Map和Rece两个阶段,其中Map阶段将输入数据解析成key/value,迭代调用map()函数处理后,再以key/value的形式输出到本地目录,而Rece阶段则将key相同的value进行规约处理,并将最终结果写到HDFS上;它的数据处理引擎由MapTask和ReceTask组成,分别负责Map阶段逻辑和Rece阶段逻辑的处理;它的运行时环境由(一个)JobTracker和(若干个)TaskTracker两类服务组成,其中,JobTracker负责资源管理和所有作业的控制,而TaskTracker负责接收来自JobTracker的命令并执行它。该框架在扩展性、容错性和多框架支持等方面存在不足,这也促使了MRv2的产生。
(4)MRv2
MRv2具有与MRv1相同的编程模型和数据处理引擎,唯一不同的是运行时环境。MRv2是在MRv1基础上经加工之后,运行于资源管理框架YARN之上的计算框架MapRece。它的运行时环境不再由JobTracker和TaskTracker等服务组成,而是变为通用资源管理系统YARN和作业控制进程ApplicationMaster,其中,YARN负责资源管理和调度,而ApplicationMaster仅负责一个作业的管理。简言之,MRv1仅是一个独立的离线计算框架,而MRv2则是运行于YARN之上的MapRece。
(5)YARN
YARN是Hadoop 2.0中的资源管理系统,它是一个通用的资源管理模块,可为各类应用程序进行资源管理和调度。YARN不仅限于MapRece一种框架使用,也可以供其他框架使用,比如Tez(将在第9章介绍)、Spark、Storm(将在第10章介绍)等。YARN类似于几年前的资源管理系统Mesos(将在12章介绍)和更早的Torque(将在6章介绍)。由于YARN的通用性,下一代MapRece的核心已经从简单的支持单一应用的计算框架MapRece转移到通用的资源管理系统YARN。
(6)HDFS Federation
Hadoop 2.0中对HDFS进行了改进,使NameNode可以横向扩展成多个,每个NameNode分管一部分目录,进而产生了HDFS Federation,该机制的引入不仅增强了HDFS的扩展性,也使HDFS具备了隔离性。

阅读全文

与大数据hadoop原理相关的资料

热点内容
win10商城下载文件在哪 浏览:975
系统制作镜像文件 浏览:249
苹果手机指纹贴有危险 浏览:329
哪里有高中生学编程的 浏览:984
二零一八版cad的文件布局 浏览:181
js右键选中treeview 浏览:904
linux系统交换分区的文件格式是 浏览:218
数控机床编程里u5代表什么意思 浏览:202
da14580可以跑linux 浏览:819
电脑文件后缀名编程有哪些 浏览:832
怎么画网络狗头 浏览:452
javagetfoldername 浏览:994
设置小爱同学下载什么app 浏览:50
中行网银网络错误 浏览:773
华为手机开机密码 浏览:99
手机怎么连接学校网络 浏览:431
数控复合循环轮廓切割怎么编程 浏览:728
ajaxjson上传文件 浏览:801
proplusww文件夹下载 浏览:609
微信一点通 浏览:429

友情链接