设为首页 收藏本站
查看: 1148|回复: 0

[经验分享] 深入Hadoop节点部署的策略

[复制链接]

尚未签到

发表于 2018-10-31 11:40:01 | 显示全部楼层 |阅读模式
简介
  每个Hadoop集群都包括不止一个节点。这些节点可以按功能分成几个组,比如master组,worker组,client组等等。每个组里面的节点都有不同的资源要求,比如CPU,内存,存储。
  在虚拟数据中心(DataCenter)中有一个或多个虚拟集群(Cluster),每个虚拟集群中有一个或多个主机(Host)。
  节点部署是在保证每个节点资源需求的前提下,按照一定策略将Hadoop集群中的所有节点部署到物理主机上。
定义Hadoop集群
  Hadoop集群可以通过UI来定义,也可以通过json格式的文件来定义。这里以json文件为例来说明有哪些参数可以使用。
  1 {
  2  "nodeGroups" : [
  3   {
  4    "name": "master",
  5    "roles": [
  6     "hadoop_namenode",
  7     "hadoop_jobtracker"
  8    ],
  9    "instanceNum": 1,
  10   "instanceType": "LARGE",
  11    "cpuNum": 2,
  12    "memCapacityMB":4096,
  13    "storage": {
  14     "type": "SHARED",
  15     "sizeGB": 20
  16   },
  17    "haFlag":"on",
  18    "rpNames": [
  19    "rp1"
  20   ]
  21  },
  上面的文件片段定义了master节点组(第2行“name”),其中包括一个节点(第9行“instanceNum”),每个节点需要2个虚拟CPU(第11行“cpuNum”),4096MB的内存(第12行“memCapacityMB”),20GB共享的存储空间(第13-16行)。
简单的节点部署策略
  节点部署的策略有多种,先介绍最简单的一种。因为在一般情况下,Hadoop节点需要占用的磁盘空间是最紧张的资源,所以最基本的节点部署策略是按照磁盘空间的大小来考虑的。首先将所有Hadoop节点按照磁盘空间的要求从大到小进行排序,再将可用的Host按照剩余磁盘空间从大到小进行排序。第一步将磁盘空间需求最大的Hadoop节点部署到剩余磁盘空间最大的主机上去,第二步将磁盘空间需求次大的Hadoop节点部署到剩余磁盘空间次大的主机上去,以此类推。当然,如果后面碰到主机的剩余磁盘空间不够部署某个节点的话,前面拥有较大剩余磁盘空间的主机就会被考虑。这种策略的目的是尽量利用所有可用的主机来部署Hadoop节点,这样每个节点都有更多的资源可供使用。
数据和计算分离的节点部署策略
  随着Hadoop的发展,为了提供更好的弹性和实现真正的多租户,Hadoop数据节点(DataNode)和计算节点(ComputeNode)分开部署的方式开始流行起来。在这种模式下,为了提供最好的性能,需要把数据节点和计算节点尽可能的部署在相同的主机上。而前面介绍的简单节点部署策略由于没有考虑这种要求,会出现下面这种不好的部署方案。
DSC0000.png

  图中有2个数据节点(DN)被放在了一个主机上,而有2个计算节点(CN)被放在了没有数据节点的主机上。
  为了实现数据节点和计算节点分离下的最优部署,需要在定义Hadoop集群时指定一些参数。
  我们先来看数据节点的定义:
  22 {
  23  "name": "data",
  24  "roles": [
  25   "hadoop_datanode"
  26  ],
  27  "instanceNum": 3,
  28  "instanceType": "MEDIUM",
  29  "cpuNum": 2,
  30  "memCapacityMB":2048,
  31  "storage": {
  32   "type": "LOCAL",
  33   "sizeGB": 50,
  34   "dsNames4Data": ["DSLOCALSSD"],
  35   "dsNames4System": ["DSNDFS"]
  36  }
  37  "placementPolicies": {
  38   "instancePerHost": 1,
  39   "groupRacks": {
  40    "type": "ROUNDROBIN",
  41    "racks": ["rack1", "rack2", "rack3"]
  42   }
  数据节点在每个主机上只部署1个(第38行“instancePerHost”:1),一共需要3个数据节点(第27行“instanceNum”:3)。
  再看计算节点的定义:
  45 {
  46  "name": "compute",
  47  "roles": [
  48   "hadoop_tasktracker"
  49  ],
  50  "instanceNum": 6,
  51  "instanceType": "SMALL",
  52  "cpuNum": 2,
  53  "memCapacityMB":2048,
  54  "storage": {
  55   "type": "LOCAL",
  56   "sizeGB": 10
  57  }
  58  "placementPolicies": {
  59   "instancePerHost": 2,
  60   "groupAssociations": [{
  61    "reference": "data",
  62    "type": "STRICT"
  63   }]
  64  }
  65 },
  计算节点在每个主机上部署2个(第59行“instancePerHost”:2),并且必须部署在有数据节点的主机上(第60行“groupAssociations”和第61行“reference”:“data”)。
  在这样的定义下,Hadoop集群部署后将是下面这种理想的状态:
DSC0001.png

  3个数据节点(DN)被分别部署在三台主机上,同时每个主机上还部署了2个计算节点(CN)。
机架(Rack)感知的节点部署策略
对于大规模的Hadoop集群,会在数据中心内使用多个机架(Rack)。通过指定机架名称,可以把特定的Hadoop节点组部署在指定的机架上。这种部署方式,可以在某个机架出现问题的时候,让Hadoop集群能够在正常工作的机架上持续运行。  如有任何问题,您可以发邮件至bigdata_apac@vmware.com。
  关于vSphere Big Data Extensions:
  VMware vSphere Big Data Extensions(简称BDE)基于vSphere平台支持大数据和Apache Hadoop作业。BDE以开源Serengeti项目为基础,为企业级用户提供一系列整合的管理工具,通过在vSphere上虚拟化Apache Hadoop,帮助用户在基础设施上实现灵活、弹性、安全和快捷的大数据部署、运行和管理工作。了解更多关于VMware vSphere Big Data Extensions的信息,请参见http://www.vmware.com/hadoop。
  作者介绍
DSC0002.jpg

  朱向飞(Xiangfei Zhu)
  VMware高级开发工程师,2013年加入VMware的大数据开发团队。在此之前就职于汤森路透的搜索引擎开发团队。参与过Java企业应用开发,互联网和即时通信,搜索引擎以及大数据处理等多个项目,拥有丰富的软件开发经验。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-628927-1-1.html 上篇帖子: 深入Hadoop磁盘部署的算法 下篇帖子: Hadoop运维记录系列(十一)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表