兩集群拷貝 hdfs資料

2021-10-20 00:13:20 字數 917 閱讀 4093

將 a集群的資料 拷貝到b集群

hadoop distcp hdfs://

10.30

.7.8

:8020

/master/basis_report_data/ hdfs://

10.30

.7.2

/hive_log/

一些 常用引數補充

標識及描述

備註-p[rbugp]

修改次數不會被保留。並且當指定 -update 時,更新的狀態不會 被同步,除非檔案大小不同(比如檔案被重新建立)。

-i 忽略失敗

就像在 附錄中提到的,這個選項會比預設情況提供關於拷貝的更精確的統計, 同時它還將保留失敗拷貝操作的日誌,這些日誌資訊可以用於除錯。最後,如果乙個map失敗了,但並沒完成所有分塊任務的嘗試,這不會導致整個作業的失敗。

-log 記錄日誌到

distcp為每個檔案的每次嘗試拷貝操作都記錄日誌,並把日誌作為map的輸出。 如果乙個map失敗了,當重新執行時這個日誌不會被保留。

-m 同時拷貝的最大數目

指定了拷貝資料時map的數目。請注意並不是map數越多吞吐量越大。

-overwrite 覆蓋目標

如果乙個map失敗並且沒有使用-i選項,不僅僅那些拷貝失敗的檔案,這個分塊任務中的所有檔案都會被重新拷貝。 就像下面提到的,它會改變生成目標路徑的語義,所以 使用者要小心使用這個選項。

-update 如果源和目標的大小不一樣則進行覆蓋

像之前提到的,這不是"同步"操作。 執行覆蓋的唯一標準是原始檔和目標檔案大小是否相同;如果不同,則原始檔替換目標檔案。 像 下面提到的,它也改變生成目標路徑的語義, 使用者使用要小心。

-f 使用作為原始檔列表

這等價於把所有檔案名列在命令列中。 urilist_uri 列表應該是完整合法的uri。

hbase跨集群遷移(兩集群網路不通)

這兩天公司集群需遷移到華為fi大資料平台,hive,hbase,指令碼等遷移就開始採坑了。先是檢視資料hbase遷移大致有幾種方案 1 distcp 2 copytabl e3 export and import 4 copytolocal and copyfromlocal 由於遷移是從cdh開源...

從兩個HDFS集群之間拷貝資料命令

命令如下 hadoop distcp hdfs a01 8020 lime hdfs nameservice 該命令在需要資料的集群上面進行執行,執行過程需要跑mr程式。於是我親身測試了一下。答案是肯定的 所以有了方法二 這裡我以隨便乙個區域網ip為例,它上面配置的namenode通訊埠為8020 ...

hdfs問題 hdfs 跨集群資料遷移報錯

目前想要讓kerberos集群的hdfs資料遷移到非kerberos集群的hdfs上,使用以下命令報錯 sudo kinit hive sudo klist sudo hadoop distcp hdfs 8020 user hive warehouse test.db hdfs 8020 user...