全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网
对象存储 OSS

单机部署

更新时间:2017-11-15 16:13:02

下载

单机部署支持Linux、Windows。

单机版本下载地址 ossimport-2.2.4.zip ,下载到本地后,使用工具或命令unzip,解压后的文件结构如下:

  1. ossimport
  2. ├── bin
  3. └── ossimport2.jar # 包括Master、Worker、TaskTracker、Console四个模块的总jar
  4. ├── conf
  5. ├── local_job.cfg # Job配置文件
  6. └── sys.properties # 系统运行参数配置文件
  7. ├── console.bat # Windows命令行,可以分布执行调入任务
  8. ├── console.sh # Linux命令行,可以分布执行调入任务
  9. ├── import.bat # Windows一键导入,执行配置文件为conf/local_job.cfg配置的数据迁移任务,包括启动、迁移、校验、重试
  10. ├── import.sh # Linux一键导入,执行配置文件为conf/local_job.cfg配置的数据迁移任务,包括启动、迁移、校验、重试
  11. ├── logs # 日志目录
  12. └── README.md # 说明文档,强烈建议使用前仔细阅读

配置

单机版本有两个配置文件conf/sys.propertiesconf/local_job.cfg。注意不要修改以下内容:

  • conf/sys.properties中的配置项 workingDirworkerUserNameworkerPasswordprivateKeyFile
  • conf/local_job.cfg的名称和位置,配置项 jobName

其它配置项请按照实际需求配置。

注意:请在提交任务前确认 sys.propertieslocal_job.cfg 中的参数,任务提交后参数无法再修改。

运行

单机模式下,数据迁移任务有以下两种执行方式:

  • 一键导入:是对所有步骤的封装,按照脚本提示执行即可完成数据迁移。
  • 分步执行:执行启动服务、提交任务、重试失败子任务等步骤。

对于初级用户强烈建议使用一键导入

单机模式的配置文件是conf/local_job.cfg,数据迁移前请按照实际需求修改任务参数。默认任务名称local_test,请不要修改。

一键导入

  1. 执行一键导入,Window系统下在 cmd.exe 中执行 import.bat,Linux终端中执行 bash import.sh
  2. 如果之前执行过程序,会提示有是否从上次的断点处继续执行,或者重新执行同步任务。对新的数据迁移任务,或者修改了同步的源端/目的端,请选择重新执行。
  3. Windows下任务开始后,会打开一个新的cmd窗口执行同步任务并显示日志,旧窗口会每隔10秒打一次任务状态,数据迁移期间不要关闭两个窗口;Linux下服务在后台执行。
  4. Job 完成后,如果发现有任务失败了,会提示是否重试,输入 y 重试,输入 n 则跳过退出。
  5. 如果上传失败,请打开文件master/jobs/local_test/failed_tasks/<tasktaskid>/audit.log查看,确定失败原因。

分步执行

注意:没有特殊需要,请使用 一键导入 方式迁移数据。

  1. 清除同名任务。
    如果以前运行过同名任务,需要重新执行任务,请先清除同名任务。如果没有运行过,或需要重试失败任务,不要执行清除命令。Window下在 cmd.exe 中执行 console.bat clean,Linux下在终端执行 bash console.sh clean
  2. 提交数据迁移任务。
    OssImport不能提交同名任务,如果有请先清除。提交任务的配置文件为conf/local_job.cfg,默认任务名称为local_test。提交任务的命令,Window下在cmd.exe 中执行 console.bat submit,Linux下在终端执行 bash console.sh submit
  3. 启动服务。
    Windows下在 cmd.exe 中执行 console.bat start,Linux下在终端执行 bash console.sh start
  4. 查看任务状态。
    Windows下在 cmd.exe 中执行 console.bat stat,Linux下在终端执行 bash console.sh stat
  5. 失败Task重试。
    由于网络或其它原因,子任务可能失败。失败重试只重试失败的Task,不会重试成功的Task。Windows下在 cmd.exe 中执行 console.bat retry,Linux下在终端执行 bash console.sh retry
  6. 停止服务。
    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目录内容如下:

  1. ossimport
  2. ├── bin
  3. └── ossimport2.jar # 单机版jar
  4. ├── conf
  5. ├── local_job.cfg # Job配置文件
  6. └── sys.properties # 系统运行参数配置文件
  7. ├── console.sh # 命令行工具
  8. ├── import.sh # 一键导入脚本
  9. ├── logs
  10. ├── import.log # 归档日志
  11. ├── job_stat.log # 任务状态记录
  12. ├── ossimport2.log # 单机版运行日志
  13. └── submit.log # 任务提交记录
  14. ├── master
  15. ├── jobqueue # 存放尚未分解完成的任务
  16. └── jobs # 存放任务运行状态
  17. └── local_test # 任务名称
  18. ├── checkpoints # Master分解Job到Task的checkpoint点记录
  19. └── 0
  20. └── 034DC9DD2860B0CFE884242BC6FF92E7.cpt
  21. ├── dispatched # 已经分配给Worker尚未运行完成的Task
  22. └── localhost
  23. ├── failed_tasks # 运行失败的Task
  24. ├── pending_tasks # 尚未分配的Task
  25. └── succeed_tasks # 成功运行的Task
  26. └── A41506C07BF1DF2A3EDB4CE31756B93F_1499744514501@localhost
  27. ├── audit.log # Task运行日志,通过该日志可以查看错误原因
  28. ├── DONE # Task运行成功标志
  29. ├── error.list # Task错误列表,可以查看错误文件列表
  30. ├── STATUS # 任务状态标志文件,内容为Failed或Completed,表示子任务失败或成功
  31. └── TASK # Task描述信息
  32. └── worker # Worker正在运行的Task状态,运行完成后有Master管理
  33. └── jobs
  34. └── local_test
  35. └── tasks

提示

  • Job运行信息,可以查看log/ossimport2.log
  • Task的失败原因,可以查看master/jobs/${JobName}/failed_tasks/${TaskName}/audit.log
  • Task的失败文件,可以查看master/jobs/${JobName}/failed_tasks/${TaskName}/error.list

常见错误及排除

请参看 常见错误及排除

本文导读目录