下載
單機部署支援Linux、Windows。
單機版本下載地址ossimport-2.3.2.zip,下載到本地後,使用工具或命令unzip
,解壓後的檔案結構如下:
ossimport
├── bin
│ └── ossimport2.jar # 包括Master、Worker、TaskTracker、Console四個模組的總jar
├── conf
│ ├── local_job.cfg # Job設定檔
│ └── sys.properties # 系統運行參數設定檔
├── console.bat # Windows命令列,可以分布執行調入任務
├── console.sh # Linux命令列,可以分布執行調入任務
├── import.bat # Windows一鍵匯入,執行設定檔為conf/local_job.cfg配置的資料移轉任務,包括啟動、遷移、校驗、重試
├── import.sh # Linux一鍵匯入,執行設定檔為conf/local_job.cfg配置的資料移轉任務,包括啟動、遷移、校驗、重試
├── logs # 日誌目錄
└── README.md # 說明文檔,強烈建議使用前仔細閱讀
配置
單機版本有兩個設定檔conf/sys.properties
、conf/local_job.cfg
。注意不要修改以下內容:
conf/sys.properties
中的配置項workingDir
、workerUserName
、workerPassword
、privateKeyFile
conf/local_job.cfg
的名稱和位置,配置項jobName
其它配置項請按照實際需求配置。
说明 | |
請在提交任務前確認sys.properties 和local_job.cfg 中的參數,任務提交後參數無法再修改。 |
運行
單機模式下,資料移轉任務有以下兩種執行方式:
- 一鍵匯入:是對所有步驟的封裝,按照指令碼或直譯式程式提示執行即可完成資料移轉。
- 分步執行:執行啟動服務、提交任務、重試失敗子任務等步驟。
说明 | |
對於初級用戶強烈建議使用一鍵匯入 。 |
- 一鍵匯入
- 執行一鍵匯入,Window系統下在cmd.exe中執行
import.bat
,Linux終端中執行bash import.sh
。 - 如果之前執行過程式,會提示有是否從上次的斷點處繼續執行,或者重新執行同步任務。對新的資料移轉任務,或者修改了同步的源端/目的端,請選擇重新執行。
- Windows下任務開始後,會開啟一個新的cmd視窗執行同步任務並顯示日誌,舊視窗會每隔10秒打一次任務狀態,資料移轉期間不要關閉兩個視窗;Linux下服務在後台執行。
- 當 Job 完成後,如果發現有任務失敗了,會提示是否重試,輸入y重試,輸入n則跳過退出。
- 如果上傳失敗,請開啟檔案
master/jobs/local_test/failed_tasks/<tasktaskid>/audit.log
查看,確定失敗原因。
- 執行一鍵匯入,Window系統下在cmd.exe中執行
- 分步執行
说明 沒有特殊需要,請使用 一鍵匯入方式遷移數據。 - 清除同名任務。
如果以前運行過同名任務,需要重新執行任務,請先清除同名任務。如果沒有運行過,或需要重試失敗任務,不要執行清除命令。Window下在cmd.exe中執行
console.bat clean
,Linux下在終端執行bash console.sh clean
。 - 提交資料移轉任務。
OssImport不能提交同名任務,如果有請先清除。提交任務的設定檔為
conf/local_job.cfg
,預設任務名稱為local_test
。提交任務的命令,Window下在cmd.exe 中執行console.bat submit
,Linux下在終端執行bash console.sh submit
。 - 啟動服務。
Windows下在cmd.exe中執行
console.bat start
,Linux下在終端執行bash console.sh start
。 - 查看任務狀態。
Windows下在cmd.exe中執行
console.bat stat
,Linux下在終端執行bash console.sh stat
。 - 失敗Task重試。
由於網路或其它原因,子任務可能失敗。失敗重試只重試失敗的Task,不會重試成功的Task。Windows下在cmd.exe中執行
console.bat retry
,Linux下在終端執行bash console.sh retry
。 - 停止服務。
Windows下在關閉視窗
%JAVA_HOME%/bin/java.exe
即可,Linux下在終端執行bash console.sh stop
。
- 清除同名任務。
- 常見失敗原因
- 上傳過程中來源目錄的檔案發生了修改,
log/audit.log
裡會提示SIZE_NOT_MATCH
相關字樣的錯誤,這種情況下老的檔案已經上傳成功,新的修改沒有上傳到OSS; - 源檔案在上傳過程中被刪除,導致下載的時候失敗;
- 源檔案名不符合OSS命名規範(不能以/開頭,不能為空),導致上傳到OSS失敗;
- 下載資料來源檔案失敗;
- 程式異常退出,任務狀態為 Abort ,這種情況請聯繫我們。
- 上傳過程中來源目錄的檔案發生了修改,
- 任務狀態及日誌
任務提交後,Master分解成Task,有Worker執行Task,Tracker收集Task狀態。任務運行完成後ossimport目錄內容如下:
ossimport ├── bin │ └── ossimport2.jar # 單機版jar ├── conf │ ├── local_job.cfg # Job設定檔 │ └── sys.properties # 系統運行參數設定檔 ├── console.sh # 命令列工具 ├── import.sh # 一鍵匯入指令碼或直譯式程式 ├── logs │ ├── import.log # 歸檔日誌 │ ├── job_stat.log # 任務狀態記錄 │ ├── ossimport2.log # 單機版作業記錄 │ └── submit.log # 任務提交記錄 ├── master │ ├── jobqueue # 存放尚未分解完成的任務 │ └── jobs # 存放任務運行狀態 │ └── local_test # 任務名稱 │ ├── checkpoints # Master分解Job到Task的checkpoint點記錄 │ │ └── 0 │ │ └── 034DC9DD2860B0CFE884242BC6FF92E7.cpt │ ├── dispatched # 已經分配給Worker尚未運行完成的Task │ │ └── localhost │ ├── failed_tasks # 運行失敗的Task │ ├── pending_tasks # 尚未分配的Task │ └── succeed_tasks # 成功啟動並執行Task │ └── A41506C07BF1DF2A3EDB4CE31756B93F_1499744514501@localhost │ ├── audit.log # Task作業記錄,通過該日誌可以查看錯誤原因 │ ├── DONE # Task運行成功標誌 │ ├── error.list # Task錯誤清單,可以查看錯誤檔案清單 │ ├── STATUS # 任務狀態標誌檔案,內容為Failed或Completed,表示子任務失敗或成功 │ └── TASK # Task描述資訊 └── worker # Worker正在啟動並執行Task狀態,運行完成後有Master管理 └── jobs └── local_test └── tasks
提示:
- Job運行資訊,可以查看
log/ossimport2.log
。 - Task的失敗原因,可以查看
master/jobs/${JobName}/failed_tasks/${TaskName}/audit.log
。 - Task的失敗檔案,可以查看
master/jobs/${JobName}/failed_tasks/${TaskName}/error.list
。
- Job運行資訊,可以查看
常見錯誤及排除
請查看常見錯誤及排除。