集群硬件配置规范

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

集群硬件配置规范利用淘汰过时的主机,做更大的事情。这里的主机是指商业主机,并非个人主机。Hadoop的管理员考虑到各种因素。Hadoop是在完整的行业标准的硬件上运行,建议一个理想的集群配置是不一样只是提供了硬件规格列表容易。选择硬件提供了一个给定的工作负载的性能和经济的最佳平衡,需要测试和验证。例如,用户IO密集型工作负载将投资在些每核心主轴。在这里将讨论的工作量评价和它在硬件的选择起着至关重要的作用。存储和计算的融合IT组织有标准化的刀片服务器和SAN(存储区域网络),以满足他们的网格和处理密集型工作负载。虽然这种模式使一些标准的应用,如Web服务器,应用服务器,规模较小的结构化数据库和简单的ETL(提取,转换,装载)基础设施的要求有很大的意义已经发生变化的数据量和数量用户已经成长。Web服务器现在前端使用缓存层,数据库使用大规模并行与本地磁盘,ETL作业正在推动更多的数据比他们可以在本地处理。硬件厂商建立创新体系,以满足这些要求包括存储刀片,SAS(串行连接SCSI)开关,外部SATA阵列和更大容量的机架单元。Hadoop的目的是基于一种新的方法来存储和处理复杂的数据。海量存储和可靠性进行处理然后移动到刀片服务器的集合,而不是依靠在SAN上,Hadoop的处理大数据量和可靠性,在软件层。Hadoop的数据分布到集群上,处理平衡,并使用复制,以确保数据的可靠性和容错。因为数据的分布式计算能力的机器上,处理可以直接发送到存储数据的机器。由于每个机器在一个Hadoop集群的存储和处理数据,他们需要进行配置,以满足数据存储和处理要求。任务压力问题MapReduce作业,在几乎所有情况下,将遇到一个瓶颈,从磁盘或从网络(作为IO密集型的工作),或在处理数据读取的数据(CPU密集型工作)。IO密集型工作的一个例子是排序,这就需要非常小的加工(简单的比较)和大量的读取和写入磁盘。一个CPU密集型的工作的一个例子是分类,其中一些输入数据处理非常复杂的方式来确定一个本体。IO密集型工作负载Hadoop涉及到的I/O操作,主要包括下列几项:索引(Indexing)群化(Grouping)数据导入和导出(Dataimportingandexporting)数据移动和转换(Datamovementandtransformation)CPU密集型工作负载Hadoop中,作业的执行,需要CPU的持续运作。下面列举了几个方面:集群处理(Clustering/Classification)复杂的文本挖掘Complextextmining自然语言的处理(Natural-languageprocessing)特殊功能的提取(Featureextraction)根据客户需要完全理解集群的工作负载,才能选择最优的Hadoop硬件,而这好像是一个鸡生蛋蛋生鸡的问题。大多数工作组在没有彻底剖析他们的工作负载时,就已经搭建好了Hadoop集群,通常Hadoop运行的工作负载随着他们的精通程度的提高而完全不同。而且,某些工作负载可能会被一些未预料的原因受限。例如,某些理论上是IO受限的工作负载却最终成为了CPU受限,这是可能是因为用户选择了不同的压缩算法,或者算法的不同实现改变了MapReduce任务的约束方式。基于这些原因,当工作组还不熟悉要运行任务的类型时,深入剖析它才是构建平衡的Hadoop集群之前需要做的最合理的工作。接下来需要在集群上运行MapReduce基准测试任务,分析它们是如何受限的。完成这个目标最直接的方法是在运行中的工作负载中的适当位置添加监视器来检测瓶颈。我们推荐在Hadoop集群上安装ClouderaManager,它可以提供CPU,硬盘和网络负载的实时统计信息。(ClouderaManager是Cloudera标准版和企业版的一个组件,其中企业版还支持滚动升级)ClouderaManager安装之后,Hadoop管理员就可以运行MapReduce任务并且查看ClouderaManager的仪表盘,用来监测每台机器的工作情况。在为工作负载构建合适的集群之外,还建议客户和硬件提供商合作确定电力和冷却方面的预算。由于Hadoop会运行在数十台,数百台到数千台节点上。通过使用高性能功耗比的硬件,作业组可以节省一大笔资金。硬件提供商通常都会提供监测功耗和冷却方面的工具和建议。要怎么选择硬件配置呢?选择机器配置类型的第一步就是了解运维团队已经在管理的硬件类型。在购买新的硬件设备时,运维团队经常根据一定的观点或者强制需求来选择,并且倾向于工作在自己业已熟悉的平台类型上。Hadoop不是唯一的从规模效率上获益的系统。再一次强调,作为更通用的建议,如果集群是新建立的或者并不能准确的预估极限工作负载,建议选择均衡的硬件类型。Hadoop集群有四种基本任务角色:NameNode(包括SecondaryNameNode),JobTracker,TaskTrackers,和DataNode节点。节点是执行某一特定功能的工作站。大部分集群内的节点需要执行两个角色的任务,作为DataNode(数据存储)和TaskTrackers(数据处理)。这是在一个平衡Hadoop集群中,为DataNode/TaskTrackers提供的推荐规格:在一个磁盘阵列中要有12到24个1~4TB硬盘2个频率为2~2.5GHz的四核、六核或八核CPU64~512GB的内存有保障的千兆或万兆以太网(存储密度越大,需要的网络吞吐量越高)NameNode负责协调集群上的数据存储,JobTracker协调数据处理(SecondaryNameNode不应与集群中的NameNode共存,并且运行在与之相同的硬件环境上。)。在这里强烈推荐客户购买在RAID1或10配置上有足够功率和企业级磁盘数的商用机器来运行NameNode和JobTracker。NameNode也会直接需要与群集中的数据块的数量成比例的RAM。一个好的但不精确的规则是对于存储在分布式文件系统里面的每一个1百万的数据块,分配1GB的NameNode内存。在一个群集里面的100个DataNodes而言,NameNode上的64GB的RAM提供了足够的空间来保证集群的增长。我们也推荐把HA同时配置在NameNode和JobTracker上,这里就是为NameNode/JobTracker/StandbyNameNode节点群推荐的技术细节。驱动器的数量或多或少,将取决于冗余数量的需要。4–61TB硬盘驱动器采用一个JBOD配置(1个用于OS,2个用于文件系统映像[RAID1],1个用于ApacheZooKeeper,1个用于Journal节点)24-/16-/8-核心CPUs,至少运行于2-2.5GHz64-128GB随机存储器BondedGigabit以太网卡or10Gigabit以太网卡如果Hadoop集群扩展到20台机器以上,推荐最初配置的集群应分布在两个机架,而且每个机架都有一个位于机架顶部的10G的以太网交换机。当这个集群跨越多个机架的时候,将需要添加核心交换机使用40G的以太网来连接位于机架顶部的交换机。两个逻辑上分离的机架可以让维护人员更好地理解机架内部和机架间通信对网络需求。Hadoop集群安装好后,维护人员就可以开始确定工作负载,并准备对这些工作负载进行基准测试以确定硬件瓶颈。经过一段时间的基准测试和监视,维护人员将会明白如何配置添加的机器。异构的Hadoop集群是很常见的,尤其是在集群中用户机器的容量和数量不断增长的时候更常见。因此为你的工作负载所配置的“不理想”开始时的那组机器不是在浪费时间。Cloudera管理器提供了允许分组管理不同硬件配置的模板,通过这些模板你就可以简单地管理异构集群了。下面是针对不同的工作负载所采用对应的各种硬件配置的列表,包括我们最初推荐的“负载均衡”的配置:轻量处理方式的配置(1U的机器):两个16核的CPU,24-64GB的内存以及8张硬盘(每张1TB或者2TB)。负载均衡方式的配置(1U的机器):两个16核的CPU,48-128GB的内存以及由主板控制器直接连接的12-16张硬盘(每张1TB或者2TB)。通常在一个2U的柜子里使用2个主板和24张硬盘实现相互备份。超大存储方式的配置(2U的机器):两个16核的CPU,48-96GB的内存以及16-26张硬盘(每张2TB-4TB)。这种配置在多个节点/机架失效时会产生大量的网络流量。强力运算方式的配置(2U的机器):两个16核的CPU,64-512GB的内存以及4-8张硬盘(每张1TB或者2TB)。关于CPU的选择考虑Hadoop生态系统设计是考虑了并行计算的特点。在选择硬件的时候不建议选择高主频的处理器,高主频的处理器都有很高的功耗和散发热量这两大问题。当然也不能选择主频较低的处理器,处于中间性能的价位的处理器,在频率、价格和核心数方面性价比是最好的。公司系统主流使用的CPU:英特尔Intel至强E33.0GHz其他当遇上生成大量中间数据的应用时,也就是说输出数据的量和读入数据的量相等的情况时。在单个以太网网卡的情况下,将接入和接出分别绑定在不同的端口上。或者装备两张或两张以上的以太网网卡。这样可保证每台机子提供2Gbps的数据流量。绑定2Gbps的节点最多可容纳的数据量是12TB。一旦你传输的数据超过12TB,你将需要使用传输速率为捆绑方式实现的4Gbps(4x1Gbps)。另外,对哪些已经使用10Gb带宽的以太网或者无线网络用户来说,这样的方案可以用来按照网络带宽实现工作负载的分配。内存大小选择需要考虑额外的开销,Java本身要使用高达10%的内存来管理虚拟机。建议把Hadoop配置为只使用堆,这样就可以避免内存与磁盘之间的切换。切换大大地降低MapReduce任务的性能,并且可以通过给机器配置更多的内存以及给大多数Linux发布版以适当的内核设置就可以避免这种切换。优化内存的通道宽度也是非常重要的。例如,当使用双通道内存时,每台机器就应当配置成对内存模块(DIMM)。当使用三通道的内存时,每台机器都应当使用三的倍数个内存模块(DIMM)。类似地,四通道的内存模块(DIMM)就应当按四来分组使用内存。公司的硬件配置选择根据现有的数据和业务,系统现有数据量达15.34亿条数据,要进行存储以及全文检索,适当的对数据进行统计和分类,并生成索引数据。公司在开发测试阶段使用的配置比生产环境下的硬件配置要低。在生产环境下对硬件的推荐选择如下:项目型号参数备注CPU英特尔Intel至强E38M3.0Ghz商业稳定x2内存DDR3双/三通道1600MHZ16GB4Gx48Gx216Gx1硬盘企业级监控数据存储720064M1TB1TBx2或者RAID0网卡Bonded千兆网卡1000M/S1000M/Sx2以上UPS山特(SANTAK)2KVA/1.6KW延迟断电交换机D-Link千兆交换机主机组网x2.....n核心交换机D-Link40G交换机机架间遥感机架戴维斯18U机柜机架标准机架测试环境,配置如下:项目型号参数备注CPU英特尔Inteli53M3.0Ghz1i5-3450内存DDR3双通道1600MHZ8GB4Gx2硬盘企业级监控数据存储720064M1TB1TB网卡Bonded百兆网卡100M/S100M/Sx1交换机D-Link百兆交换机主机组网数据全文检索效果,如下:数据量耗时备注0–2.5亿3S表现良好2.5亿–5.0亿3S–7S出现延迟5.0亿–10.5亿5S–10S延迟增大11亿–13亿7S–12S中文有机率报错,延迟增大13.5亿-15.5亿9S–15S中文报错几率增大,延迟增大

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功