【DataX-Web的搭建(Windows/Linux环境)

这篇具有很好参考价值的文章主要介绍了【DataX-Web的搭建(Windows/Linux环境)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

备注:我本地目录规划,统一放到文件夹:

  1. D:\java\Projects\sync-data\datax
  2. D:\java\Projects\sync-data\datax-web

一、安装DataX

(1) 安装python3(配置环境变量),但从github上下载的版本只支持python2.x版本,而现在python3.x正流行,这给我们带来不少麻烦。

datax 支持Python3需要修改替换datax/bin下面的三个python文件,替换文件地址:datax-web/doc/datax-web/datax-python3 at master · WeiYe-Jing/datax-web · GitHub

(2) 安装jdk8(配置环境变量)

(3) 安装 maven 3.x(配置环境变量)

(4) datax.tar.gz包下载并解压:http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz

(5) datax源码下载:https://github.com/alibaba/DataX。(下载源码主要是因为某些源码需要自己修改,然后重新打包覆盖导datax,如下述的mysql版本不一致例子)

  • ps1:自动下载依赖,如果hitsdb-client报错,则将hitsdb-client依赖版本改为0.3.7即可
  • ps2:因为我的项目用的是mysql8,所以需要将mysqlReadermysqlWriter服务的mysql的依赖改为8.0.17,默认是5.x
  • ps3:datax-all服务执行clean-install
  • ps4:将mysqlReadermysqlWriter生成的target–>datax–>plugins复制到dataxbin同级的目录下,覆盖即可
  • ps5:将“datax\plugin\reader\mysqlreader\libs”、“datax\plugin\writer\mysqlwriter\libs”目录下的mysql5的包删除
     

二、使用DataX

(1)  打开cmd界面

(2) 进入dataxbin目录下

(3) 输入CHCP 65001 防止中文乱码

(4) 查看模板命令行:python datax.py -r streamreader -w streamwriter

(5) 执行脚本:python datax.py E:\datax\datax\datax\job\job.json
ps1:报错:提供的配置文件[D:\java\Projects\sync-data\datax\plugin\reader._cassandrareader\plugin.json]不存在. 请检查您的配置文件.
​   —>解决:删除datax\plugin\writer、datax\plugin\reader底下"._"开头文件

(6) 编写脚本,将脚本存放到datax\datax\job目录底下,然后执行后python datax.py datax\job\你的脚本.json运行

ps1:脚本格式信息可以去https://github.com/alibaba/DataX/查看

【DataX-Web的搭建(Windows/Linux环境)

ps2:脚本基础参数说明(mysql、oracle)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

{

    "job": {

        "setting": {

            "speed": {

                "channel": 并发数

            }

        },

        "content": [

            {

                 "reader": {

                    "name": "固定的名字",

                    "parameter": {

                        "username": "账号",

                        "password": "密码",

                        "column": [

                            "字段1",

                            "字段2",

                            "字段3"

                            ps:[*]表示所有列,但是不建议使用

                        ],

                        "splitPk": "分片字段,丢给task,所以必须是整形。一般用主键即可(非必须)",

                        "connection": [

                            {

                                "table": [ "表"],

                                "jdbcUrl": [  "数据库连接地址"],

                                "querySql":["这里可以写查询数据的sql语句,但是如果这里写了,则不允许再配置table,否则会报错(非必须,table和querySql只能存在一个)"]

                            }

                        ],

                        "where":"过滤条件"

                    }

                },

                "writer": {

                    "name": "固定的名字",

                    "parameter": {

                        "writeMode": "写入策略",

                        "username": "账户",

                        "password": "密码",

                        "column": [

                            "字段1",

                            "字段2",

                            "字段3"

                        ],

                        "session": [

                            "DataX在获取Mysql连接时,执行session指定的SQL语句,修改当前connection session属性(非必须)"

                        ],

                        "preSql": [

                            "写入数据到目的表前,会先执行这里的标准语句(非必须)"

                        ],

                        "connection": [

                            {

                                "jdbcUrl": "数据库连接地址",

                                "table": [

                                    "表"

                                ]

                            }

                        ]

                    }

                }

            }

        ]

    }

}

ps3:将mysql的datax数据过滤后迁移到oracle实例

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

{

    "job": {

        "setting": {

            "speed": {

                "channel": 1

            }

        },

        "content": [

            {

                 "reader": {

                    "name": "mysqlreader",

                    "parameter": {

                        "username": "root",

                        "password": "tiger",

                        "column": [

                            "id",

                            "name",

                            "time"

                        ],

                        "splitPk": "id",

                        "connection": [

                            {

                                "table": [

                                    "datax"

                                ],

                                "jdbcUrl": [

     "jdbc:mysql://127.0.0.1:3306/datax?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false&serverTimezone=GMT%2b8"

                                ]

                            }

                        ],

                        "where":"id < 10"

                    }

                },

                 "writer": {

                    "name": "oraclewriter",

                    "parameter": {

                        "username": "HYDROPOWER_JIANGXI",

                        "password": "ffcsict123",

                        "column": [

                            "id",

                            "name",

                            "time"

                        ],

                        "preSql": [

                            "delete from datax"

                        ],

                        "connection": [

                            {

                                "jdbcUrl": "jdbc:oracle:thin:@192.168.35.9:1521:orcl",

                                "table": [

                                    "datax"

                                ]

                            }

                        ]

                    }

                }

            }

        ]

    }

}

(7) 达梦数据库:因为数据库介绍没有dm数据库,所以只能使用“通用RDBMS(支持所有关系型数据库)”这种模式进行传输。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

{

    "job": {

        "setting": {

            "speed": {

                "channel": 1

            }

        },

        "content": [

            {

                 "reader": {

                    "name": "mysqlreader",

                    "parameter": {

                        "username": "root",

                        "password": "tiger",

                        "column": [

                            "id",

                            "name",

                            "time"

                        ],

                        "splitPk": "id",

                        "connection": [

                            {

                                "table": [

                                    "datax"

                                ],

                                "jdbcUrl": [

     "jdbc:mysql://127.0.0.1:3306/datax?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false&serverTimezone=GMT%2b8"

                                ]

                            }

                        ],

                        "where":"id < 10"

                    }

                },

                 "writer": {

                    "name": "rdbmswriter",

                    "parameter": {

                        "username": "AES",

                        "password": "ffcsict123",

                        "column": [

                            "id",

                            "name",

                            "time"

                        ],

                        "preSql": [

                            "delete from datax"

                        ],

                        "connection": [

                            {

                                "jdbcUrl": "jdbc:dm://127.0.0.1:5236/AES?zeroDateTimeBehavior=converToNull&useUnicode=true&characterEncoding=utf-8",

                                "table": [

                                    "datax"

                                ]

                            }

                        ]

                    }

                }

            }

        ]

    }

}

(8) 文件流:只能读取规则的二维表结构文件,并且只能读取本地文件及远程服务器的文件,只能调用api接口获取流

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

{

    "setting": {},

    "job": {

        "setting": {

            "speed": {

                "channel": 2

            }

        },

        "content": [

            {

                "reader": {

                    "name": "ftpreader",

                    "parameter": {

                        "protocol": "sftp",

                        "host": "192.168.248.11",

                        "port": 22,

                        "username": "root",

                        "password": "ffcsict123",

                        "path": [

                            "/root/datax/datax.txt","/root/datax/datax.csv"

                        ],

                        "column": [

                            {

                                "index": 0,

                                "type": "string"

                            },

                            {

                                "index": 1,

                                "type": "string"

                            },

                            {

                                "index": 2,

                                "type": "string",

                             

                            }

                        ],

                        "encoding": "GBK",

                        "fieldDelimiter": ",",

                        "skipHeader": "true"

                    }

                },

                "writer": {

                    "name": "mysqlwriter",

                    "parameter": {

                        "writeMode": "insert",

                        "username": "root",

                        "password": "tiger",

                        "column": [

                            "id",

                            "name",

                            "time"

                        ],

                        "session": [

                            "set session sql_mode='ANSI'"

                        ],

                        "preSql": [

                            "delete from datax1"

                        ],

                        "connection": [

                            {

                                "jdbcUrl": "jdbc:mysql://127.0.0.1:3306/datax?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false&serverTimezone=GMT%2b8",

                                "table": [

                                    "datax1"

                                ]

                            }

                        ]

                    }

                }

            }

        ]

    }

}

三、安装datax-web

3.1 下载 data-web源码:https://github.com/WeiYe-Jing/datax-web

3.2 创建数据库:脚本文件路径–>datax-web\bin\db

3.3 修改datax-admin下配置文件resources/application.yml

修改数据源配置,目前仅支持mysql

1

2

3

4

5

6

#数据源

  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

    driver-class-name: com.mysql.jdbc.Driver

修改日志路径path

1

2

3

4

5

# 配置mybatis-plus打印slq日志

logging:

  level:

    com.wugui.datax.admin.mapper: error

  path: ./data/applogs/admin

修改邮件发送配置(不需要可以不修改)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

# datax-web email

mail:

  host: smtp.qq.com

  port: 25

  username: xxx@qq.com

  password: xxx

  properties:

    mail:

      smtp:

        auth: true

        starttls:

          enable: true

          required: true

      socketFactory:

        class: javax.net.ssl.SSLSocketFactory

3.4 修改datax-executor下配置文件resources/application.yml

修改日志路径path

1

2

3

4

# log config

logging:

  config: classpath:logback.xml

  path: ./data/applogs/executor/jobhandler

修改datax.job配置

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

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: D:\java\Projects\sync-data\json

  

  pypath: D:\java\Projects\sync-data\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) 本地idea开发环境

  1. 运行datax-admin下 DataXAdminApplication
  2. 运行datax-executor下 DataXExecutorApplication

 

 

【DataX-Web的搭建(Windows/Linux环境)

admin启动成功后日志会输出三个地址,两个接口文档地址,一个前端页面地址

(2) Linux环境部署

  • 1.本地安装好maven环境,安装此处细节忽略
  • 2.执行mvn package -Dmaven.test.skip=true
  • 3.打包成功后分别将datax-admin、datax-executor模块target下datax-admin-2.1.1.jar、datax-executor-2.1.1.jar放到指定目录
  • 4.分别启动datax-admin-1.0.0.jar、datax-executor-1.0.0.jar
  • 5.启动命令demo:

    1

    2

    nohup java -Xmx1024M -Xms1024M -Xmn448M -XX:MaxMetaspaceSize=192M -XX:MetaspaceSize=192M -jar datax-admin-2.1.1.jar&

    nohup java -Xmx1024M -Xms1024M -Xmn448M -XX:MaxMetaspaceSize=192M -XX:MetaspaceSize=192M -jar datax-executor-2.1.1.jar&

五、启动成功

启动成功后打开页面(默认管理员用户名:admin 密码:123456),http://localhost:8080/index.html#/dashboard

【DataX-Web的搭建(Windows/Linux环境)

六、集群部署

调度中心、执行器支持集群部署,提升调度系统容灾和可用性。

  • 1.调度中心集群:

    DB配置保持一致;
    集群机器时钟保持一致(单机集群忽视);

  • 2.执行器集群:

    执行器回调地址(admin.addresses)需要保持一致;执行器根据该配置进行执行器自动注册等操作。

    同一个执行器集群内AppName(executor.appname)需要保持一致;调度中心根据该配置动态发现不同集群的在线执行器列表。文章来源地址https://www.toymoban.com/news/detail-478695.html

到了这里,关于【DataX-Web的搭建(Windows/Linux环境)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • DataX-web安装部署和使用

    MySQL (5.5+) 必选,对应客户端可以选装, Linux服务上若安装mysql的客户端可以通过部署脚本快速初始化数据库 JDK (1.8.0_xxx) 必选 DataX 必选 Python (2.x) (支持Python3需要修改替换datax/bin下面的三个python文件,替换文件在doc/datax-web/datax-python3下) 必选,主要用于调度执行底层DataX的启动脚

    2024年01月18日
    浏览(43)
  • 开源DataX集成可视化项目Datax-Web的使用

    上一篇文章我们已经搭建好了 Datax-Web 后台,这篇文章我们具体讲一下如何通过Datax-Web来配置,同步MySQL数据库。 1、\\\"调度中心OnLine:\\\"右侧显示在线的\\\"调度中心\\\"列表, 任务执行结束后, 将会以failover的模式进行回调调度中心通知执行结果, 避免回调的单点风险; 2、“执行器列表”

    2024年02月08日
    浏览(36)
  • datax-web登陆时出现账号密码错误

    目录的位置:datax-web-2.1.2/modules/datax-admin/bin/console.out 发现了java程序没有跑起来,解决对应的bug问题即可,一般都是数据库连接的问题,可能和使用的数据库版本什么的有关系

    2024年02月14日
    浏览(47)
  • centos7-datax和datax-web安装以及安装中问题的解决

    一、下载这些软件(见)   系统变量设置(安装 maven和jdk略) vi /etc/profile JAVA_HOME=/usr/local/jdk1.8.0_40 CLASSPATH=$JAVA_HOME/lib/ PATH=$PATH:$JAVA_HOME/bin DATAX_HOME=/usr/local/datax PATH=$PATH:$DATAX_HOME/bin   export MAVEN_HOME=/usr/local/apache-maven-3.6.3 export PATH=$PATH:$MAVEN_HOME/bin   生效系统变量 source /etc/p

    2024年02月10日
    浏览(39)
  • Centos7.9通过datax-web2.0_用Datax3.0进行增量同步_增量删除_数据更新---大数据之DataX工作笔记006

     1.注意这里的增量同步,不像之前用的DBsyncer或者是,NIFI中的利用binlog的形式,实现真正的实时的数据同步.  2.这里的增量是,指定通过ID,或者时间来进行增量,比如大于2023-07-03 11:44:56的数据仅仅同步这个,或者是,id大于多少的这样,这里建议用时间,因为如果有id用的字符串咋弄来

    2024年02月10日
    浏览(39)
  • Stable Diffusion本地搭建windows and linux(附搭建环境)

    1.使用git工具下载项目文件到本地文件夹,命令如下: 然后进入该文件夹: 2.运行自动化脚本 运行webui.sh安装一些python环境 这个时候如果遇到root用户的报错,如下: 可以注释掉webui.sh的63-74行的内容,如下所示: #fi 如果遇到下面的报错: 可以运行下面命令 #物理机上运行:

    2024年02月08日
    浏览(41)
  • 使用IntelliJ IDEA和VSCode搭建datax-web-ui开发环境

    记录 :376 场景 :使用IntelliJ IDEA搭建datax-web-ui开发环境。使用VSCode搭建datax-web-ui开发环境。 版本: node-v14.17.3 npm-6.14.13 datax-web-ui开源地址 :https://github.com/WeiYe-Jing/datax-web-ui 一、使用IntelliJ IDEA搭建datax-web-ui开发环境 1.安装nodejs和npm 1.1下载地址 官网地址:https://nodejs.org/dist

    2024年02月10日
    浏览(51)
  • 搭建FRP内网穿透服务器来远程访问本地windows/linux中的web服务

    什么是FRP? FRP 是一个免费开源的用于内网穿透的反向代理应用,它支持 TCP、UDP 协议, 也为 http 和 https 协议提供了额外的支持。 FRP有服务端和客户端,你将服务端安装在你买的便宜云服务器上,FRP客户端安装在你自己的电脑上,配置好暴露的端口,就可以实现你访问服务器

    2024年02月05日
    浏览(52)
  • Windows本地搭建PHP环境

    本文是根据Windows平台本地搭建PHP环境,超详细!(Apache+PHP+Mysql)这篇文章而写,参考这篇文章安装时遇到了一些问题。解决掉这些问题就想着记录一下吧。 Apache下载地址 下载好之后找个目录解压 php下载地址 下载好之后找个目录解压 详细安装教程 1、打开Apache解压目录下的

    2024年02月16日
    浏览(49)
  • Web3本地搭建truffle智能合约开发环境

    之前的几篇文章 我们是成功的操作了我们本地区块链的 那么 本文 我们就来说说智能合约 啊 不容易啊 扯了这么久 终于到这了 智能合约是部署在区块链上 不可逆的 一种去中心化的程序,他没有任何第三方公司来管理这个程序和数据 然后 还有就是怎么连接到区块链上的智能

    2024年02月12日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包