2016-08-23 56 views
0

我正在学习Hortonworks的基本知识和运行一个小型集群具有以下规格:如何在Hadoop中的单个数据节点上设置单个数据节点目录?

  • 3 Amazon EC2的节点(每个既是数据节点和名称节点)
  • 设置通过Ambari
  • 节点1有(安装硬盘)

现在,将/ mnt/vol1添加到dfs.datanode.data.dir(通过Ambari)时,每个节点都会获得vol1目录的副本,即使他们不存在。将块存储在其他datanode的这些目录中吗?我怎么才能为单个datanode添加额外的存储空间而不是其他的?

回答

0

这里有一个Ambari的配置组的概念。默认情况下,群集中的所有节点都只是一个配置组的一部分。因此,组中的任何配置都适用于所有节点。在这种情况下,如果您已将dfs.datanode.data.dir设置为/mnt/vol1 Ambari将在每个节点上检查此目录。如果存在,那么数据节点的数据将被存储在该目录中。否则,它被忽略。

因此,对于你的情况,对于Node1,这个目录被使用,但是对于其他节点,因为这个目录不可用,所以它不会被使用。如果dfs.datanode.data.dir配置中没有提及其他目录,我想你可能会看到复制因子设置为3.

实际上,你可以做的是为机器配置两个配置组安装存储卷,然后将dfs.datanode.data.dir设置为/mnt/vol1,并为另外两个节点设置另一个配置组,然后在此属性中提供适当的值。这应该可以解决您的问题。

检查相关配置组的详细信息的链接如下:

https://developer.ibm.com/hadoop/2015/11/10/override-component-configurations-with-ambari-configuration-groups/

https://docs.hortonworks.com/HDPDocuments/Ambari-2.1.1.0/bk_Ambari_Users_Guide/content/_using_host_config_groups.html

相关问题