环境要求:
1.DataX成功安装并且能运行
一.下载DataX-web
下载地址:https://github.com/WeiYe-Jing/datax-web/blob/master/userGuid.md
我这是下载的源码,用idea启动使用
下载好后解压到本地,用idea打开,项目结构如下
二.创建DataX-web所需的库和表
1.先创建个数据库,库名为datax_web。你也可以叫其他名字
2.在datax_web数据库中执行datax_web.sql文件。
datax_web.sql文件位置在刚才下载的datax-web项目里
三.修改配置
1.修改datax_admin下resources/application.yml文件
1.1修改数据源配置,目前仅支持mysql
#数据源 datasource: # username: root #password: root #url: jdbc:mysql://localhost:3306/datax_web?serverTimezone=Asia/Shanghai&useLegacyDatetimeCode=false&useSSL=false&nullNamePatternMatchesAll=true&useUnicode=true&characterEncoding=UTF-8 #数据库密码 password: ${DB_PASSWORD:root123} #数据库账号 username: ${DB_USERNAME:root} #数据库连接地址 url: jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_DATABASE:datax_web}?serverTimezone=Asia/Shanghai&useLegacyDatetimeCode=false&useSSL=false&nullNamePatternMatchesAll=true&useUnicode=true&characterEncoding=UTF-8 driver-class-name: com.mysql.jdbc.Driver
1.2修改日志路径path
logging: #level: #com.wugui.datax.admin.mapper: info #path: ./data/applogs/admin level: com.wugui.datax.admin.mapper: error path: ./data/applogs/admin
1.3修改邮件发送配置(不需要最后也把他写上,随便写个邮件,密码就行,不然启动报错)
# datax-web email mail: host: smtp.qq.com port: 25 #username: xxx@qq.com #password: xxx username: 123456@qq.com password: 123456 properties: mail: smtp: auth: true starttls: enable: true required: true socketFactory: class: javax.net.ssl.SSLSocketFactory
2.修改datax_executor下resources/application.yml文件
2.1修改日志路径path
# log config logging: config: classpath:logback.xml path: ./data/applogs/executor/jobhandler
2.2修改datax.job配置
datax: job: admin: ### datax-web admin address addresses: http://127.0.0.1:8080 executor: appname: datax-executor ip: port: 9999 ### job log path logpath: ./data/applogs/executor/jobhandler ### job log retention days logretentiondays: 30 executor: jsonpath: /Users/mac/data/applogs pypath: /Users/mac/tools/datax/bin/datax.py
- admin.addresses datax_admin部署地址,如调度中心集群部署存在多个地址则用逗号分隔,执行器将会使用该地址进行"执行器心跳注册"和"任务结果回调";
- executor.appname 执行器AppName,每个执行器机器集群的唯一标示,执行器心跳注册分组依据;
- executor.ip 默认为空表示自动获取IP,多网卡时可手动设置指定IP,该IP不会绑定Host仅作为通讯实用;地址信息用于 "执行器注册" 和 "调度中心请求并触发任务";
- executor.port 执行器Server端口号,默认端口为9999,单机部署多个执行器时,注意要配置不同执行器端口;
- executor.logpath 执行器运行日志文件存储磁盘路径,需要对该路径拥有读写权限;
- executor.logretentiondays 执行器日志文件保存天数,过期日志自动清理, 限制值大于等于3时生效; 否则, 如-1, 关闭自动清理功能;
- executor.jsonpath datax json临时文件保存路径
- pypath DataX启动脚本地址,例如:xxx/datax/bin/datax.py 如果系统配置DataX环境变量(DATAX_HOME),logpath、jsonpath、pypath可不配,log文件和临时json存放在环境变量路径下。
四.启动项目
1.运行datax_admin下 DataXAdminApplication
2.运行datax_executor下 DataXExecutorApplication
admin启动成功后日志会输出三个地址,两个接口文档地址,一个前端页面地址
启动成功后打开页面http://localhost:8080/index.html
(默认管理员用户名:admin 密码:123456)
五.启动项目遇见的错
1.启动datax-admin时,虽然启动成功了,但启动打印中出行了java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.提示。
解决办法:
这个是因为Windows中没有安装Hadoop,Hadoop并且目录bin文件下缺少 winutils.exe 文件导致的。解决办法请看Windows下安装Hadoop(手把手包成功安装)_windows安装hadoop-CSDN博客
我们只需要看到 [六.检查环境变量是否配置成功] 就行了。
注意我们安装到本地的Hadoop版本要和Datax-web项目中的版本一致
六.使用DataX-web
1.添加项目管理
如果你的页面没有这个就不用添加
2.添加数据源
这个数据源是你要操作那些数据库的数据同步,添加同步数据任务的时候会用到它
闲聊不用管(这里我添加了两个数据源,一个是我本地的Mysql数据库,还有个是我的PGSql数据库,因为我要把我mysql数据库的数据同步到PGSql数据库中)
3.DataX任务模版
设置任务执行时间和其他信息
4.构建同步任务
第一步是从那个数据源中读数据
第二步是把读取的数据写到那个数据源中
第三步字段映射
第四步
构建job.json;
选择DataX任务模版
然后点击下一步完成任务构建
5.任务管理
点击搜索,就可以看见我们刚才构建的同步任务,如果要测试的话就点下操作中的执行一次
6.日志管理
可以查看我们执行同步任务状态和日志信息