一、Linux环境要求
二、准备工作
2.1 Linux安装jdk
2.2 linux安装python
2.3 下载DataX:
三、DataX压缩包导入,解压缩
四、编写同步Job
五、执行Job
六、定时更新
6.1 创建定时任务
6.2 提交定时任务
6.3 查看定时任务
七、增量更新思路
一、Linux环境要求
jdk1.8及以上
python2
2.3 下载DataX:
三、DataX压缩包导入,解压缩
四、编写同步Job
在datax/job下,json格式,具体内容及主要配置含义如下
mysqlreader为读取mysql数据部分,配置mysql相关信息
username,password为数据库账号密码
querySql:需要查询数据的sql,也可通过colums指定需要查找的字段(querySql优先级高)
elasticsearchwriter部分为数据写入ES部分,配置ES相关信息,
endpoint为ES地址,index为索引,columns为需要写入列的信息,其余配置选填
修改 vim /opt/software/datax/job/job.json
{"job": {"setting": {"speed": {"channel": 1},"errorLimit": {"percentage": 0}},"content": [{"reader": {"name": "mysqlreader","parameter": {"username": "homestead","password": "secret","connection": [{"querySql": ["select id,sku,write_date from good"],"jdbcUrl": ["jdbc:mysql://192.168.33.10:3306/ichub2?useSSL=false"]}]}},"writer": {"name": "elasticsearchwriter","parameter": {"endpoint":"http://192.168.33.10:9200","accessId":"","accessKey":"","index": "good-sku","cleanup": false,"discovery":false,"column": [{"name": "id","type": "id"},{"name": "sku","type": "text"},{"name": "write_date","type": "text"}]}}}]}
}
五、执行Job
配置好之后执行命令:
python /htdocs/javaproject/datax/bin/datax.py /htdocs/javaproject/datax/job/job.json
意换成自己的datax路径
正常情况下输出一大堆之后会是这样:
可以看到完全同步成功:
实际上这种全量同步我们完全可以放在springboot 的微服务里面去做同步: