1、CM是什么?
2、CDH是什么?
3、CM+CDH是什么?
4、什么是企业大数据平台?
5、如何用CM+CDH构建企业大数据平台?
..........
带着种种疑问让我们开启真正的企业级大数据平台搭建之旅。
随着互联网,尤其是移动互联网和智能移动设备的高速发展和大面积普及,数据产生的速度以及数据累积的规模已经超过了以往任何时候,所以我们正在或者已经步入了大数据时代。对于企业来说,企业所拥有的大规模数据正逐渐成为一种重要的生产要素,但是如何盘活企业海量数据资产,充分挖掘大数据背后的价值成为新的挑战。同时也带来了很大的机遇,通过对企业海量数据的科学分析,为精益化管理企业提供决策依据,为市场和客户的精准化营销提供数据支持,为公司创收提供新的动力,快速扩展市场业务,重塑企业核心竞争力,不断地把企业打造成拥有数据驱动核心竞争力的创新型企业。
首先,企业大数据平台的建设和运营无疑是重中之重,这也正成为企业信息化建设的核心任务和目标。通过构建企业大数据平台,对企业大规模数据进行科学高效的管理、分析、挖掘、监控、可视化,为公司内部产品的策划、运营、营销、财务、决策等提供科学精确的数据支撑,提高企业运营效率、最大化释放数据价值。
当然这是一个比较大的话题,也是一个比较复杂的事情,但是核心内容是不变的,无非就是对企业大规模数据的管理、分析和结果可视化呗。现在企业有了这么多的数据,怎么办?就像生孩子一样,你不能只管生不管养呀。你还想靠他给你养老送终呢?所以说数据也一样,有了这么多数据,你又想从数据里获取对企业有用的价值,怎么办?总得先存储起来吧,先养着。OK,那么现在就带来了一个问题,怎么存?也就是如何解决大规模数据的存储问题?
这是很大的一块内容,我们先长话短说,化繁为简。我们最终要解决的是大规模数据的存储,数据规模小的话很好解决,假设数据规模特别大,大到超过单台机器的存储空间,如果还要存储那么该怎么办?
常见两种方法:
(1)增加本机的磁盘空间。
但是不可能一直增加,本机存储空间总会有一个极限。加到一定程度就会超过限制。
(2)增加机器数量,用共享目录的方式提供远程网络化的存储。
这种方式就可以理解为分布式文件系统的雏形,就是把同一文件切分之后放入不同的机器中,空间不足了还可继续增加机器,突破本机存储空间的限制。Hadoop目前最多可以支持到上万台机器规模组成的集群,总之,足够你用了。这个不用担心。但是这种方式还是有很多问题的。比如:数据怎么切分,数据切分之后如何存储,又怎么高效的管理存储在多台机器上的数据等等复杂问题,肯定不能靠人工去维护吧,那就有点傻了。那么怎么办呢?就要通过系统来解决,即通过分布式文件系统来管理存储在多台机器上的大规模数据。也就是后面会提到的HDFS(Hadoop分布式文件系统)。
我们不是为了存储数据而存储数据,我们最终的目的是想通过对大规模数据的多维分析挖掘出数据背后对企业运营决策有价值的信息。
大规模数据存储通过分布式存储解决存储容量局限的问题
大规模数据计算重点考虑的是计算速度的问题。就是怎么能够加快大规模数据的处理速度。
一台机器资源有限,计算大规模数据可能时间很长,那么怎么加快处理速度呢?整多台,一台不够多台来凑,每个任务处理一部分数据,多台机器的多个任务分别处理一部分数据,这样速度肯定会比之前快。
总之,不管是大数据的存储还是计算,都是通过分布式系统来解决的,不再通过比较昂贵的小型机,因为小型机成本太高。那么分布式系统在哪运行呢,就需要构建分布式集群。所以说我们接下来的重点就是如何构建分布式集群。
构建Hadoop分布式集群实际上就是在一组通过网络连接的物理计算机组成的集群上安装部署Hadoop相关的软件。
所以接下来我们的任务就是:
(1)首先准备物理集群
(2)实现物理集群的网络互联,就是通过网络把集群内所有机器连接起来
(3)在实现网络互联的集群上安装部署大数据相关的软件
(1)数据量(要考虑用多少台机器组成的集群能够存储这么大的数据)
1)规划时间内的数据而不是现有数据
注意:这个数据量是公司一定规划时间内(比如两年)的数据量,不是现有的数据量,因为你不可能随着数据量的增加每月或每周都往集群里增加节点,这样每天绝大部分时间就都花在集群维护上了,虽然说我们的确可以随着数据量的动态变化通过动态的增减节点的个数来调整集群的存储和计算能力,但是最好还是要有一个1-2年左右的中长期规划。
2)多副本
因为Hadoop致力于构建在廉价的商用服务器上的,廉价的就更容易出现故障,出现故障就容易导致数据丢失,数据丢失是绝对不允许的。所以说怎么保证数据安全性呢?一份不够,存多份就得了呗,难道你们还能同时丢到,虽然说有可能,但是可能性是不是就小很多了。当然你也不可能买特别垃圾的服务器。我们需要在采购成本和维护成本之间做好权衡。
3)中间数据、临时数据和日志数据需要占用20-30%左右的空间。
这个应该很好理解,因为数据不只是需要分析处理的业务数据。(2)每台机器的性能配置
假设有100T的数据,每台机器2T硬盘,至少需要50台,每台机器4T硬盘,至少需要25台,所以说机器性能配置的不同也会影响集群规模的大小。后边我们会单独讲机器选型及配置选择。
(3)平台的功能性和非功能性需求
平台实现基本的功能之外还需要实现非功能性需求:
1)性能需求:
比如对100G—1T左右的数据进行简单的查询分析,能够在2分-10分钟之内完成,复杂作业(比如多表连接)能够在20-1小时内完成,业务数据的增量导入和数据清洗在1小时之内完成。
2)可靠性需求:
比如系统每月宕机次数不能超过1次。
3)可用性需求:
系统每次宕机的时间不能超过两小时,还有就是系统内任何一台计算机每月不可用的时间不能超过总时间的2%。
4)容错性需求:
机器宕机、服务停止硬件损坏的情况下数据不会出现丢失,不同情况下的恢复时间也有要求,比如宕机或服务器停止,恢复时间10分钟之内,如果NameNode硬件损坏,2小时之内恢复。
所以接下来我们的任务就是:
(1)先确定选择什么样的机器,也就是机器选型,当然包括机器的资源配置了。
(2)再确定集群的规模,也就是集群包含多少台机器
注意:在机器选型时并不是每台机器的配置必须都是一样的,因为不管是Hadoop中的HDFS还是YARN都是分布式系统,采用的是主从的架构,建议主节点的配置要高于从节点,从节点的配置建议一样,不同组件的安装部署配置可以不同。具体根据不同的业务场景进行不同的配置选择。
完整视频+图文资料获取及技术答疑请加:大讲台大数据研习社⑦ :695520445