一、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 的微服务里面去做同步: