作家
登录

如何为Hadoop集群选择正确的硬件

作者: 来源: 2017-11-09 10:39:42 阅读 我要评论


当我们想搭建一个Hadoop大年夜数据平台时,碰着的第一个问题就是我们到底该若何选择硬件。

固然Hadoop被设计为可以运行在标准的X86硬件上,但在选择具体办事器设备的时刻其实没那么简单。为已知的工作负载或者应用处景选择硬件时,往往都要综合推敲机能身分和性价比,才能选择合适的硬件。比如,对于IO密集型的工作负载,用户往往须要为每个CPU core匹配更多的存储或更高的吞吐(more spindles per core)。

经由过程本文,您将进修到若何根据工作负载来选择硬件,包含一些其他您须要推敲的身分。

典范的IO-bound的工作负载如下:

  • 索引(Indexing)
  • 分组(Grouping)
  • 数据导入导出
  • 数据传输和转换

以前的十年,业界根本已经形成了刀片和SANs(Storage Area Networks)的标准,大年夜而知足网格和处理密集型的工作负载。这种模式对于很多标准应用(比如Web办事器,应用办事器,较小的构造化数据和数据搬运)还都是实用的,然则跟着数据量和用户数据的增长,基本举措措施的需求也产生了变更。Web办事器如今已经有了缓存层,数据库借助本地磁盘开端支撑海量并发,数据搬运的压力迫使我们须要更多的在本地处理数据。

“很多人在搭建Hadoop集群时都没有去真正懂得过工作负载”

硬件供给商更新了对应的产品来知足响应的需求,包含存储刀片,SAS(Serial Attached SCSI)交换机,外挂的SATA阵列和容量更大年夜的机架。然而,Hadoop是基于一个全新的存储和处理数据的方法,尽量避免数据传输。Hadoop经由过程软件层来实现大年夜数据的处理以及靠得住性,而不像一个SAN存储所稀有据,如不雅计算则传输到一系列刀片进行计算。

接下来我们就可以在集群中运行一些MapReduce/Spark功课进行基准测试,来分析它们的bound方法。可以经由过程一些监控对象来肯定工作负载的瓶颈。当然Cloudera Manager供给了这个功能,包含CPU,磁盘和收集负载的及时统计信息。经由过程Cloudera Manager,当集群在运行功课瓯,体系治理员可以经由过程dashboard很直不雅的查看每台机械的机能表示。

Hadoop将数据分布式存储在各台办事器上,应用文件副本来包管数据不丢以及容错。如许一个计算请求可以直接分发到存储数据的响应办事器并开端进行本地计算。因为Hadoop集群的每台节点都邑存储和处理数据,所以你就须要推敲如何为集群里的┞封些办事器选择合适的设备。

2.为什么跟工作负载有关系

在很多情况下,MapReduce/Spark都邑遭受瓶颈,比如大年夜磁盘或者收集攫取数据(IO-bound的功课),或者在CPU处理大年夜量数据时(CPU-bound的功课)。IO-bound的功课的一个例子是排序,一般须要很少的处理(简单的比较)却须要大年夜量的读写磁盘。CPU-bound的功课的一个例子是分类(classification),一些数据往往须要很复杂的处理。

典范的CPU-bound工作负载如下:

  • 聚类和分类(Clustering/Classification)
  • 复杂的文本发掘
  • 天然说话处理
  • 特点提取

HBase是一个靠得住的,列存储数据库,供给一致的,低延迟的随机读/写拜访。Cloudera Search经由过程Solr实现全文检索,Solr是基于Lucene,CDH很好的集成了Solr Cloud和Apache Tika,大年夜而供给更多的搜刮功能。Apache Impala则可以直接运行在HDFS和HBase之上,供给交互式的低延迟SQL萌芽,避免了数据的移动和转换。

我们须要完全懂得工作负载,才能够精确的选择合适的Hadoop硬件。很多人因为大年夜来没有研究过工作负载,往往会导致Hadoop运行的功课是基于不合适的硬件。此外,一些工作负载往往会受到一些其他的限制。比如因为选择了紧缩,本应当是IO-bound的工作负载实际倒是CPU-bound的,或者因为算法选择不合而使MapReduce或者Spark功课受限。因为这些原因,当您不熟悉将来将要运行的工作负载时,可以选择一些较为均衡的硬件设备来搭建Hadoop集群。

1.计算和存储

“第一步是懂得运维部分担理的硬件。”

3.为CDH集群遴选硬件

在遴选硬件的时刻,第一步是懂得您的运维部分所治理的硬件类型。运维部分往往偏向于选择他们熟悉的硬件。然则,如不雅您是在搭建一个新的集群,并且无法精确的猜测集群将来的工作负载,我们建议您照样选择合适Hadoop较为均衡的硬件。

一个Hadoop集群平日有4个角色:NameNode(和Standby NameNode),ResourceManager,NodeManager和DataNode。集群中的绝大年夜多半机械同时是NodeManager和DataNode,既用于数据存储,又用于数据处理。

以下是较为通用和主流的NodeManager/DataNode设备:

  • 12-24块1-6TB硬盘, JBOD (Just a Bunch Of Disks)
  • 2 路8核,2路10核,2路12核的CPU, 主频至少2-2.5GHz
  • 64-512GB内存
  • 绑定的万兆网 (存储越多,收集吞吐就请求越高)

NameNode负责协召集群上的数据存储,ResourceManager则是负责调和数据处理。Standby NameNode不该该与NameNode在同一台机械,但应钙揭捉?择与NameNode设备雷同的机械。我们建议您为NameNode和ResourceManager选择企业级的办事器,具有冗余电源,以及企业级的RAID1或RAID10磁盘设备。

NameNode须要的内存与集群中存储的数据块成正比。我们常用的计算公式是集群中100万个块(HDFS blocks)对应NameNode的1GB内存。常见的10-50台机械范围的集群,NameNode办事器的内存设备一捌揭捉?择128GB,NameNode的客栈一般设备为32GB或更高。别的建议务必设备NameNode和ResourceManager的HA。


  推荐阅读

  这些JavaScript编程黑科技,高逼格代码,让你惊叹不已

Javascript是一门很牛的说话,我可能学了假的JavaScript,哈哈!1、单行写一个评级组件"★★★★★☆☆☆☆☆".slice(5 - rate, 10 - rate);定义一个变量rate是1到5的值,然后履行膳绫擎代>>>详细阅读


本文标题:如何为Hadoop集群选择正确的硬件

地址:http://www.17bianji.com/lsqh/38659.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)