分享

面试生产大数据集群软、硬件资源规划必备:集群规划


问题导读

1.大规模、小规模集群一般多少台机器?
2.小规模硬件配置该如何分配?
3.内存本文是如何计算的?

Hadoop集群规划,很多公司刚开始搭建集群的时候都会遇到集群规划,该如何选择配置,该配置多少台集群,这里仅供大家参考

1.Hadoop运行软硬件环境
标准的x86的服务器
以太网络
多机架数据中心
软件环境
硬件的选择 (处理器,硬盘,网络)

2.Hadoop集群模块逻辑结构
1.png


3.Hadoop集群节点分配

1.png
1.png


4.硬件选择考虑的因素
要使得Hadoop集群能否充分发挥作用,需要足够好的硬件和软件。虽然台式机硬件也能运行hadoop欢迎,但是在性能有差距,解决问题的规模有限

合理的选择硬件需要对自己所需要处理的问题有全面的了解,这样才能投资合理的硬件。

计算密集型应用:
机器学习
数据挖掘

IO密集型应用
索引,检索
统计,聚类
数据解码与解压缩


5.Hadoop典型硬件需求
推荐使用双路4核,英特尔处理器
最低要求内存为16G,在此基础上不同的服务器角色喝服务类型,有不同的内存要求
1.png

1.硬件配置--内存
用户可以通过简单滴叠加响应服务需要的内存要求来计算推荐的内容要求:
比如一个服务器计划运行如下服务:
hdfs,datanode,mapreduce tasktracker和hbase region server。同时计划的slot数量(包括map slots和reduce slots)为16,对于这个服务器的推荐内存为
2G+2G+512M*16+16G=28G


hbase性能内存敏感

2.硬件配置--硬盘

JBOD vs. RAID
对于所以集群中的服务器(除了主命名节点和从命名节点),推荐在物理硬盘中不要使用RAID

在RAID无法被移除的情况下,每一个物理硬盘可以被设为一个单独的RAID0

硬件容量计算
副本数
压缩算法
膨胀率+附加存储+MapReduce临时存储


3.硬件配置--网络

典型使用以太网络,为了使得系统能够正常运 行,最低使用千兆以太网连接,由于需要有数 据交换的需求,建议配置大容量的网络交换机

当一台机器上有多个网络适配器时,推荐使用 网络适配器绑定Linux的方法配置链路聚合,并 把工作模式设为6。在工作模式为6时,负载平 衡可以通过循环取得,并且这些网络适配器可 以在没有配置交换器的情况下正常工作


4.硬件配置--交换机
(1)千兆以太网接口是最基本的要求,更重要的是交换机的背板带宽,是 决定数据传输的关键因素
(2)一个以太网交换机的接口是以太网交换机到主机的速度,这个速度决 定主机到交换机的速度级别,在Hadoop环境中,这个速度最少应该是 千兆以太网
接口速度即使达到了千兆以太网,实际的运行速度可能并不能真正达 到千兆以太网的速度,因为可能有数十个设备同时共享这个交换机
(3)决定交换机的性能的关键因素是交换机的背板带宽,具有良好背板交 换能力的交换机能够使得任意两个接口之间的速度以及上行的速度都 能够达到千兆的速度,而通过总线进行共享的带宽往往不能达到理想 的速度
(4)为了能够使得Hadoop的处理能力能够得到充分的释放,交换机对于系 统运行的性能起到了决定性的左右,建议在可能的情况下尽量选择高 端的交换机,使得每一个接口都能够达到线速(网线能够达到什么速 度,交换机就能够提供什么速度,没有性能损失)


5.网络推荐配置
(1)最常见的是使用服务器本身的万兆以太网络, 每一个机架使用一个交换机,在多个机架之间 进行带宽聚合。这种方式在总的节点数目较少(少于40个)集群比较合适
(2)如果应用(例如ETL的应用)的IO高负载,这 样的话,网络会成为性能瓶颈
  •         12块以上的硬盘,每块以100MB/s速度运行,会很 快吃掉所有网络带宽
  •         低端的交换器不能够支持线速,产生阻塞

(3)提高网络速度最直接的办法是通过端口绑定, 将服务器的多个端口绑定为一个


6.多网卡绑定
1.通过多个网卡绑定一个ip地址
2.通过软硬件设置将两块或则多块网卡绑定到同一个ip地址,可以增大网络宽带,形成网卡的冗余阵列、分担负载
   --分担负载:网络流量可以被同时分配到多个网卡上,在同样的流量下,每块网卡的敷在降低;在流量增加的时候,由于多个物理网卡的协同作用,能否提高网络流量
   --提高通信可靠性:当其中的一块网卡发生故障的时候,另外一块网卡可以继续工作,传输不被打断
3.在Linux下可以通过配置文件的方式将两个物理网卡绑定在一起


7.中高端网络配置推荐
如果整个几群的负载比较高,或则非常高,这就需要更换性能更好的网络

在较高负载的情况下,可以考虑使用性能更好的10GBE以太网络
  --每一个网络端口的成本会是原来的3倍,但有约10倍的性能提升
  --一些Hadoop模块,例如Hbase能够从低延迟中获得利益,能够提高总体的性能
如果需要的通信更大,或则需要混合一些高性能计算机程序,需要更加高端的网络配置
  --推荐使用InfiniBand网络,InfiniBand网络具有更好的实现机制,能够减少网络的冲突
  --InfiniBand的宽带有10G,20G及40G的选择,并延迟更短


8.小规模硬件推荐
4~10个节点,解决较小规模问题

1.png

9.中规模硬件推荐
20+个节点,解决中等规模问题,实际上能够满足大多数中小企 业的需求

1.png

10.高端硬件推荐
依据问题规模确定所需要的节点数目,解决大规模问题,使用 高端的内存,高速网络

1.png

6.软件环境要求

支持的操作系统为Linux,要求64位系统,版本 至少6以上。包括:
  • RedHat Enterprise Linux
  • CentOS
  • Oracle Linux

软件依赖:
  • Java 1.6
  • openssh

» 在把服务器加入集群前,须要确保openssh-server在运行。如果 openssh-server没有在运行,在Hadoop集群中的所有节点中安装 openssh-server包。


7.集群规划


  • 规划使用Hadoop的组件,这些组件包括HDFS,MapReduce,Hive,HA组件等
  • 规划集群的硬件参数,包括服务器数量,物理 布局,机架数目以及服务器在机架上的分配
  • 规划集群使用的网络,即决定使用网络的拓扑, 节点到交换机的连接,机柜之间的连接
  • 规划节点的IP地址设置以及节点的角色,例如 用以各个逻辑角色管理的节点,用以存储元数 据的NameNode,MapReduce程序的JobTracker,  管理节点等


8.集群构建步骤




1.png


9.角色分配
  • 在规划中,除了选取硬件之外,还需要进 行角色的规划
  • 角色的规划即确定Hadoop的某一个运行角 色运行在哪个节点之上
  • 与硬件推荐情况一致,首先需要确定集群 的本身负载,针对小规模,中规模以及大 规模集群有不同的集群规划方案

10.小规模测试集群

小规模测试集群不需要高可用性,无需
NameNode的高可用性,将所有的头结点都配 置到单个的节点中。

配置方案:
头结点Head Node:NN+2NN+JT+ZK+HMaster
数据节点Data Node:DN+TT+RS, 在两个数据节点中 部署ZK+HMaster
保证ZK的数目为奇数
NN:NameNode,2NN:SecondaryNameNode,  JT:JobTracker, ZK: ZooKeeper, Hmaster: HBaseMaster,  DN: DataNode, TT: TaskTracker, RS: HBase  RegionServer


11.小规模生产集群

小规模生产需要高可用性,
配置方案:
头结点Head Node:NN+JT+ZK+Hmaster
头结点的副本Backup Head Node:Backup  NN+2NN+Backup JT+ZK+HMaster
数据节点Data Node:DN+TT+RS, 在一个数据节点中 部署ZK+HMaster
保证ZK的数目为奇数
NN:NameNode,2NN:SecondaryNameNode,  JT:JobTracker, ZK: ZooKeeper, Hmaster: HBaseMaster,  DN: DataNode, TT: TaskTracker, RS: HBase  RegionServer


12.小规模生产集群


大规模生产需要高可用性
配置方案:
单独的NameNode节点:NN
单独的JobTracker节点:JT+ZK+Hmaster
NameNode的副本: backup NN+2NN+ZK+Hmaster
JobTracker节点的副本:Backup JT+ZK+HMaster
数据节点Data Node:DN+TT+RS, 在一个数据节点中部
署ZK+HMaster
保证ZK的数目为奇数
NN:NameNode,2NN:SecondaryNameNode, JT:JobTracker,  ZK: ZooKeeper, Hmaster: HBaseMaster, DN: DataNode, TT:  TaskTracker, RS: HBase RegionServer

文档下载:
企业大数据搭集群搭建硬件选择:Hadoop集群规划
http://www.aboutyun.com/forum.php?mod=viewthread&tid=27314


最新经典文章,欢迎关注公众号




加入About云知识星球,获取更多实用资料

已有(3)人评论

跳转到指定楼层
yunge2016 发表于 2019-6-14 10:00:34
非常感谢技术大佬分享。
回复

使用道具 举报

zll940529 发表于 2019-10-14 14:24:02
不错。很到位
回复

使用道具 举报

liuyou2036 发表于 2020-7-21 17:16:13
很好,学习了~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条