日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

hadoop 2.2.0的datanode中存儲block的多個文件

系統(tǒng) 4311 0

? ? hadoop的分布式文件系統(tǒng)HDFS的存儲方式是,將數(shù)據(jù)分成block,分布式存儲在整個hadoop集群的datanode中,每個block默認的大小是64M,這些block文件的具體存儲位置是在hadoop的配置文件中定義的,進入/home/hadoop2/hadoop2/etc/hadoop的配置文件目錄(hadoop版本為社區(qū)版2.2.0):

      
        vi
      
       /home/hadoop2/hadoop2/etc/hadoop/hdfs-
      
        site.xml




      
      <configuration>

<property>

<name>dfs.namenode.secondary.http-address</name>

<value>master:
      
        9001
      
      </value>

</property>



<property>

<name>dfs.namenode.name.
      
        dir
      
      </name>

<value>
      
        file
      
      :/home/hadoop2/dfs/name</value>

</property>




      
        <property>

<name>dfs.datanode.data.
        
          dir
        
        </name>

<value>
        
          file
        
        :/home/hadoop2/dfs/data</value>

</property>
      
      



<property>

<name>dfs.replication</name>

<value>
      
        2
      
      </value>

</property>



<property>

<name>dfs.webhdfs.enabled</name>

<value>
      
        true
      
      </value>

</property>



</configuration>
    

其中,標黃色的屬性dfs.datanode.data.dir為block存儲路徑的設(shè)置選項。

? ? 正常情況下,我們?nèi)缟蠄D中的設(shè)置自己設(shè)定的路徑就可以了;但是,隨著hdfs中的數(shù)據(jù)量越來越大,會出現(xiàn)datanode上block存儲路徑所在的掛載點空間不足的情況,本文中的情況就是 /home 掛載點的剩余空間即將不足了,但是在該datanode主機上,/ 掛載點還有非常多的剩余空間,我們希望將數(shù)據(jù)存儲到 / 掛載點的目錄下,防止 /home 掛載點被塞滿。

? ?這樣我們首先需要切換到root管理員用戶下,因為 / 掛載點的擁有者是root,我們的hadoop2用戶對該目錄沒有足夠的權(quán)限。接著我們在該目錄下創(chuàng)建一個存儲block的文件目錄:

      
        su
      
       -
      
        mkdir
      
       /hdfs/data
    

這樣還不能直接設(shè)置路徑,由于我們是用root用戶創(chuàng)建的目錄,該目錄的擁有者和組群都是root,hadoop2用戶沒有足夠權(quán)限,如果設(shè)置為datanode的block存儲路徑,將會拋出異常,導致datanode進程關(guān)閉,hadoop集群無法正常啟動。我們需要更改/hdfs目錄及其子目錄的擁有者和組群為hadoop2,如下:

      cd /




      
        chown
      
       hadoop2:hadoop2 -R /hdfs
    

?chown命令用于修改所有者,其中,hadoop2:hadoop2為擁有者和組群,-R為迭代修改所有子目錄和文件。

這樣我們就可以修改hdfs-site.xml文件的datanode的屬性為多個路徑:

      <property>

<name>dfs.datanode.data.
      
        dir
      
      </name>


      
        <value>
        
          file
        
        :
        
          ///
        
        
          home/hadoop2/dfs/data,/hdfs/data
        
        
          </value>
        
      
      

</property>
    

路徑之間只需用逗號 “ , ”分隔就可以了。

這樣設(shè)置后,重新啟動集群的dfs,bin/start-dfs.sh,通過jps命令查看集群的相關(guān)進程是否都正常啟動:

      
        jps




      
      
        6935
      
      
         HQuorumPeer


      
      
        
          6115
        
        
           SecondaryNameNode 
        
      
      
        6423
      
      
         NodeManager


      
      
        
          6317
        
        
           ResourceManager 
        
      
      
        18005
      
      
         Bootstrap


      
      
        
          5837
        
        
           NameNode 
        
        
          5956
        
        
           DataNode 
        
      
      
        7143
      
      
         HRegionServer


      
      
        7005
      
      
         HMaster


      
      
        2351
      
       Jps
    

標黃色的為啟動dfs后必須存在的進程,其他的進程為Hbase相關(guān)進程。這樣設(shè)置啟動以后,再往HDFS中寫入數(shù)據(jù)時,產(chǎn)生的block數(shù)據(jù)塊就會分別寫入兩個不同的目錄中,均勻分布,不會出現(xiàn)一個路徑的掛載空間不足的情況,如果再次占滿,可以再次掛載新的磁盤,繼續(xù)添加路徑。

另外,不同的datanode中,block的路徑屬性可以設(shè)置為不相同,不影響集群的正常運行。

?

轉(zhuǎn)載請注明出處: http://www.cnblogs.com/bxljoy/p/3863539.html ?

hadoop 2.2.0的datanode中存儲block的多個文件夾的負載均衡問題


更多文章、技術(shù)交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 寿阳县| 宁明县| 石楼县| 旌德县| 泸定县| 长葛市| 许昌市| 依安县| 永德县| 南和县| 旬阳县| 鸡东县| 石嘴山市| 团风县| 怀柔区| 文成县| 汉中市| 新巴尔虎左旗| 始兴县| 威信县| 额济纳旗| 株洲市| 信丰县| 苍梧县| 修文县| 静宁县| 牟定县| 柯坪县| 贡山| 康乐县| 石嘴山市| 乐山市| 弥勒县| 金门县| 黄浦区| 石屏县| 海林市| 安龙县| 崇文区| 兴安县| 屏东市|