hadoop是一个由Apache基金会所开发的分布式系统基础架构。它可以使用户在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的威力进行高速运算和存储。hadoop的框架最核心的设计就是HDFS和MapReduce,HDFS为海量的数据提供了存储,MapReduce则为海量的数据提供了计算。
Hadoop由ApacheSoftwareFoundation公司于2005年秋天作为Lucene的子项目Nutch的一部分正式引入。它受到最先由GoogleLab开发的Map/Reduce和GoogleFileSystem(GFS)的启发。
Hadoop是最受欢迎的在Internet上对搜索关键字进行内容分类的工具,但它也可以解决许多要求极大伸缩性的问题。
最好是两个做成HA。
6T的数据容量,看你副本数量设置是多少,一般默认为3,那么仅这些就需要18T硬盘,稍微大一点20T吧这仅仅是HDFS存储,(这里我说的是一个月的,你数据保存几个月,就乘几倍)。
如果你集群上面要跑计算,MR计算出来的数据要保存HDFS的,所以,还是要根据你的结果数据来做判断,大小就看你计算任务了。
一般是这样计算硬盘大小:
(原始数据+中间数据+结果数据)*副本数量=总硬盘大小
一、为什么需要hadoop?
在数据量很大的情况下,单机的处理能力无法胜任,必须采用分布式集群的方式进行处理,而用分布式集群的方式处理数据,实现的复杂度呈级数增加。所以,在海量数据处理的需求下,一个通用的分布式数据处理技术框架能大大降低应用开发难点和减少工作量。
我们先来看这么一个例子:我们要从一个用户使用app的日志数据中统计每个用户搜索了哪些关键词,这个日志文件有21G大,而我们的一个服务器只有8G内存,很显然一台服务器无法干这活。那么我们的处理方案应该是这样,见图一:
从图一我们知道,要顺利完成这么一个集群工作,它存在几个问题:
要我们自己编写一个程序来处理以上的问题是极其复杂的,我曾经写过一个脚本完成“如何分发业务应用到集群的各台服务器上”这个问题,复杂度也是不小的。
而hadoop却可以帮助我们处理上面的所有问题,我们只需要编写我们的业务程序即可。
二、hadoop是什么?
hadoop是用于处理(运算分析)海量数据的技术平台,并且是采用分布式集群的方式。
hadoop有两大功能:
hadoop三大核心组件:
hadoop两大使用角度:
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)