GaussDB for DWS gds線下遷移

      網友投稿 944 2025-03-31

      線下集群通過gds工具至線上DWS遷移實施

      遷移流程

      遷移流程

      遷移步驟

      建議起始時間

      耗時

      備注

      開始

      遷移環境準備:

      申請遷移中轉服務器

      配置DWS集群安全組

      配置線下集群白名單

      下載Gsql客戶端和GDS軟件包

      上傳工具包到中轉服務器

      解壓GDS軟件包

      配置GDS加載服務器

      數據遷移前準備:

      線下集群元數據導出

      手工整合元數據導出文件

      上傳集群遷移工具到中轉機

      配置dbinfo.conf

      配置gds.conf

      配置遷移表清單

      將元數據導入DWS集群

      生成遷移腳本

      新建DWS目標表

      查看建表日志

      靜態數據遷移實施:

      再次配置data_migration工具的dbinfo.conf

      再次在生成遷移腳本

      創建導出外表

      查看外表導出日志

      修改導出外表腳本

      向中轉機導出線下集群數據

      查看導出腳本執行日志

      刪除導出外表

      查看導出數據

      新建導入外表

      查看外表導入日志

      向DWS導入數據

      查看導入數據日志

      清理外表

      查看外表清理日志

      對新導入數據的表執行analyse

      查看analyse日志

      刪除已導出數據(可選)

      靜態數據遷移實施后:

      上傳數據校驗工具至線下集群

      配置 ? dbinfo.conf

      執行數據校驗腳本

      執行創建統計信息表語句

      獲取需要統計的表清單

      執行數據統計

      在DWS集群上執行校驗

      遷移后數據驗證

      遷移后業務驗證

      申請遷移中轉機

      遷移開始前一周內

      0.5h

      不中斷數據導入修改

      配置DWS集群安全組

      遷移開始前一周內

      0.1h

      不中斷數據導入修改

      GaussDB for DWS gds線下遷移

      配置線下集群白名單

      遷移開始前一周內

      0.1h

      不中斷數據導入修改

      下載Gsql客戶端和GDS軟件包

      遷移開始前一周內

      0.1h

      不中斷數據導入修改

      上傳工具包到中轉服務器

      遷移開始前一周內

      0.1h

      不中斷數據導入修改

      解壓GDS軟件包

      遷移開始前一周內

      0.1h

      不中斷數據導入修改

      配置GDS加載服務器

      遷移開始前一周內

      0.2h

      不中斷數據導入修改

      線下集群元數據導出

      遷移開始前4小時

      0.5h

      不中斷數據導入修改

      上傳集群遷移工具到中轉機

      遷移開始前4小時

      0.1h

      不中斷數據導入修改

      配置dbinfo.conf

      遷移開始前4小時

      0.1h

      不中斷數據導入修改

      配置gds.conf

      遷移開始前4小時

      0.1h

      不中斷數據導入修改

      配置遷移表清單

      遷移開始前4小時

      0.2h

      不中斷數據導入修改

      將元數據導入DWS集群

      遷移開始前4小時

      0.2h

      不中斷數據導入修改

      生成遷移腳本

      遷移開始前4小時

      0.2h

      不中斷數據導入修改

      新建DWS目標表

      遷移開始前4小時

      0.5h

      不中斷數據導入修改

      查看建表日志

      遷移開始前4小時

      0.2h

      不中斷數據導入修改

      啟動業務雙寫,同時對線下和線上集群發放業務

      再次配置data_migration工具的dbinfo.conf

      遷移開始

      0.2h

      再次在生成遷移腳本

      遷移開始

      0.2h

      創建導出外表

      遷移開始

      1h

      查看外表導出日志

      遷移開始

      0.2h

      修改導出外表腳本

      遷移開始

      0.2h

      向中轉機導出線下集群數據

      遷移開始

      2h

      查看導出腳本執行日志

      遷移開始

      刪除導出外表

      遷移開始

      查看導出數據

      遷移開始

      新建導入外表

      遷移開始

      查看外表導入日志

      遷移開始

      向DWS導入數據

      遷移開始

      查看導入數據日志

      遷移開始

      清理外表

      遷移開始

      查看外表清理日志

      遷移開始

      對新導入數據的表執行

      遷移開始

      analyse

      查看analyse日志

      遷移開始

      刪除已導出數據(可選)

      遷移結束

      1.???????? 數據遷移前環境準備

      1.1? 申請遷移中轉服務器

      在啟動集群遷移前,需要準備遷移中轉機,中轉機要求網絡可以和線上集群,線下集群互通;磁盤的容量>20T

      中轉機主要用途:

      1)???? 部署GDS服務,作為GDS導入和導出服務器;

      2)???? 部署Gsql客戶端用于訪問線下集群和DWS集群,執行遷移腳本

      如果使用ECS服務區作為中轉機,需要在DWS集群具有相同的區域、可用區購買彈性云服務器,可參考如下鏈接:

      https://support.huaweicloud.com/mgtg-dws/dws_01_0128.html

      https://support.huaweicloud.com/devg-dws/dws_04_prepare_for_gds_01.html

      1.2? 下載DWS Gsql客戶端和GDS軟件包

      GDS服務

      獲取GDS工具前,需要確認下ECS操作系統類型,按照操作系統準備工具包,對于arm版本需要分別下載GDS和GSQL工具包,X86版本在GSQL工具包里已經包含了GDS

      ARM版本:https://dws.obs.cn-north-1.myhuaweicloud.com/download/DWS-Gds-1_7_2.tar.gz

      X86版本:https://support.huaweicloud.com/tg-dws/dws_07_0002.html

      1.3? 在中轉服務器上創建遷移用戶omm

      如果中轉服務器上沒有omm用戶,則需要執行該操作

      useradd ? -g wheel omm -d /home/omm -p 'Bigdata123@'

      1.4? 上傳軟件包到中轉服務器

      使用omm用戶,通過FTP工具將工具包上傳到中轉服務器/tmp目錄

      1.5? 解壓GDS軟件包

      以omm用戶登錄中轉機服務器,在/tmp目錄解壓軟件包

      unzip dws_client_euler_kunpeng_x64.zip

      chown -R omm:wheel *

      1.6? 配置GDS加載服務器

      數據對象多,數據量大的情況下建議使用多負載機,部署多gds,進行數據的并行導出導入,最大限度利用磁盤空間及I/O、網絡帶寬(在不影響現網業務的情況下提升數據遷移效率)。注意:中轉服務器上要保證gsql、gds、gs_dump三個命令可用,且安裝包必須對應相同類型的平臺,例如x86的程序不能運行在arm架構

      1)???????? 以omm用戶登錄中轉服務器,創建gds路徑

      su - omm

      mkdir -p /home/omm/dwsgds

      mkdir -p /home/omm/c80gds

      mkdir -p /home/omm/651gds

      2)???????? 將從DWS獲取gds客戶端及依賴包同步至對應路徑下

      cp -r bin /home/omm/dwsgds/

      cp -r lib /home/omm/dwsgds/

      cd gds/

      cp gds /home/omm/dwsgds/bin

      chown -R omm:wheel /home/omm/dwsgds/

      3)???????? 從老集群獲取GDS和gs_dump客戶端以及依賴包同步至對應路徑下

      對C80版本集群:

      以omm用戶登錄線下集群

      cd /opt/huawei/Bigdata/mppdb/core/

      scp -r lib omm@ip:/home/omm/c80gds

      cd /opt/huawei/Bigdata/mppdb/core/bin

      scp gds omm@ip:/home/omm/c80gds/bin

      scp gs_dump omm@ip:/home/omm/c80gds/bin

      對651版本集群:

      以omm用戶登錄線下集群

      cd /opt/huawei/Bigdata/mppdb/core/

      scp -r lib omm@ip:/home/omm/651gds

      cd /opt/huawei/Bigdata/mppdb/core/bin

      scp gds omm@ip:/home/omm/651gds/bin

      scp gs_dump omm@ip:/home/omm/651gds/bin

      4)???????? 切換到中轉機服務器

      su - omm

      chown -R omm:wheel /home/omm/c80gds/

      chown -R omm:wheel /home/omm/651gds/

      5)???????? 配置環境變量

      su - omm

      vi ~/.bashrc

      添加如下內容:

      export PATH=/home/omm/gds/bin:/home/omm/c80gds/bin:/home/omm/c80gds/bin:$PATH

      export ? LD_LIBRARY_PATH=/home/omm/gds/lib/:/home/omm/c80gds/lib/:/home/omm/c80gds/lib/:$LD_LIBRARY_PATH

      保存退出

      source ~/.bashrc

      6)???????? 確認環境變量生效

      /home/omm/dwsgds/bin/gds? -V

      mkdir -p /home/omm/dwsgds/bin/log

      /home/omm/c80gds/bin/gds? -V

      mkdir -p /home/omm/c80gds/bin/log

      /home/omm/651gds/bin/gds? -V

      mkdir -p /home/omm/651gds/bin/log

      7)???????? 掛載數據盤

      mkdir -p /srv/Bigdata/mppdb

      mkfs.xfs -f /dev/vdb

      mount /dev/vdb /srv/Bigdata/mppdb

      chown -R omm:wheel /srv/

      8)???????? 將掛載的盤加入/etc/fstab配置文件

      vi ? /etc/fstab

      UUID= ? 1b8bb98e-1e01-4fbc-9a1b-eaa1227069f6 /srv/Bigdata/mppdb????????????????????? xfs??? defaults??????? 1 1

      vi ? /etc/fstab

      通過blkid 查看需要掛載盤的uuid,例如:

      /dev/vda1: ? UUID="7B46-32E0" TYPE="vfat" PARTLABEL="EFI System ? Partition" PARTUUID="6313f2d6-3e96-4df6-a2f5-bb41804d0ae5"

      /dev/vda2: ? UUID="3ed3c819-430f-424c-ab61-1426d329b80d" TYPE="ext4" ? PARTUUID="02dc92ad-3898-4488-ae86-3229d422b090"

      /dev/vdb: ? UUID="1b8bb98e-1e01-4fbc-9a1b-eaa1227069f6" TYPE="xfs"

      9)???????? 啟動gds服務,根據負載機配置,每塊數據盤對應啟動3個gds服務(其中C80和651兩個版本各啟動一個導出,DWS版本啟動一個導入)。

      /home/omm/gds/bin/c80gds? -d? /srv/Bigdata/mppdb ? -p ip:10086 -H 0.0.0.0/0 -l /home/omm/c80gds/bin/log/gds10086.log ? -S 10GB -D -t 32

      /home/omm/gds/bin/651gds? -d? ? /srv/Bigdata/mppdb -p ip:10086 -H 0.0.0.0/0 -l ? /home/omm/651gds/bin/log/gds10086.log -S 10GB -D -t 32

      /home/omm/gds/bin/dwsgds? -d? ? /srv/Bigdata/mppdb -p ip:10087 -H 0.0.0.0/0 -l /home/omm/dwsgds/bin/log/gds10087.log ? -D -t 32

      1.7? 配置DWS集群安全組

      遷移中轉機會啟動GDS和Gsql服務,與DWS集群通信,因此需要在DWS集群的安全組的開放對應服務的端口.

      在集群的“基本信息”頁面中,找到“安全組”參數,單擊安全組名稱進入安全組詳情頁面,選擇入方向規則.

      1)???????? 在DWS上配置Gsql訪問規則:

      2)???????? 在DWS上配置GDS服務的安全組入規則配置樣例(有多個GDS服務端口的話,都需要配置上,例如10086,10087):

      1.8? 配置線上集群白名單

      執行如下命令在線下集群所有CN的pg_hba.conf配置文件中增加一條客戶端接入認證規則

      source ? ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

      gs_guc set -Z coordinator -N all -I all ? -h "host all jack x.x.x.x/x sha256"

      注:

      l? all表示允許客戶端連接到任意的數據庫。

      l? jack表示連接數據庫的用戶。

      l? x.x.x.x表示只允許IP地址為x.x.x.x的主機連接。在使用過程中,請根據用戶的網絡進行配置修改。

      l? sha256表示連接時jack用戶的密碼使用sha256算法加密。

      2.???????? 數據遷移前準備

      2.1? 線下集群元數據導出

      在確認遷移集群范圍后,使用dump.sh工具,登錄線下集群,導出集群中所有數據庫的元數據。

      cd /srv/BigData/mppdb/data1

      gs_dumpall -W Bigdata@123 ? -U omm -f MPPDB_backup.sql -p 25308 –s

      2.2? 手工整合元數據導出文件

      修改MPPDB_backup.sql元數據文件,刪除所有建表語句,然后將文件copy到中轉服務器(注意:只保留創建數據庫、用戶、模式等信息,保證新集群能夠正確創建這些信息),然后將文件copy到中轉服務器

      將cat MPPDB_backup.sql | grep -i? 'CREATE SCHEMA' 和cat MPPDB_backup.sql | grep -i? 'ALTER SCHEMA'的結果添加到MPPDB_backup.sql ?create database后,其余建表語句清除

      scp? ? MPPDB_backup.sql omm@ip:/home/omm/

      2.3? 上傳集群遷移工具到中轉機

      使用ftp工具將data_migration.zip工具上傳到加載機所在服務器的/home/omm目錄下。

      以omm用戶登錄加載機服務器,并以omm用戶執行:

      cd /home/omm

      unzip data_migration.zip

      cd data_migration

      dos2unix *.sh

      dos2unix table_list

      chmod +x *.sh

      chmod +x table_list

      2.4? 配置data_migration工具的dbinfo.conf

      cd conf

      vi dbinfo.conf

      配置介紹:

      sysuser='omm' #操作系統用戶

      old_cluster_ip='x.x.x.x' #舊集群CN IP

      old_cluster_db='postgres' #舊集群要遷移的數據庫

      old_cluster_port='25308' #舊集群數據庫連接端口

      old_cluster_db_user='omm' #舊集群數據庫用戶

      old_cluster_password='xxxxxx' #舊集群數據庫密碼

      gds_ip_list=’x.x.x.x’ #gds加載機ip列表,空格分隔

      gdspath=’ /srv/BigData/mppdb/data’ #gds加載機數據存儲路徑

      new_cluster_db='lx_test' #新集群遷入的數據庫

      new_cluster_port='25308' #新集群數據庫連接端口

      new_cluster_db_user='omm' #新集群數據庫用戶

      new_cluster_password='xxxxxxx' #新集群數據庫密碼

      part_column='"time_stamp"' #時間戳

      2.5 配置data_migration工具的gds.conf

      vi gds.conf

      配置介紹:

      gds_write_server=#GDS導出服務器

      gds_read_server="#GDS導入服務器

      2.6? 配置遷移表清單

      cd /tmp/data_migration

      vi table_list

      參數格式:

      按照schema加表名的格式填寫注意:表名字必須加雙引號

      ombi."grey_evaluation_timeseries"

      2.7? 將元數據導入DWS集群

      登錄中轉服務器,使用omm用戶,向DWS集群導入元數據

      source ~/.bashrc

      gsql -d sqoop -p ? 8000 -h x.x.x.x -U dbadmin -W passwd -f MPPDB_backup.sql > ? export.log

      2.8? 在生成遷移腳本

      進入data_migration目錄,生成遷移腳本

      cd /home/omm/data_migration

      sh table_dump.sh table_list

      執行成功后,生成以下路徑

      2.9? 新建DWS目標表

      進入new_cluster文件夾,執行創建目標表腳本,在DWS創建新表

      cd /home/omm/data_migration/new_cluster/script

      sh create_goal_table.sh

      2.10???????? 查看建表日志

      進入new_cluster文件夾下的log目錄打開create_goal_table.log,查看是否有報錯

      cd /home/omm/data_migration/new_cluster/log

      vi create_goal_table.log

      2.11???????? 啟動業務雙寫,同時對線下和線上集群發放業務

      需要業務側配合

      3.???????? 數據遷移實施

      如下操作在中轉機服務器上執行:

      3.1? 遷移表校驗

      業務雙寫啟動一段時間后,開始準備要遷移的表,數據表遷移原則:

      表類型

      遷移方法

      簡單表,有timestamp字段

      通過遷移腳本遷移

      簡單表,沒有timestamp字段

      全量導,需提前識別并停止業務更新

      分區表,有timestamp字段,并且是分區鍵

      通過遷移腳本遷移

      分區表,沒有timestamp字段

      需提前識別

      分區表,有timestamp字段,timestamp字段沒有作為分區鍵

      通過遷移腳本遷移

      3.1.1 過濾沒有數據業務表

      在中轉機上執行校驗數據腳本

      cd? data_check/gen_tablelist/script

      sh create_tabl_shell.sh

      sh normal_count_table_shell.sh

      通過日志查看線上和線下集群是否插入校驗數據

      /data_check/gen_table/log> tailf normal_count_table.log

      Gsql鏈接DWS執行sql過濾出這段時間未入數據的表,將導出數據保留,同時將這些表從tablelist中刪除,需要由業務排查沒有雙寫的原因

      select? a.tablename? from?? normal_table_count?? a?? where?? exists(select?? 1?? from?? normal_table_count?? where?? tablename=a.tablename?? and?? date!=a.date) group by 1;

      3.1.2過濾簡單業務表

      Gsql鏈接DWS執行sql,將導出數據保留,命名簡單表

      select relname from pg_class where parttype != 'p' and relkind='r' and? relname not like '%pmk%'and relname not like '%pg%';

      3.2? 再次配置data_migration工具的dbinfo.conf(正式遷移數據)

      要根據業務時間戳字段,修改如下參數

      cd conf

      vi dbinfo.conf

      part_column='"time_stamp"' #時間戳

      3.3? 再次在生成遷移腳本

      進入data_migration目錄,生成遷移腳本

      cd /home/omm/data_migration

      sh table_dump.sh table_list

      執行成功后,生成以下路徑

      3.4? 創建導出外表

      進入old_cluster文件夾下的script目錄,在線下集群上創建導出外表

      cd /home/omm/data_migration/old_cluster/script

      sh create_exp_foreign_tab.sh

      3.5? 查看外表導出日志

      進入old_cluster文件夾下的log目錄打開create_exp_foreign_tab.log,查看是否有報錯

      cd /home/omm/data_migration/old_cluster/log

      vi create_exp_foreign_tab.log

      3.6? 修改導出外表腳本

      檢查生成的導出外表sql,對簡單表需要替換掉between后的語句(注意:簡單表即非分區表,按照現場環境設置)

      cd old_cluster/sql/

      vi exp_data_cmd.sql

      表類型

      修改規則

      簡單表,有timestamp字段

      :%s/where "0_0_pt_d" ? between? '2018-10-29 00:00:00' and? '2018-10-29 00:00:00'//g

      簡單表,沒有timestamp字段

      全量導,需提前識別并停止業務更新

      分區表,有timestamp字段,并且是分區鍵

      按timestamp字段過濾導出導入

      分區表,沒有timestamp字段

      需提前識別

      分區表,有timestamp字段,timestamp字段沒有作為分區鍵

      按timestamp字段過濾導出導入

      3.7? 向中轉機導出線下集群數據

      進入old_cluster文件夾下的script目錄,執行數據導出腳本

      cd /home/omm/data_migration/old_cluster/script

      sh exp_data_script.sh

      3.8? 查看導出腳本執行日志

      進入old_cluster文件夾下的log目錄打開exp_data_script.log,查看是否有報錯

      cd /home/omm/data_migration/old_cluster/log

      vi exp_data_script.log

      3.9? 刪除導出外表

      導出完成后,需要清理掉線下集群的外表

      sh clear_exp_foreign_tab_script.sh

      3.10???????? 查看導出數據

      進入gds加載機數據存儲路徑,查看數據是否成功導出3.11???????? 新建導入外表

      進入new_cluster文件夾,執行創建目標表腳本,在DWS創建新表

      cd /home/omm/data_migration/new_cluster/script

      sh create_imp_foreign_tab.sh

      3.12???????? 查看外表導入日志

      進入new_cluster文件夾下的log目錄打開create_imp_foreign_tab.log,查看是否有報錯

      cd /home/omm/data_migration/new_cluster/log

      vi create_goal_table.log

      3.13???????? 向DWS導入數據

      進入new_cluster文件夾,執行數據導入腳本,向DWS導入數據

      cd /home/omm/data_migration/new_cluster/script

      sh imp_data_script.sh

      3.14???????? 查看導入數據日志

      進入new_cluster文件夾下的log目錄打開imp_data_script.log,查看是否有報錯

      vi ../log/imp_data_script.log

      3.15???????? 清理外表

      進入new_cluster文件夾,執行數據清理腳本,清理生成的外表

      cd /home/omm/data_migration/new_cluster/script

      sh clear_imp_foreign_tab_script.sh

      3.16???????? 查看外表清理日志

      進入new_cluster文件夾下的log目錄打開clear_imp_foreign_tab_script.log,查看是否有報錯

      cd /home/omm/data_migration/new_cluster/log

      vi clear_imp_foreign_tab_script.log

      3.17???????? 對新導入數據的表執行analyse

      進入new_cluster文件夾,執行數據清理腳本,清理生成的外表

      cd /home/omm/data_migration/new_cluster/script

      sh analyze_table_script.sh

      3.18???????? 查看analyse日志

      進入new_cluster文件夾下的log目錄打開analyze_table_script.log,查看是否有報錯

      cd /home/omm/data_migration/new_cluster/log

      vi analyze_table.log

      3.19???? 刪除已導出數據(可選)

      為了避免導出數據占用空間,可以在下次集群遷移前執行數據清理腳本

      cd /home/omm/data_migration/script

      sh script delete_local_data.sh

      運行后進入Gds加載機掛載目錄,查看數據是否刪除。

      附件: datamove.rar 19.92KB 下載次數:2次

      DWS EI企業智能

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:excel表格使內容不超出單元格的方法(excel單元格內容超出單元格)
      下一篇:在線表格
      相關文章
      亚洲AV中文无码乱人伦在线视色| 久久亚洲AV成人无码国产最大| 亚洲福利视频一区二区| 亚洲fuli在线观看| 亚洲国产精品日韩在线| 亚洲高清日韩精品第一区 | 久久亚洲伊人中字综合精品| 亚洲毛片av日韩av无码| 亚洲精品在线视频| 一本久久综合亚洲鲁鲁五月天| 亚洲AV无码一区二区乱子仑| 亚洲国产精品成人AV在线| 亚洲国产精品成人AV在线| 久久亚洲中文无码咪咪爱| 色窝窝亚洲av网| 亚洲国产精品不卡毛片a在线| 日本中文一区二区三区亚洲| 亚洲国产一区明星换脸| 久久久久国产成人精品亚洲午夜| 久久精品亚洲乱码伦伦中文| 亚洲精品国产美女久久久| 久久亚洲免费视频| 亚洲视屏在线观看| 亚洲在成人网在线看| 亚洲www77777| 亚洲av永久无码精品网址| 亚洲AV成人精品日韩一区18p| 亚洲午夜av影院| 亚洲精品白浆高清久久久久久| 亚洲av永久无码精品秋霞电影影院 | 亚洲午夜成人精品电影在线观看| 久久久久亚洲av毛片大| 亚洲精品自在在线观看| 精品亚洲国产成AV人片传媒| 亚洲午夜久久久精品电影院| 亚洲人成网站免费播放| 亚洲国产精品一区二区第一页免| 国产亚洲精品福利在线无卡一 | 亚洲av永久综合在线观看尤物| 亚洲一区二区三区免费观看| 亚洲日韩看片无码电影|