公司hadoop集群遷移,需要遷移所有的表結構及比較重要的表的資料(跨雲服務機房,源廣州機房,目標北京機房)
1、遷移表結構
1)、老hive中匯出表結構
hive -e "use db;show tables;" > tables.txt
#!/bin/bashcat tables.txt |while read eachline
dohive -e "use klwarehouse;show create table $eachline" >>tablesddl.txt
echo ";" >> tablesddl.txt
done
2)、新hive中匯入表結構
hive -f tableddl.txt
對了,執行之前要先建立db,然後在tableddl.txt前面加上use db;
2、遷移表資料
1)、將hive表資料匯出至hdfs
hdfs dfs -mkdir /tmp/hive-exportuse db;
export table 表名 to /tmp/hive-export
hdfs dfs -get /tmp/hive-export/
3)、將資料壓縮
tar -zcvf hivetable1.tar.gz hive-export
4)、將資料傳送至目標hive集群的內網主機中
scp hivetable1.tar.gz [email protected]:/data
5)、解壓資料
tar -zxvf hivetable1.tar.gz
6)、將資料上傳至hdfs中
hdfs dfs -put hive-export/ /tmp/hive-export
7)、將hdfs資料上傳至hive表中
use db;import table 表名 from /tmp/hive-export
hive資料遷移
資料遷移指令碼 1 在原集群上建立,並設定相應許可權 hadoop fs mkdir tmp hive export 2 生成匯出指令碼 hive e use fangyc show tables awk sed s g export.hql fangyc 是資料庫名,根據實際情況修改 3 手工匯出...
hive資料遷移
網路互通的兩個hadoop集群中,可執行如下命令,將nn1節點所在集群a上目錄a.dir拷貝到nn2節點所在集群b目的b.dir上 hadoop distcp i hdfs nn1 8020 a.dir hdfs nn2 8020 b.dir詳情參考 設定預設需要匯出的hive資料庫為default...
遷移hive資料
新集群的資料遷移到老集群,往往會遇到很多問題 1.小檔案多 2.老集群效能比較差 3.資料量大 使用資料遷移工具nifi 該工具的特點是輕量,對小檔案遷移支援度高,大檔案遷移慢 遇到的問題 1.曾經在老集群寫spark程式合併小檔案,但老集群效能比較低,程式跑了一晚上都沒有合併完成乙個月 2.將小集...