兩個集群之間做資料同步,而且兩個集群之間的版本不一致,這個時候使用的是hftp協議或者webhdfs協議!
如果試圖在兩個執行著不同hdfs版本的集群上使用distcp命令來複製資料並使用hdfs協議,複製作業會失敗,因為兩個系統版本的rpc是不相容的。要想彌補這種情況,
1、使用htfp協議
>>可以使用基於唯讀http協議的htfp檔案系統並從原始檔系統中讀取資料。
>>這個作業必須執行在目標集群上,進而實現hdfs rpc版本的相容。使用hftp協議重複前面的例子:
需要在目標機器上執行這個命令,distcp src des;這裡使用的協議是hftp命令
hadoop distcp src des
hadoop distcp hftp://cdh11:50070/data01/allen/temp/ /data01/allen
特別要注意這裡埠號的指定,hftp預設的埠號是50070,這是由dfs.http.address屬性指定的。
2、使用wehhdfs協議
使用新出的webhdfs協議(替代hftp)後,對源集群和目標集群均可以使用http協議進行通訊,且不會造成任何不相容的問題。
hadoop distcp src des
hadoop distcp webhftp://hadoopcluster1:50070/foo webhdfs://hadoopcluster2:50070/bar
distcp集群遷移問題總結
1.源集群準備一台用於提交資料拷貝任務的機器,要求可以連線目標大資料集群且安裝json命令 尋找 datanode的機器 且驗證一下上面安裝了json的命令 hdfs dfs dipc.client.fallback to auth allowed true ls hdfs namenode 802...
Hadoop集群間資料拷貝distcp使用
distcp是hadoop集群間拷貝工具,使用mapreduce的方式,進行大資料在集群的拷貝,不同於簡單的資料copy,distcp會校驗資料,穩定傳輸,最後進行拷貝結果統計,彙總拷貝狀態,如拷貝成功的檔案數 大小等 基本命令 hadoop distcp option src dst 關於dist...
Hadoop集群間資料拷貝distcp使用
distcp是hadoop集群間拷貝工具,使用mapreduce的方式,進行大資料在集群的拷貝,不同於簡單的資料copy,distcp會校驗資料,穩定傳輸,最後進行拷貝結果統計,彙總拷貝狀態,如拷貝成功的檔案數 大小等 基本命令 hadoop distcp option src dst 關於dist...