大資料平台CDH集群資料遷移的常見問題與解決方案

2021-09-29 10:12:49 字數 1543 閱讀 1135

一般而言,資料遷移常用於集群之間,但集群之間往往會出現cdh版本不同,那麼如何查詢集群的cdh版本呢?

可以使用命令hadoop version檢視

不同版本的cdh的資料遷移方式也不一樣,下面來介紹下相同版本和不同版本cdh 的資料遷移方式:

注意: ip1–源集群,ip2–目標集群

一、相同版本

使用命令

hadoop distcp hdfs:

//ip1:host/source hdfs:

//ip2:host/source

二、不同版本

使用hftp協議

hadoop distcp hftp:

//ip1:host/source hdfs:

//ip2:host/source

使用引數-skipcrccheck -update

hadoop distcp -skipcrccheck -update hdfs:

//ip1:host/source hdfs:

//ip2:host/source

資料遷移前,應檢視檔案是否存在,否則會報file don』t exist錯誤。

hadoop fs -ls /source
記得資料遷移後,也應該檢視檔案是否遷移完成。

上面只是進行資料檔案的遷移,但是要顯示資料,需要建立hive表,一般而言與原**式一致,記得設定hive**式,否則會出現資料格式亂碼問題,建**式如下:

create table if not exists user

(id string comment 'openid'

, phone string comment '**'

, user_name string comment '使用者名稱'

, *** string comment '性別,直接存男女'

, certificate_no string comment '身份證'

, create_time string

)row format delimited fields terminated by '\t' null defined as '' stored as textfile;

資料亂碼問題

亂碼問題只有兩種情況:

(1)建表未指定格式textfileparquet

(2)操作工具未設定字元編碼,如我用xshell,需要設定xshell的字元編碼utf-8版本不一致,會報錯check-sum,只要有這個,就肯定是版本不一致,怎麼解決,請參考上面

檔案傳輸慢:一般資料量小的檔案傳輸,有可能是檔案數/目錄數過多,只要控制好集群的磁碟就可以了。使用清除快取命令syncecho 3 > /proc/sys/vm/drop_cacahes

大資料平台CDH和HDP

cdh cloudera s distribution,including apache hadoop 是hadoop眾多分支中的一種,由cloudera維護,基於穩定版本的apache hadoop構建,並整合了很多補丁,可直接用於生產環境。cloudera manager則是為了便於在集群中進行...

集群資料遷移

靜態遷移方案 必須在hbase集群停掉的情況下進行 hadoop distcp 動態遷移方案 三種 replication備份方案 修改hbase site.xml配置,增加hbase.replication屬性,增加表屬性replication scope屬性 add peer copytable...

大資料平台搭建 kafka集群的搭建

本系列文章主要闡述大資料計算平台相關框架的搭建,包括如下內容 kafka是乙個分布式 分割槽的 多副本的 多訂閱者的訊息佇列,以高吞吐量著稱,主要用於實時資料的傳輸和處理,總體架構如下 本文環境列表 直接在伺服器10.20.112.59上解壓 cd tar zxvf kafka 2.11 0.10....