• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • Distcp工具深入分析(5)

    發表于:2014-06-25來源:淘測試作者:凡提點擊數: 標簽:軟件測試
    2. Owner同步問題 DistCp工具的提示信息非常少,對于海量數據來說,DistCp初始階段準備拷貝文件列表和結束階段設定Owner同步耗時都比較長,但卻沒有任何提

      2. Owner同步問題

      DistCp工具的提示信息非常少,對于海量數據來說,DistCp初始階段準備拷貝文件列表和結束階段設定Owner同步耗時都比較長,但卻沒有任何提示信息。這是一個很奇怪的地方,拷貝過程中,mapred會打印進度信息到客戶端,這時候可以看到百分比,等結束的時候可以看到過程中的一些統計信息。如果你設置了-p參數,此時就會處于一個停滯的狀態,沒有任何輸出了。由于Owner同步沒有在map task里面去做,放在客戶端就必然成為一個單線程的工作,耗時也會比較長。我以前犯過的錯誤就是啟動distcp后看jobtracker頁面出現作業了,就kill了客戶端的進程,這樣一來就導致Owner不會同步?,F在做法都是用“nohup nice -n 0”把進程放到后臺讓其自動結束。

      3. 長尾問題

      DistCp切分map的時候,充分考慮了每個map需要拷貝的數據量,盡量保持平均,但是卻完全沒有考慮碎文件和整塊文件拷貝耗時不同的問題。此外,某些task所在tasktracker機器由于故障之類原因也會導致性能較差,拖慢了整體節奏??截惔罅繑祿臅r候總會因為這些原因出現長尾。通過在InputSplit的時候同時考慮數據量和文件個數的均衡可以解決碎文件和整文件拷貝耗時不同的問題。而部分task運行慢的問題,目前看起來則沒有很好的解決方案。

      用途

      DistCp這個工具不僅可以用來做數據拷貝遷移工作,同時也是一個很好的制造集群負載的工具。用來模擬一定壓力下的集成測試是非常有效的。在跨機房項目中,我們使用該工具負載兩個機房之間的帶寬,通過控制同時工作map數來調整帶寬的增減是非常有效的。拓展該工具的代碼思路,我們在跨機房項目中制作出來的很多壓力測試、性能測試工具也都發揮了作用。下面簡單用一幅流程圖來說明一下distcp工具的思想:

      總結

      DistCp工具是一個非常易于使用的拷貝工具,在Hadoop生態圈眾多怪獸級應用中,DistCp的代碼是優美且短小精悍的。也因為其代碼易讀性非常好,因此作為MR編程框架的入門教材也非常適合。小心的使用這個工具,我們可以在很多測試場景下模擬真實的線上情況。因此建議每位剛入Hadoop門的碼農都能鉆研一下DistCp的源碼,增加對MR編程框架和HDFS文件系統的深入理解。

    原文轉自:http://www.taobaotest.com/blogs/2516

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>