本帖最后由 灵峰气韵 于 2020-10-23 21:15 编辑
Hadoop大数据说明 大数据是一个生态体系概念,而Hadoop只是大数据生态体系中的一个技术架构。Hadoop采用HDFS文件系统(Hadoop Distributed File System,Hadoop分布式文件系统)进行海量数据的存储,然后通过不同的应用或者技术进行数据分析和结果展现。 Hadoop以Job定义不同的数据分析和处理需求,再用任务来拆分这些需求,然后将任务分配到各个服务器上进行分布式运算,然后再将各服务器上计算的结果汇总起来行形成最终的结果,这个就是hadoop最核心的数据计算和分析技术架构:Mapreduce,同时也是Hadoop1.x版本的任务调度架构。正是在这样的架构下,我们可以用大量廉价的x86服务器作为hadoop的数据计算节点,通过海量分布式计算的方式来进行海量数据的处理。到了Hadoop2.x版本,Hadoop采用了新的任务调度架构:Yarn,采用更加高效的任务调度方式,使得Hadoop集群可以扩展到比1.x版本更大的数据处理节点规模,从而极大的提升了数据处理规模,而之前的Mapreduce从任务调度架构也进化成了Hadoop数据处理应用,仍然是Hadoop上最核心的数据处理方式。 Hadoop能够进行分布式数据处理依赖于HDFS分布式文件系统。HDFS是Hadoop体系中数据存储管理的基础。它是一个高度容错的系统,能检测和应对硬件故障,用于在低成本的通用硬件上运行。HDFS简化了文件的一致性模型,通过流式数据访问,提供高吞吐量应用程序数据访问功能,适合带有大型数据集的应用程序。
HDFS适合做什么 | | | 1、存储和处理小文件:数据存储效率和任务处理效率不高 | | | | | | |
某公司HCI部署Hadoop说明 Hadoop在数据处理过程中对网络带宽、磁盘吞吐、CPU和内存都有一定的要求,具体表现为: 1、网络带宽:网络资源需求主要表现在数据插入阶段和Mapreduce中的reduce-shuffle阶段。在HDFS多副本(2副本或以上)下,每次往HDFS插入或者回写数据时,数据块本地写完后都需要再通过网络拷贝副本到其他节点,所以副本数越多,数据量越大,对网络带宽的消耗也是非常大的,所以hadoop节点虚拟机间数据通信网络推荐用万兆网络。 2、磁盘吞吐:hadoop上跑数据处理的过程中(通常为Mapreduce应用),都是顺序的读写,并且已读居多。HDFS默认情况下块大小为64MB,数据量较大情况下会设置为128MB、256MB甚者512MB,所以这样的场景下对存储的吞吐性能要求较高,在部署hadoop数据节点时,推荐采用10K-SAS盘做数据盘,而且不需要SSD缓存。 3、CPU:在数据处理阶段多个任务并发执行指定数据处理算法的运算时,需要大量的CPU资源,因此在配置生产环境的hadoop集群的HCI主机时,默认采用aServer2205或以上型号,在配置培训、测试环境的hadoop集群的HCI主机时,默认采用aServer2105或以上型号。 4、内存:内存对hadoop最直接的影响就是限制并发运行的任务数。每个任务或者容器(Yarn任务调度架构下每个任务分配一个容器)都会消耗内存,这个由任务需求和最大限制参数有关,在启动任务或容器时,hadoop会根据可用内存和每个任务使用内存计算出总共能够并行多少个任务,在CPU、磁盘、网络资源够用的情况下,启动的任务越多,数据处理的速度也就越快。因此尽量不要让内存资源紧缺导致启动的任务数不足使得服务器资源利用不正确,通常情况下配置hadoop集群的HCI主机内存要比其他业务主机内存要大,具体配置需要根据具体需求来定。 根据以上四点说明,我们可以推荐一个生产环境下默认的HCI主机最低配置: 类型说明 | | | | | | | CPU:2*Intel Xeon 2650v4,12C,24T 内存:256GB HCI系统盘128GB SSD(内置) SSD缓存盘:2*480GB Intel SSD HDD数据盘:10*1.8TB 10K SAS | |
|