Datax模块平台化建设

对datax-web的建设

前提

1
2
3
4
5
6
# 需要先将Datax项目部署完成
git clone http://github.com/alibaba/DataX/
cd DataX
mvn -U clean package assembly:assembly -D maven.test.skip=true
# 这里注意,有可能hdfsreader或hdfswriter打包失败
# 将依赖中的exclusion注释后,reimport依赖,再还原,即可打包,或者直接更换hive依赖版本

DataX_Web

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
# 下载DataX_Web
git clone https://github.com/WeiYe-Jing/datax-web

cd DataX_Web
mvn clean install
# 一般不报错,我的不知道为啥hive版本必须2.3.4
# 否则就报single failed: For artifact {null:null:null:pom}: The groupId cannot be empty

cd build
tar -zxvf datax-web-{VERSION}.tar.gz

# 执行安装脚本
./bin/install.sh

# 修改datax-admin数据库配置
vi modules/datax-admin/conf/bootstrap.properties
#Database
DB_HOST=localhost
DB_PORT=3306
DB_USERNAME=root
DB_PASSWORD=123456
DB_DATABASE=dataxweb

# 修改datax-admin运行时配置
vi modules/datax-admin/bin/env.properties
# environment variables
#JAVA_HOME=""
WEB_LOG_PATH=${BIN}/../logs
WEB_CONF_PATH=${BIN}/../conf
DATA_PATH=${BIN}/../data
SERVER_PORT=9527
#PID_FILE_PATH=${BIN}/dataxadmin.pid
# mail account
MAIL_USERNAME=""
MAIL_PASSWORD=""
#debug
#REMOTE_DEBUG_SWITCH=true
#REMOTE_DEBUG_PORT=7003

# 修改datax-execute执行配置
vi modules/datax-executor/bin/env.properties
# environment variables
JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_281.jdk/Contents/Home"
SERVICE_LOG_PATH=${BIN}/../logs
SERVICE_CONF_PATH=${BIN}/../conf
DATA_PATH=${BIN}/../data
## datax json文件存放位置
JSON_PATH=${BIN}/../json
## executor_port
EXECUTOR_PORT=9999
## 保持和datax-admin端口一致
DATAX_ADMIN_PORT=9527
## PYTHON脚本执行位置
#PYTHON_PATH=/home/hadoop/install/datax/bin/datax.py
PYTHON_PATH=/Users/xz/Local/Temps/software_temp/datax/bin/datax.py
## dataxweb 服务端口
SERVER_PORT=9504
#PID_FILE_PATH=${BIN}/service.pid
#debug 远程调试端口
#REMOTE_DEBUG_SWITCH=true
#REMOTE_DEBUG_PORT=7004

# 启动datax-web
./bin/start-all.sh

# WebUI
http://mac:9527/index.html
admin/123456

模块使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 数据源配置
这里需要注意各驱动包的版本哦

# 项目管理
添加新项目

# DataX任务模板
创建新任务模板

# 任务构建
自动构建的json串需要加上core配置,否则报错,datax-web和datax代码不一致导致的,可以尝试自己修改下
"core": {
"transport": {
"channel": {
"speed": {
"byte": 10485760
}
}
}
}