类似于页面搭建淘宝那种,里面在搜索系统中搭建了集群技术,我想问一下这个集群技术是怎么做的,能否详细说下

1.哪些情况会遇到io受限制

2.哪些情況会遇到cpu受限制?

3.如何选择机器配置类型

4.为数据节点/任务追踪器提供的推荐哪些规格?


随着Apache Hadoop的起步云客户的增多面临的首要问题就是洳何为他们新的的Hadoop集群选择合适的硬件。

尽管Hadoop被设计为运行在行业标准的硬件上提出一个理想的集群配置不想提供硬件规格列表那么简單。 选择硬件为给定的负载在性能和经济性提供最佳平衡是需要测试和验证其有效性。(比如IO密集型工作负载的用户将会为每个核心主轴投资更多)。

在这个博客帖子中你将会学到一些工作负载评估的原则和它在硬件选择中起着至关重要的作用。在这个过程中你也將学到Hadoop管理员应该考虑到各种因素。

过去的十年IT组织已经标准化了刀片服务器和存储区域网(SAN)来满足联网和处理密集型的工作负载。尽管這个模型对于一些方面的标准程序是有相当意义 的比如网站服务器,程序服务器小型结构化数据库,数据移动等但随着数据数量和鼡户数的增长,对于基础设施的要求也已经改变网站服务器现在有了缓存 层;数据库需要本地硬盘支持大规模地并行;数据迁移量也超過了本地可处理的数量。

大部分的团队还没有弄清楚实际工作负载需求就开始搭建他们的Hadoop集群

硬件提供商已经生产了创新性的产品系统來应对这些需求,包括存储刀片服务器串行SCSI交换机,外部SATA磁盘阵列和大容量的机架单元然 而,Hadoop是基于新的实现方法来存储和处理复雜数据,并伴随着数据迁移的减少 相对于依赖SAN来满足大容量存储和可靠性,Hadoop在软件层次处理大数据和可靠性

Hadoop在一簇平衡的节点间分派數据并使用同步复制来保证数据可用性和容错性。因为数据被分发到有计算能力的节点数据的处理可以被直接发送到存储有数据的节点。由于Hadoop集群中的每一台节点都存储并处理数据这些节点都需要配置来满足数据存储和运算的要求。

在几乎所有情形下MapReduce要么会在从硬盘戓者网络读取数据时遇到瓶颈(称为IO受限的应用),要么在处理数据时遇到瓶颈(CPU受限)排序是一个IO受限的例子,它需要很少的CPU处理(僅仅是简单的比较操作)但是需要大量的从硬盘读写数据。模式分类是一个CPU受限的例子它对数据进行复杂的处理,用来判定本体

下媔是更多IO受限的工作负载的例子:

下面是更多CPU受限的工作负载的例子:

Cloudera的客户需要完全理解他们的工作负载,这样才能选择最优的Hadoop硬件洏这好像是一个鸡生蛋蛋生鸡的问题。大多数工作组在没有彻底剖 析他们的工作负载时就已经搭建好了Hadoop集群,通常Hadoop运行的工作负载随着怹们的精通程度的提高而完全不同而且,某些工作负载可能会被 一些未预料的原因受限例如,某些理论上是IO受限的工作负载却最终成為了CPU受限这是可能是因为用户选择了不同的压缩算法,或者算法的不同实现改变 了MapReduce任务的约束方式基于这些原因,当工作组还不熟悉偠运行任务的类型时深入剖析它才是构建平衡的Hadoop集群之前需要做的最合理 的工作。

接下来需要在集群上运行MapReduce基准测试任务分析它们是洳何受限的。完成这个目标最直接的方法是在运行中的工作负载中的适当位置添加监视器来 检测瓶颈我们推荐在Hadoop集群上***Cloudera Manager,它可以提供CPU硬盘和网络负载的实时统计信息。(Cloudera Manager是Cloudera 标准版和企业版的一个组件其中企业版还支持滚动升级)Cloudera Manager***之后,Hadoop管理员就可以运行MapReduce任务並且查看Cloudera Manager的仪表盘用来监测每台机器的工作情况。

第一步是弄清楚你的作业组已经拥有了哪些硬件

在为你的工作负载构建合适的集群之外我们建议客户和它们的硬件提供商合作确定电力和冷却方面的预算。由于Hadoop会运行在数十台数百台到数千台节 点上。通过使用高性能功耗比的硬件作业组可以节省一大笔资金。硬件提供商通常都会提供监测功耗和冷却方面的工具和建议

选择机器配置类型的第一步就昰理解你的运维团队已经在管理的硬件类型。在购买新的硬件设备时运维团队经常根据一定的观点或者强制需求来选择,并且他们倾 向於工作在自己业已熟悉的平台类型上Hadoop不是唯一的从规模效率上获益的系统。再一次强调作为更通用的建议,如果集群是新建立的或者伱并不能准 确的预估你的极限工作负载我们建议你选择均衡的硬件类型。

Hadoop集群有四种基本任务角色:名称节点(包括备用名称节点)工莋追踪节点,任务执行节点和数据节点。节点是执行某一特定功能的工作站大部分你的集群内的节点需要执行两个角色的任务,作为數据节点(数据存储)和任务执行节点(数据处理)

这是在一个平衡Hadoop集群中,为数据节点/任务追踪器提供的推荐规格:

  • 在一个磁盘阵列Φ要有12到24个1~4TB硬盘
  • 2个频率为2~2.5GHz的四核、六核或八核CPU
  • 有保障的千兆或万兆以太网(存储密度越大需要的网络吞吐量越高)

名字节点角色负责协調集群上的数据存储,作业追踪器协调数据处理(备用的名字节点不应与集群中的名字节点共存并且运行在与之相同的硬件环境上。) Cloudera推荐客户购买在RAID1或10配置上有足够功率和企业级磁盘数的商用机器来运行名字节点和作业追踪器。

  NameNode也会直接需要与群集中的数据块的数量荿比列的RAM一个好的但不精确的规则是对于存储在分布式文件系统里面的每一个1百万的数据块,分 配1GB的NameNode内存于在一个群集里面的100个DataNodes而言,NameNode上的64GB的RAM提供了足够的空间来保证群集

这里就是为NameNode/JobTracker/Standby NameNode节点群推荐的技术细节驱动器的数量或多或少,将取决于冗余数量的需要

记住, 茬思想上,Hadoop 体系设计为用于一种并行环境

  如果你希望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核的CPU48-96GB的内存以及16-26张硬盘(每张2TB-4TB)。这种配置在多个节点/机架失效时会产生大量的网络流量
  • 强力运算方式的配置(2U的机器):两个16核的CPU,64-512GB的内存以及4-8张硬盘(每张1TB或者2TB)

下图向你展示叻如何根据工作负载来配置一台机器:

记住Hadoop生态系统的设计是考虑了并行环境这点非常重要。当购买处理器时我们不建议购买最高频率(GHZ)嘚芯片,这些芯片都有很高的功耗 (130瓦以上)这么做会产生两个问题:电量消耗会更高和热量散发会更大。处在中间型号的CPU在频率、价格和核心数方面性价比是最好的

当我们碰到生成大量中间数据的应用时-也就是说输出数据的量和读入数据的量相等的情况-我们推荐在单個以太网接口卡上启用两个端口,或者捆绑两个以太网 卡让每台机器提供2Gbps的传输速率。绑定2Gbps的节点最多可容纳的数据量是12TB一旦你传输嘚数据超过12TB,你将需要使用传输速率为捆 绑方式实现的4Gbps(4x1Gbps)另外,对哪些已经使用10Gb带宽的以太网或者无线网络用户来说这样的方案可以用來按照网络带宽实现工作负 载的分配。如果你正在考虑切换到10GB的以太网络上那么请确认操作系统和BIOS是否兼容这样的功能。

当计算需要多尐内存的时候记住

本身要使用高达10%的内存来管理虚拟机。我们建议把Hadoop配置为只使用堆这样就可以避免内存与磁盘之间 的切换。切换大夶地降低MapReduce任务的性能并且可以通过给机器配置更多的内存以及给大多数

发布版以适当的内核设置就可以避免这种切 换。

优化内存的通道寬度也是非常重要的例如,当我们使用双通道内存时每台机器就应当配置成对内存模块(DIMM)。当我们使用三通道的内存时每台机器嘟应当使用三的倍数个内存模块(DIMM)。类似地四通道的内存模块(DIMM)就应当按四来分组使用内存。

Hadoop不仅仅是HDFS和MapReduce;它是一个无所不包的数据岼台因此CDH包含许多不同的生态系统产品(实际上很少仅仅做为 MapReduce使用)。当你在为集群选型的时候需要考虑的附加软件组件包括Apache HBase、Cloudera Impala和Cloudera Search。咜们应该都运行在DataNode中来维护数据局部性

HBase是一个可靠的列数据存储系统,它提供一致性、低延迟和随机读写Cloudera Search解决了CDH中存储内容的全文本搜索的需求,为新类型用户简化了访问但是也为Hadoop中新类型数据存储提供了机会。Cloudera Search基于Apache Lucene/Solr Cloud和Apache Tika并且为与CDH广泛集成的搜索扩展了有价值的功能囷灵活性。基于Apache协议的Impala项目为Hadoop带来了可扩展的并行数据库技 术使得用户可以向HDFS和HBase中存储的数据发起低延迟的SQL查询,而且不需要数据移动戓转换

由于垃圾回收器(GC)的超时,HBase 的用户应该留意堆的大小的限制别的JVM列存储也面临这个问题。因此我们推荐每一个区域服务器嘚堆最大不超过16GB。HBase不需要太多别的资源 而运行于Hadoop之上但是维护一个实时的SLAs,你应该使用多个调度器比如使用fair and capacity 调度器,并协同Linux Cgroups使用

搜索是最有趣的订制大小的组件。推荐的订制大小的实践操作是购买一个节点***Solr和Lucene,然后载入你的文档群一旦文档群被以期望的方式來 索引和搜索,可伸缩性将开始作用持续不断的载入文档群,直到索引和查询的延迟对于项目而言超出了必要的数值 - 此时,这让你嘚到了在可用的资源上每一个节点所能处理的最大文档数目的基数以及不包括欲期的集群复制此因素的节点的数量总计基数。

结论购买匼适的硬件对于一个Hapdoop群集而言,需要性能测试和细心的计划从而全面理解工作负荷。然而Hadoop群集通常是一个形态变化的系统, 而Cloudera建议在开始的时候,使用负载均衡的技术文档来部署启动的硬件重要的是,记住当使用多种体系组件的时候,资源的使用将会是多样的 而专注与资源管理将会是你成功的关键。

我们鼓励你在留言中加入你关于配置Hadoop生产群集服务器的经验!

淘宝Hadoop集群机器硬件配置

国内外使用Hadoop的公司比较多,全球最大的Hadoop集群在雅虎有大约25000个节点,主要用于支持广告系统与网页搜索国内用Hadoop的主要有百度、淘宝、腾讯、华為、中国移动等,其中淘宝的Hadoop集群属于较大的(如果不是最大)

淘宝Hadoop集群现在超过1700个节点,服务于用于整个阿里巴巴集团各部门数据來源于各部门产品的线上数据库(

)备份,系统日志以及爬虫数据截止2011年9月,数量总量已经超过17个PB每天净增长20T左右。每天在Hadoop集群运行嘚MapReduce任务有超过4万(有时会超过6万)其中大部分任务是每天定期执行的统计任务,例如数据魔方、量子统计、推荐系统、排行榜等等这些任务一般在凌晨1点左右开始执行,3-4个小时内全部完成每天读数据在2PB左右,写数据在1PB左右


所有作业会进行分成多个Group,按照部门或小组劃分总共有38个Group。整个集群的资源也是按各个Group进行划分定义每个Group的最大并发任务数,Map slots与Reduce slots的使用上限每个作业只能使用自己组的slots资源。

类似于淘宝的web聊天应该怎么实现需要用到哪些技术 [问题点数:20分,结帖人u]

做过这方面东西的人给说下 

socket技术肯定是要的。淘宝的这个聊天不知道是不是java编的也许用到applet(可能性蛮小)。也可能是js弹窗(可能性较大)

我告诉你吧这是socket编程,有专门的socket聊天服务器可能是java、nodejs、python等写的,页面搭建上一般都會这么做,如果支持websocket就用websocket做连接实现即时聊天,否则就用flash里面的socket如果没用这2种技术,那么肯定就是ajax轮询来实现的

我告诉你吧,这是socket編程有专门的socket聊天服务器,可能是java、nodejs、python等写的页面搭建上,一般都会这么做如果支持websocket,就用websocket做连接实现即时聊天否则就用flash里面的socket,如果没用这2种技术那么肯定就是ajax轮询来实现的。

不是SOCKETHTTP协义的,哪用得到SOCKET这是用的AJAX技术搞的。现在WEB聊天一般都用的技术叫服务器推送这类的东西。思路就是当你一打开聊天页面搭建就会用AJAX去请求消息处理类,如果有消息就会给你返回来如果没有消息就会把你的請求挂起来,当然不是直接挂起来而是新建一个线程再挂起。直到有消息或者到一个固定时间再把你的请求释放释放后客户端马上又洅次请求。这样一直循环就OK了。查看一下AJAX服务器推送技术也叫反向 Ajax 

不是SOCKET,HTTP协义的哪用得到SOCKET,这是用的AJAX技术搞的现在WEB聊天一般都用嘚技术叫服务器推送,这类的东西思路就是当你一打开聊天页面搭建,就会用AJAX去请求消息处理类如果有消息就会给你返回来,如果没囿消息就会把你的请求挂起来当然不是直接挂起来,而是新建一个线程再挂起直到有消息或者到一个固定时间再把你的请求释放。释放后客户端马上又再次请求这样一直循环。就OK了查看一下AJAX服务器推送技术,也叫反向 Ajax 

openfire也可以实现但是不知道淘宝用的是什么

菜鸟弱弱的说一句,这东西网上大把插件可以拿过来改改就能用的自己做费时费力

不是SOCKET,HTTP协义的哪用得到SOCKET,这是用的AJAX技术搞的现在WEB聊天一般都用的技术叫服务器推送,这类的东西思路就是当你一打开聊天页面搭建,就会用AJAX去请求消息处理类如果有消息就会给你返回来,洳果没有消息就会把你的请求挂起来当然不是直接挂起来,而是新建一个线程再挂起直到有消息或者到一个固定时间再把你的请求释放。释放后客户端马上又再次请求这样一直循环。就OK了查看一下AJAX服务器推送技术,也叫反向 Ajax 

这只是一种思路ajax轮询,我后面有补充洳果不是socket就是ajax轮询做的。

对于轮询对于IE8一下浏览器会有卡死的情况,因为你轮询时间太快


匿名用户不能发表回复!

本文总结了阿里云用户在购买阿裏云之前一些常见的问题包括,阿里云什么阿里云为什么贵,阿里云多少钱 阿里云最低多少阿里云分期是什么,阿里云有哪些服务阿里云有什么产品,阿里云服务器如何购买阿里云好用么,如何购买阿里云怎么抢阿里云免费套餐,阿里云如何购买

作者: 子祖 360人浏覽

技术架构来源于人员组织架构 过去两年做了不少大型的中台项目什么是中台?这篇文章就不多说了自行百度一下,总而言之最后我嘚出了一个结论——企业什么样的人员组织架构就会什么样的系统技术架构我们先以下一幅图: 第一阶段:小型企业 这个阶段就是企业嘚初创阶段。公

作者: 聚优云惠 390人浏览

阿里云机房—久经考验安全可靠! 中国最大的5A 级机房之一。2T出口带宽、网络智能调度避开高负荷通路,承载淘宝双11期间数十亿的访问量!始终为您提供最优质机房及线路! 品牌价值阿里云为价值而生! 阿里云国内第一,世界第三的品牌价值保障 强大的技术团队

作者: 子夜初商南 445人浏览

小叽导读:几十个问题,万字长文阿里云新任总裁行癫履新后首次深入讨论阿里雲对云计算未来的判断,深度解读未来阿里云生态战略揭秘阿里技术委员会和阿里中台思想的原生思考。 关于云计算的未来 Q:你关注到雲计算竞争的焦点在发生什么样的变化好像大家还比较关心价格?

作者: 社区助手 557人浏览 评论数:0

作者:**毕玄** ?? 文章来源:微信公众号**HelloJava** 繼前面的系统建设的目的、可衡量的目标达成目标的核心问题后,进入到解决核心问题的设计环节了技术人员其实最擅长的是直奔这個主题,而且估计更期盼的也是这篇有些时候会导致跳过前面的目的、

作者: 花肉酱 320人浏览

作者: 花肉酱 1992人浏览

作者: 管理贝贝 49127人浏览

本期请來了阿里中间件技术专家魏鹏 (豫楚)直播分享基于Java容器的多应用部署技术实践 直播简介 随着业务的发展,机器的数量和系统复杂性不断提升较之简单系统的开发部署,大规模分布式系统将会面对以下新问题: 1. 性能问题系统之间通过远程调用来进

作者: 管理贝贝 50263人浏览 评论数:226 3年前

本期请来了阿里云资深DBA专家罗龙九(玄惭)直播分享了云数据库十大经典案例总结和反思 直播简介 《云数据库十大经典案例》以MySQL数據库为例,收集整理了自RDS成立至今用户在使用RDS过程中最常见的问题,包括:索引sql优化,锁延迟,参数优化

作者: yq传送门 3786人浏览 评论數:4

随着科技的飞速发展,“人工智能”无疑成为了当下最火的词在这一领域,我们仍处于非常初级的阶段很多事情我们还不了解。咜企图了解智能的实质并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识別、自然语言处理和专

参考资料

 

随机推荐