在学习Hadoop之前,我们需要先了解一下Hadoop是用来做什么的?
在大的企业的应用服务中,用户会产生大量的数据,登录记录、注册记录、消费记录等等,对于企业来说这些数据可以用来分析用户行为,来制定对应的策略,但是大量的数据的存储是非常重要的问题。
独立式存储
以前的企业存储用户数据,通常会准备一台超大的服务器,来存储大量的数据,这种叫做独立式的存储系统,这种存储系统存在非常多的弊端,比如单机存储,很有可能一天存储容量不够了,还有成本问题,一台超大的服务器成本太大,以及数据传输,单台服务器的IO性能差,再就是故障问题,万一这个超大的服务器"挂了",那里面的数据怎么办?
分布式存储(Hadoop)
正由于独立式存储系统的各种弊端,从而出现了分布式存储系统。原来的一台超大服务器不是又贵又少吗,那么换个思路,分布式系统选择成本较低的多台服务器组成一个集群来处理数据
分布式的优点
负载均衡
-
可以将数据平衡地分布在多个服务器中
-
可以让多台服务器一起处理一个单台服务器无法处理的任务
故障转移
-
分布式文件系统,采用备份的方式来应对故障,一旦某台服务器发送了故障,那么这台服务器的备用服务器立马"顶"上去接替它的任务
伸缩性
-
伸缩性也就可扩展性,可以在特定的时间增加或减少集群中服务器的数量
-
比如在双十一期间,用户数据猛增,那么就可以适当的给集群添加服务器,在结束后再减少服务器的数量
总结
负载均衡:重的东西不要一个人拿,大家一起拿
故障转移:首发球员受伤了,替补顶上,比赛继续
伸缩性:今年公司业务多,多招几个秃头的IT男,明年业务少了,开始辞退员工