環境說明:
136.64.69.10(e3base02) 原集群hive服務端
136.64.69.49(e3base49) 目標集群hive服務端
136.64.69.75(e3base55) 目標集群hive客戶端
weixh_test hive測試庫
原集群匯出資料臨時目錄
hdfs dfs -mkdir /tmp/weixh_test
在136.64.69.10主機執行:
beeline -u jdbc:hive2://e3base02:9066/weixh_test -n e3base -p 111111 -e "show tables" | awk '' | sed "s/|/'/g" > /e3base/weixh/export.hql
測試中發現beeline命令出來的格式不正確,需要使用如下的hive -e 命令:
但注意,需要在hive命令中加入 use database_name
hive -e "use weixh_test;show tables" | awk '' | sed "s/|/'/g" > /e3base/weixh/export.hql
匯出的export.hql樣例:
export table ind_cpc_activity_user_list_d_old to '/tmp/weixh_test/ind_cpc_activity_user_list_d_old';
beeline -u jdbc:hive2://e3base02:9066/weixh_test -n e3base -p 111111 -f /e3base/weixh/export.hql
在136.64.69.10主機執行:
hadoop fs -get /tmp/weixh_test /e3base/weixh
在136.64.69.10主機執行:
scp -r /e3base/weixh/weixh_test e3base55:/e3base/tmp
hdfs dfs -put /e3base/tmp/weixh_test /tmp/
這樣目標集群hdfs下就會有/tmp/weixh_test路徑了。
在136.64.69.10主機執行:
cp /e3base/weixh/export.hql /e3base/weixh/import.hql
sed -i 's/export table/import table/g' /e3base/weixh/import.hql
sed -i 's/ to / from /g' /e3base/weixh/import.hql
scp /e3base/weixh/import.hql e3base55:/e3base/tmp/
匯入指令碼import.hql樣例:
import table ind_cpc_activity_user_list_d_old from '/tmp/weixh_test/ind_cpc_activity_user_list_d_old';
e3base55(136.64.69.75)主機,連線新集群的hive埠:
beeline -u jdbc:hive2://e3base49:10000/weixh_test -n e3base -p 111111 -f /e3base/tmp/import.hql
匯入後,遷移的表資料就能在目標集群hive中查到。 Hadoop集群監控與Hive高可用 分享總結
概述 此分享是關於hadoop集群監控與hive高可用的分享彙總,作者來自暴風影音 彙總點 hadoop監控基於cacti主要包括 io,cpu,記憶體,io等待缺點是模板太少 hadoop監控基於ganglia包括負載 頻寬等缺點是配置複雜 hive的高可用可以基於haproxy和多個hive t...
hadoop資料遷入到hive
由於很多資料在hadoop平台,當從hadoop平台的資料遷移到hive目錄下時,由於hive預設的分隔符是 為了平滑遷移,需要在建立 時指定資料的分割符號,語法如下 create table test uid string,name string row format delimited fiel...
Hadoop大資料 Hive初識
hadoop提供了大資料的通用解決方案,比如儲存提供了hdfs,計算提供了mapreduce思想。但是想要寫出mapreduce演算法還是比較繁瑣的,對於開發者來說,需要了解底層的hadoop api。如果不是開發者想要使用mapreduce就會很困難.另一方面,大部分的開發者都有使用sql的經驗。...