2013-10-29 00:00:00
来 源
中存储网
Hadoop
每个Hadoop集群都包括不止一个节点。这些节点可以按功能分成几个组,比如master组,worker组,client组等等。每个组里面的节点都有不同的资源要求,比如CPU,内存,存储。在虚拟数据中心(DataCenter)中有一个或多个虚拟集群(Clus
每个Hadoop集群都包括不止一个节点。这些节点可以按功能分成几个组,比如master组,worker组,client组等等。每个组里面的节点都有不同的资源要求,比如CPU,内存,存储。
  在虚拟数据中心(DataCenter)中有一个或多个虚拟集群(Cluster),每个虚拟集群中有一个或多个主机(Host)。
  节点部署是在保证每个节点资源需求的前提下,按照一定策略将Hadoop集群中的所有节点部署到物理主机上。
  定义Hadoop集群
  Hadoop集群可以通过UI来定义,也可以通过json格式的文件来定义。这里以json文件为例来说明有哪些参数可以使用。
  {
  “nodeGroups” : [
  {
  "name": "master",
  "roles": [
  "hadoop_namenode",
  "hadoop_jobtracker"
  ],
  “instanceNum”: 1,
  ”instanceType”: “LARGE”,
  ”cpuNum”: 2,
  ”memCapacityMB”:4096,
  ”storage”: {
  ”type”: “SHARED”,
  ”sizeGB”: 20
  },
  ”haFlag”:”on”,
  ”rpNames”: [
  "rp1"
  ]
  },
  上面的文件片段定义了master节点组(第2行“name”),其中包括一个节点(第9行“instanceNum”),每个节点需要2个虚拟CPU(第11行“cpuNum”),4096MB的内存(第12行“memCapacityMB”),20GB共享的存储空间(第13-16行)。
  简单的节点部署策略
  节点部署的策略有多种,先介绍最简单的一种。因为在一般情况下,Hadoop节点需要占用的磁盘空间是最紧张的资源,所以最基本的节点部署策略是按照磁盘空间的大小来考虑的。首先将所有Hadoop节点按照磁盘空间的要求从大到小进行排序,再将可用的Host按照剩余磁盘空间从大到小进行排序。第一步将磁盘空间需求最大的Hadoop节点部署到剩余磁盘空间最大的主机上去,第二步将磁盘空间需求次大的Hadoop节点部署到剩余磁盘空间次大的主机上去,以此类推。当然,如果后面碰到主机的剩余磁盘空间不够部署某个节点的话,前面拥有较大剩余磁盘空间的主机就会被考虑。这种策略的目的是尽量利用所有可用的主机来部署Hadoop节点,这样每个节点都有更多的资源可供使用。

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。