dataxweb打包启动不了

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dataxweb打包启动不了相关的知识,希望对你有一定的参考价值。

接上回:python 调度 datax的json配置文件。

用datax_web 原因:后续有各个项目需要用到datax抽数据,配置json浪费时间,用python脚本去调度也麻烦,datax_web 可以批量配置ison 并存储到数据库里,迁移也方便。

1、环境:java 1.8

    python 3.7

     mysql 8.0.19

     maven >=3.6.1

   hadoop 2.6 + windows运行需要的winutils.exe(自己用报错信息找一下,我忘了在哪下载的了)

     datax_web 2.1.2

2、下载datax

直接下载:http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz

就不要去下没有打包的版本了,省的麻烦。

解压之后有可能有“._XXXX”这种的文件,全都搜出来删除掉



3、下载datax_web

下载GitHub开源版本:https://github.com/WeiYe-Jing/datax-web

clone 或者直接下载zip随意。

下载下来之后



拉到idea 中进行配置:

  1、maven环境变量配置就不说了,conf配置网上多的很,别忘了idea中的maven配置,我这个有以前的maven 3.6的仓库,所以直接用了,没有仓库的自己建一个,之后等依赖自己下载完。



2、mysql建表



直接用自带的脚本在mysql客户端建个database 命名为datax_web,在这个数据库中跑一下脚本就行了

3、修改datax_web 中 配置

datax-admin下配置修改:坑1、时区问题,mysql8时区一般都是UTC,那么东八区是要加八个小时,url中加上 serverTimezone=GMT%2B8

如果你用原本的上海的时区没问题的化就不用改了

              坑2、driver-class-name: com.mysql.cj.jdbc.Driver 这个一般是mysql8用的,5用的是不加cj的

datax-executor下配置修改:该注释的注释掉,该开的开,最后一行 datax路径改成自己的路径:pypath: D:\workspace\datax\datax\bin\datax.py

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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
server:
port: 8080
# port: $server.port
spring:
#数据源
datasource:
username: root  #你的mysql 用户 和密码
password: 123456
url: jdbc:mysql://localhost:3306/datax_web?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=UTF-8
# &&serverTimezone=GMT
# password: $DB_PASSWORD:password
# username: $DB_USERNAME:username
# url: jdbc:mysql://$DB_HOST:127.0.0.1:$DB_PORT:3306/$DB_DATABASE:dataxweb?serverTimezone=Asia/Shanghai&useLegacyDatetimeCode=false&useSSL=false&nullNamePatternMatchesAll=true&useUnicode=true&characterEncoding=UTF-8
driver-class-name: com.mysql.cj.jdbc.Driver

hikari:
## 最小空闲连接数量
minimum-idle: 5
## 空闲连接存活最大时间,默认600000(10分钟)
idle-timeout: 180000
## 连接池最大连接数,默认是10
maximum-pool-size: 10
## 数据库连接超时时间,默认30秒,即30000
connection-timeout: 30000
connection-test-query: SELECT 1
##此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认1800000即30分钟
max-lifetime: 1800000

# datax-web email
mail:
host: smtp.qq.com
port: 25
username: xxx@qq.com
password: xxx
# username: $mail.username
# password: $mail.password
properties:
mail:
smtp:
auth: true
starttls:
enable: true
required: true
socketFactory:
class: javax.net.ssl.SSLSocketFactory

management:
health:
mail:
enabled: false
server:
servlet:
context-path: /actuator

mybatis-plus:
# mapper.xml文件扫描
mapper-locations: classpath*:/mybatis-mapper/*Mapper.xml
# 实体扫描,多个package用逗号或者分号分隔
#typeAliasesPackage: com.yibo.essyncclient.*.entity
global-config:
# 数据库相关配置
db-config:
# 主键类型 AUTO:"数据库ID自增", INPUT:"用户输入ID", ID_WORKER:"全局唯一ID (数字类型唯一ID)", UUID:"全局唯一ID UUID";
id-type: AUTO
# 字段策略 IGNORED:"忽略判断",NOT_NULL:"非 NULL 判断"),NOT_EMPTY:"非空判断"
field-strategy: NOT_NULL
# 驼峰下划线转换
column-underline: true
# 逻辑删除
logic-delete-value: 0
logic-not-delete-value: 1
# 数据库类型
db-type: mysql
banner: false
# mybatis原生配置
configuration:
map-underscore-to-camel-case: true
cache-enabled: false
call-setters-on-nulls: true
jdbc-type-for-null: 'null'
type-handlers-package: com.wugui.datax.admin.core.handler

# 配置mybatis-plus打印sql日志
logging:
level:
com.wugui.datax.admin.mapper: info
path: ./data/applogs/admin
# level:
# com.wugui.datax.admin.mapper: error
# path: $data.path/applogs/admin

#datax-job, access token
datax:
job:
accessToken:
#i18n (default empty as chinese, "en" as english)
i18n:
## triggerpool max size
triggerpool:
fast:
max: 200
slow:
max: 100
### log retention days
logretentiondays: 30

datasource:
aes:
key: AD42F6697B035B75
  4、启动admin,然后启动 executor

可能出现的问题1:缺少hadoop windows的运行路径,一般缺少的是这两个文件,从网上下载下来放到hadoop_home下的bin里



进网页上看吧,http://127.0.0.1:8080/index.html 初始用户名密码:admin 123456

  5、任务配置流程

      5.1、数据源配置:以mysql为例,因为我的mysql时区问题,连接串后面加这个就可以了,oracle这些数据库都没啥问题。测试数据库连接是否成功,如果不成功那么基本是时区的问题



      5.2、项目管理:随意

      5.2、任务模板配置:



      5.3、测试表新建,在你的数据源和目标数据源新建数据库,分别新建源表和目标表,源表与目标表结构一致,源表随意造点数据。新建源表和目标表数据源,同5.1

      5.4、任务构建:

          单个任务:选择数据源和表名,字段选择->目标表数据源,字段选择->构建json->选择模板->ok

          批量任务构建:直接把数据源中的所有表展示,手动点击需要哪些表,目标表是自动对应的,流程和单个任务一样。



  5.5、任务测试:

      单个任务:直接点击操作的执行

      多任务手动调用:新建个python任务,里面直接写个print("随意"),如果是python2.7那就直接写 print '随意';子任务下选择多个任务。



  5.6、日志查看

      错误1:执行器没有运行。datax-executor启动执行器

      

      错误2:存在超过一个time_zone,datax里面的lib缺少mysql驱动,版本就从datax_web中依赖中找出来复制到datax的lib和读写的文件夹下,好好检查

路径大概是:总libs:D:\workspace\datax\datax\lib 读: D:\workspace\datax\datax\plugin\reader\mysqlreader\libs 写:D:\workspace\datax\datax\plugin\writer\mysqlwriter\libs

      读写中一般都是

      总libs添加上你的mysql数据库同版本驱动,或者同代版本好像也行

 6、打包

    打包之前先把repackage在admin和executor的pom中给加上,放在build标签里面


<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>

完事之后:在maven工具箱里面点击 datax_web下的clean ,完毕之后再点击package 打jar包

把admin 和exetor中target中的jar包单独拿出来放到自己的文件夹中,执行这两个jar包肯定会报错,你打开看下jar包里面没有配置文件和mapper,那么把admin下target中的配置文件和分别拉到jar包中,executor只需要拉个配置文件。如下:都在classes文件夹中



完事后,java -jar 运行这两个jar



可以登录了
参考技术A 通常是由于源端数据存在较多业务脏数据导致,请仔细检查DataX汇报的脏数据日志信息, 或者您可以适当调大脏数据阈值。
Datax-web基于datax,增加了web界面

Datax运行时依赖python环境,默认通过命令行执行

Datax可以在各种数据源间同步数据,配置文件基于一个json文件,包括reader和writer

Datax-web把Datax基于命令行任务通过java代码串联了起来,并提供了可视化的任务管理
参考技术B dataxweb打包启动不了
答案如下:第一步首先是打开设置,然后进行下载更新重启
参考技术C dataxweb打包启动不了原因,datagrip安装完 点击run运行软件没反应 不启动 都还没开始破解激活

oc 和swift混编的时候打包ipa安装不了


做了一个oc项目。里面实用到swift第三方,真机执行的时候是正常的,用企业级证书打包成ipa之后安装完毕之后闪退。通过导出手机log日志发现错误提示:

Dyld Error Message:
? Library not loaded: @rpath/libswiftCore.dylib
? Referenced from: /private/var/mobile/Containers/Bundle/Application/02BA91C4-0E1C-4C3A-9A5E-30CA1D9B6639/funnyC.app/funnyC
? Reason: no suitable image found.

解决方法:

第一:


Setting Embedded Content Contains Swift Code to YES

技术分享图片

第二步:

Go to project build settings and add @executable_path/Frameworks to Runpath Search Paths option

第三步:

假设上边两步还是不行的话,就把证书和描写叙述文件都又一次创建一遍

以上是关于dataxweb打包启动不了的主要内容,如果未能解决你的问题,请参考以下文章

mysql启动不了服务启动不了该怎么办

mysql启动不了服务启动不了该怎么办

mysql启动不了服务启动不了该怎么办

maven项目用Tomcat启动NoPluginFoundForPrefixException

mysql为啥启动不了

mysql启动不了服务启动不了该怎么办