Hadoop集群实现之原理初步探讨
来源:用户上传
作者:
摘要:随着信息技术的持续发展,大数据技术、AI技术成为时代的主流,大量数据的存储成为当前技术分析面临的第一个问题,存储数据,分析数据,是IT技术的核心,那么如何迅速存储海量数据,现在主要采用hadoop技术,该文在研究当下主要的hadoop技术的架构下,对技术原理做出论述。
关键词:hadoop;分布式存储;大数据;集群
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2019)11-0071-02
随着大数据时代的到来,各种大数据相关产业和技术也营运而生,那么什么是大数据呢?大数据归根结底就是很多的数据,那么多少数据谓之多呢,本来没有一个相对量化的概念,但是在如今各种个人电脑性能极大提高的近日,数据量很小如几个G等似乎都很容易被个人电脑轻松应对。但是现在各种行业,各种设备都会产生数据,数据动辄多少T字节,甚至网Z字节动荡。所以有人说,少于50T的数据都不能算是大数据。那50T是一个什么样的概念呢,一般一本长篇电子书也就是3~4MB的容量的样子,那么往大了说按5M算的话,1G就是200本以上的长篇小说,50T相当于10240000本长篇小说,试想如果在数千万本《红楼梦》或者《三国演义》这样的小说中去查找信息,工作量可想而知。但是如果仅仅是查找的话人力不可为,或许你会说计算机对于这样简单性质的比对还是比较能胜任,不错,计算机做简单的数学或者逻辑判断是擅长的快速的。但是如果这些信息是数千万张照片或者视频等形式的信息,近年来虽然智能识别如人脸识别等技术的发展,即使计算机的性能也有很大的提高,这些识别算法还是比较消耗性能的,何况是海量的数据那么难度和挑战肯定还是并存的。
1 什么是大数据
大数据(Big Data),是指无法在一定的时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能有更强的决策力、洞察发现力和流程优化能力的海量、高速增长的多样化信息资产1。
在以往鉴于人的精力和设备的局限性,对一些数据处理都是抽样处理,而大数据不是对数据进行抽样处理,而是所有数据,处理要得到的结论是不再是简单的精确匹配或者计算,而是在多个维度上进行复杂的相互关系的分析。IBM公司提出数据的5V特点, Volumn、Velocity、Varity、Value、Veracity分别指其在容量、速度、变化、价值、真实性等方面的要求。需要在快速的时间内手机大量的真实的信息,跟踪数据的变化,得到有价值的建议。
2 大数据的工作意义及过程
数据如果放在哪里不用就没有任何价值,甚至如果垃圾还占了大量的空间,大数据归根结底还是要从数据中提取信息,通俗讲,大数据就是处理大数据,其过程可以通过以下流程图来描述:
大数据就是从海量数据中去除无用数据,经过各种算法给客户提供决策信息的过程。
3 什么是Hadoop
Hadoop是一个由Apatch基金开发的分布式系统基础架构。提供给用户分布式程序,利用集群资源进行高速数据处理、运算、存储的服务。Hadoop框架的核心有HDFS和MapReduce,HDFS(hadoop distributed file system),分布式文件系统,通过高容错、低成本提供大数据集。而MapReduce为这些大数据集提供了处理能力。
总的来说,haddoop核心包括两大块,mapreduce提供任务分解和结果汇总,hdfs提供namenode文件管理和datanode文件存储功能,由client进行文件的获取。
3.1 HDFS 分布式文件系统
HDFS是hadoop框架中数据存储和管理的支撑,它高度容错,能检测和应对硬件故障,在低成本的硬件上提供了高性价比的数据存储和管理功能,通过流式数据访问提高吞吐量等应用程序性能给一些大型数据集应用程序提供数据资源。
Client提供切片访问,与HDFS和数据主节点DataNode交互,读取或者写入文件,在datanode中有一个主节点Masternode即NameNode,NameNode用来管理HDFS的名称空间和数据集块映射信息。
3.2 Mapreduce
MapReduce用以进行大数据量的计算2,通过Map对数据集上的独立元素進行特定操作,将数据加工成K-V(Key-Value)对,reduce对这个K-V对进行规定约束以得到最终的结果。
其中TaskTracker作为从节点,主要运行Map任务和Reduce任务,将结果与主节点JobTracker交互,通信任务状态。主节点JobTracker将作业任务分解成一系列的任务,并分派给TasckTracker,运行后负责管理监督所有作业,对作业发生的错误进行处理。
每个TasckTracker的Map Task完成每条数据记录的解析传递给用户编写的Map函数执行,将结果写入本地磁盘或者HDFS。而Reduce Task则从MapTask的执行结果中,远程读入数据,对数据进行排序并分组传递给用户编写的reduce函数执行。
4 Hadoop的应用与展望
国际上Yahoo是Hadoop的最大支持者,截至2012年,Yahoo的Hadoop机器总节点数目超过420000个,有超过10万的核心CPU在运行Hadoop。Facebook使用Hadoop存储内部日志与多维数据,并以此作为报告、分析和机器学习的数据源。目前Hadoop集群的机器节点超过1400台,共计11?200个核心CPU,超过15PB原始存储容量,每个商用机器节点配置了8核CPU,12TB数据存储3。在国内,百度、360、阿里巴巴等软件巨头也在Hadoop应用领域做了深入研究和开发,主要应用与数据挖掘和分析,日志分析、数据仓储、推荐引擎、用户行为分析等。
Hadoop在有效利用现有资源,对其进行整合以达到高性能运行服务的框架为企业和各行业客户提供了极大的便利,作为一种技术性方向作用非常重要,在后期必定会吸引更多的资源加入hadoop的研究和拓展。
注释:
1.百度百科https://baike.baidu.com/item/%E5%A4%A7%E6%95%B0%E6%8D%AE/1356941?fr=aladdin#reference-[1]-13647476-wrap
2.http://lib.csdn.net/article/hadoop/50993
3.https://blog.csdn.net/lienen/article/details/50460243
参考文献:
[1] Sanger F.Nicklen S. DNA sequencing with chain-terminating[P]. 1977,74:5463–5467.
[2] Struster SC.Next-generation sequencing transform today’s biology[J].Nat Methods, 2008,5(1):16-18.
[3] 解增言,林俊华,谭军,舒坤贤. DNA测序技术的发展历史与最新进展[J].生物技术通报, 2010(08).
[4] Rusk N. Cheap third-generation sequecing[J]. Nature, 2011,6(4): 244-245.
[5] J. Craig Venter, Mark D. Adams, Eugene W. Myers. The Sequence of the Human Genome[J]. Science, 2001, 291(5507): 1304-1351.
[6] 于聘飞,王英,葛芹玉.高通量DNA测序技术及其应用进展[J].南京晓庄学院学报,2010(5).
【通联编辑:代影】
转载注明来源:https://www.xzbu.com/8/view-14769874.htm