2016-08-23 68 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

相關問題