中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Distcp 分布式拷貝

發布時間:2020-08-05 16:29:32 來源:網絡 閱讀:7901 作者:醬醬醬子啊 欄目:大數據

(1)discp原理

    DistCp(Distributed Copy)是用于大規模集群內部或者集群之間的高性能拷貝工具,和在linux上執行cp,scp實現效果是一致的,不同的是,cp是將本機的文件和目錄拷貝到本機的其它地方,scp則可以將A機器的文件或者目錄拷貝到B機器,而Distcp則可以實現的是A(hdfs)集群的數據拷貝到B(hdfs)集群,而分布式使得數據拷貝時,可以實現A級群的DN節點同時向B集群的DN節點發送數據,突破了單機拷貝的網卡速率限制,拷貝效率更高。

    同時Distcp它使用Map/Reduce任務實現文件分發,錯誤處理和恢復,以及報告生成。 它把文件和目錄的列表作為map任務的輸入,每個任務會完成源列表中部分文件的拷貝。(實際上Distcp只用到了map,沒用用到reduce)。


(2)使用場景

    1:數據異地災備。

    2:機房下線,數據遷移。

    3:數據準實時同步。


(3)discp優勢

    1:支持帶寬限流,可以使用bandwidth參數對distcp的每個map任務限流,同時控制map并發數量即可控制整個拷貝任務的帶寬,防止拷貝任務將帶寬打滿,影響其它業務。


    2:支持overwrite(覆蓋寫),update(增量寫),delete(刪除寫)等多種源和目的校驗的拷貝方式,大量數據的拷貝必然要做到數據拷貝過程中的校驗,來保證源和目的數據的一致性。

    

(4)discp命令

  • 命令格式

hadoop distcp \
-Dmapred.jobtracker.maxtasks.per.job=1800000 \   #任務最大map數(數據分成多map任務)
-Dmapred.job.max.map.running=4000 \              #最大map并發
-Ddistcp.bandwidth=150000000 \                   #帶寬
-Ddfs.replication=2 \                            #復制因子,兩副本
-Ddistcp.skip.dir=$skipPath \                    #過濾的目錄(不拷貝的目錄)
-Dmapred.map.max.attempts=9 \                    #每個task最大嘗試次數
-Dmapred.fairscheduler.pool=distcp \             #指定任務運行的pool
-pugp \                                          #保留屬性(用戶,組,權限)
-i \                                             #忽略失敗的task
-skipcrccheck \                                  #忽略CRC校驗(防止源,目標集群hdfs版本不一致導致任務失敗。)
hdfs://clusterA:9000/AAA/data  \                 #源地址
hdfs://clusterB:9000/BBB/data                    #目標地址


(5)執行輸出

[work@hq distcp]$ hadoop distcp \
-Dmapred.jobtracker.maxtasks.per.job=1800000 \
-Dmapred.job.max.map.running=4000 \
-Ddistcp.bandwidth=150000000 \
-Ddfs.replication=2 \
-Dmapred.map.max.attempts=9 \
-Dmapred.fairscheduler.pool=distcp \
-pugp -i -skipcrccheck \
hdfs://clusterA:9000/AAA/data \
hdfs://clusterB:9000/BBB/data

17/06/03 17:06:38 INFO tools.DistCp: srcPaths=[hdfs://clusterA:9000/AAA/data ]
17/06/03 17:06:38 INFO tools.DistCp: destPath=hdfs://clusterB:9000/BBB/data
17/06/03 17:06:39 INFO tools.DistCp: config no skip dir
17/06/03 17:06:40 INFO tools.DistCp: sourcePathsCount=241
17/06/03 17:06:40 INFO tools.DistCp: filesToCopyCount=240
17/06/03 17:06:40 INFO tools.DistCp: bytesToCopyCount=0.0
17/06/03 17:06:40 INFO tools.DistCp: mapTasks: 1
17/06/03 17:06:40 INFO corona.SessionDriver: My serverSocketPort 36822
17/06/03 17:06:40 INFO corona.SessionDriver: My Address 10.160.115.122:36822
17/06/03 17:06:40 INFO corona.SessionDriver: Connecting to cluster manager at jobtracker:8021
17/06/03 17:06:40 INFO corona.SessionDriver: HeartbeatInterval=15000
17/06/03 17:06:40 INFO corona.SessionDriver: Got session ID job_201706031706_267270
17/06/03 17:06:40 INFO tools.DistCp: targetsize=268435456
17/06/03 17:06:40 INFO tools.DistCp: targetfiles=500
17/06/03 17:06:40 INFO corona.SessionDriver: Started session job_201706031706_267270
17/06/03 17:06:45 INFO mapred.JobClient:  map 0% reduce 0%
17/06/03 17:06:59 INFO mapred.JobClient:  map 3% reduce 0%
17/06/03 17:07:01 INFO mapred.JobClient:  map 5% reduce 0%
17/06/03 17:07:05 INFO mapred.JobClient:  map 6% reduce 0%
.....
17/06/03 17:11:15 INFO mapred.JobClient:  map 97% reduce 0%
17/06/03 17:11:17 INFO mapred.JobClient:  map 100% reduce 0%
17/06/03 17:11:25 INFO corona.SessionDriver: Stopping session driver



(6)主要參數

Hadoop 1版本


distcp [OPTIONS] <srcurl> * <desturl>

選項:

-p [rbugp]             狀態

                       r:復制數

                       b:塊大小

                       u:用戶

                       g:組

                       p:權限

                       t:修改和訪問時間

                       -p單獨相當于-prbugpt

-i                     忽略失敗

-basedir <basedir>     從<srcurl>復制文件時,使用<basedir>作為基本目錄

-log <logdir>          將日志寫入<logdir>

-m <num_maps>          最大并發副本數

-overwrite             覆蓋目的地

-update                如果src大小與dst大小不同,則覆蓋

-skipcrccheck          不要使用CRC檢查來確定src是否是 不同于dest。

-copybychunk           剁碎和復制的文件

-f <urilist_uri>       將<urilist_uri>中的列表用作src列表

-filelimit <n>         將文件的總數限制為<= n

-filelimitpermap <n>   每個地圖要復制的最大文件數

-sizelimit <n>         將總大小限制為<= n個字節

-sizelimitpermap <n>   每個映射要復制的最大字節數

-delete                刪除dst中存在的文件,但不在src中

-mapredSslConf <f>     映射器任務的SSL配置文件名

-usefastcopy           使用FastCopy(僅適用于DFS)


注1:如果設置了-overwrite或-update,則每個源URI和目標URI保持同級一致。

例如:

hadoop distcp -p -update hdfs://A:9000//home/aa  hdfs://B:9000//home/bb


支持的通用選項是

-conf <configuration file>指定應用程序配置文件

-D <property = value>給定屬性的使用值

-fs <local | namenode:port>指定一個namenode

-jt <local | jobtracker:port>指定jobtracker在corona上

-jtold <local | jobtracker:port>指定jobtracker在mapreduce上

-files <逗號分隔的文件列表>指定要復制到map reduce cluster的逗號分隔文件

-libjars <逗號分隔的jars列表> 指定要包含在類路徑中的逗號分隔的jar文件。

-archives <逗號分隔的歸檔列表> 指定要在計算機上取消歸檔的逗號分隔的歸檔。



Hadoop 2版本


用法:distcp OPTIONS [source_path ...] <target_path>

              OPTIONS

 -append                    重新使用目標文件中的現有數據并追加新的如果可能,給他們的數據

 -async                     應該是distcp執行阻塞

 -atomic                    提交所有更改或無

 -bandwidth <arg>           以MB為單位指定每個map的帶寬

 -delete                    從目標中刪除,源文件丟失

 -diff <arg>                使用snapshot diff報告來標識源和目標之間的差異

 -f <arg>                   需要復制的文件列表

 -filelimit <arg>          (已棄用!)限制復制到<= n的文件數

 -i                         在復制期間忽略故障

 -log <arg>                 DFS上的distcp執行日志文件夾保存

 -m <arg>                   要用于副本的最大并發map數

 -mapredSslConf <arg>       配置ssl配置文件,用于hftps://

 -overwrite                 選擇無條件覆蓋目標文件,即使它們存在。

 -p <arg>                   保留源文件狀態(rbugpcaxt)

                            (復制,塊大小,用戶,組,權限,校驗和類型,ACL,XATTR,時間戳)

                            如果-p是指定為no <arg>,然后保留復制,塊大小,用戶,組,權限,校驗和類型和時間戳。

                            原始的* xattrs是源和目的地都保留路徑位于/.reserved/raw層次結構中(HDF只要)。原始*      

                            xattrpreservation是獨立的-p標志。請參閱DistCp文檔更多細節。

 -sizelimit <arg>          (已棄用!)限制復制到<= n的文件數字節

 -skipcrccheck              是否跳過源和源之間的CRC檢查目標路徑。

 -strategy <arg>            復制策略使用。默認是分工基于文件大小

 -tmp <arg>                 要用于原子的中間工作路徑承諾

 -update                    更新目標,僅復制missingfiles或目錄


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

万源市| 清丰县| 临高县| 思南县| 元朗区| 宜兰市| 永城市| 方山县| 成都市| 房产| 凤山县| 大宁县| 新化县| 含山县| 额敏县| 合肥市| 师宗县| 晋中市| 封丘县| 六安市| 鄂托克旗| 黄冈市| 平和县| 松滋市| 泗洪县| 霍山县| 巴彦县| 保德县| 木里| 永福县| 盘山县| 时尚| 南澳县| 汝城县| 卢龙县| 贵德县| 新郑市| 石嘴山市| 剑阁县| 巴彦县| 珠海市|