记录:371
场景:在CentOS 7.9操作系统上,使用apache-maven-3.8.7安装编译datax-web源码。在Windows上操作系统上,使用apache-maven-3.8.7编译datax-web源码。
版本:
JDK 1.8
Python 2.7.5
datax-web开源地址:https://github.com/WeiYe-Jing/datax-web
一、在Linux上编译datax-web源码
1.配置Maven环境
1.1Maven安装路径
路径:/opt/apache-maven-3.8.7
1.2配置Maven远程和本地镜像仓库
修改文件:vi /opt/apache-maven-3.8.7/conf/settings.xml
修改内容:
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
<localRepository>/opt/maven-repo-3.8.7/repository</localRepository>
解析:在<mirrors></mirrors>标签内添加<mirror></mirror>内容,在</ettings></settings>标签内添加<localRepository></localRepository>。
1.3本地镜像仓库目录和配置文件
创建目录:mkdir -p /opt/maven-repo-3.8.7/repository
拷贝配置:cp /opt/apache-maven-3.8.7/conf/settings.xml /opt/maven-repo-3.8.7/settings.xml
解析:repository中存放从远程仓库下载到本地的jar包等信息。
1.4配置环境变量和生效
(1)修改环境变量
修改文件:修改文件:vi /etc/profile
新增内容:
export MAVEN_HOME=/opt/apache-maven-3.8.7
export PATH=$PATH:$MAVEN_HOME/bin
(2)生效环境变量
命令:source /etc/profile
2.下载源码
下载发布版本v-2.1.2。
下载命令:wget https://github.com/WeiYe-Jing/datax-web/archive/refs/tags/v-2.1.2.tar.gz
解析:下载后包名是v-2.1.2.tar.gz。
3.解压源码
把源码包解压到指定目录。
解压命令:tar -zvxf /home/apps/dx/package/v-2.1.2.tar.gz -C /home/apps/dx/
重命名:mv datax-web-v-2.1.2/ datax-web
解析:解压源码包后名称是datax-web-v-2.1.2,重命名为datax-web。
4.使用Maven打包
命令:mvn -U clean install -Dmaven.test.skip=true
5.打包后部署包生成目录
打包后生成目录:../datax-web/build
包名称:datax-web-2.1.2.tar.gz
6.安装
生成包目录:/home/apps/dx/datax-web/build
6.1拷贝安装包到指定目录
指定目录:/home/apps/dx/space
拷贝命令:cp -r /home/apps/dx/datax-web/build/datax-web-2.1.2.tar.gz /home/apps/dx/space/datax-web-2.1.2.tar.gz
6.2在当前目录下解压包
(1)解压包
命令:tar -zvxf datax-web-2.1.2.tar.gz
解析:当前生成目录名称:datax-web-2.1.2。
(2)目录../datax-web-2.1.2说明
目录说明:在datax-web-2.1.2下,包括bin和packages目录。
(3)目录../datax-web-2.1.2/bin说明
在bin目录下,包括数据库初始脚本和几个shell脚本。shell脚本:install.sh,安装脚本;start-all.sh和start.sh启动脚本;stop-all.sh和stop.sh是停止脚本。带后缀-all的脚本是脚本自动操作两个微服务;不带后缀的脚本是需要逐个操作微服务。
(4)目录../datax-web-2.1.2/packages说明
在../packages目录下包括datax-admin_2.1.2_1.tar.gz和datax-executor_2.1.2_1.tar.gz,这两个包就是实际两个微服务已编译成功的包。
6.3初始化数据库
从/home/apps/dx/space/datax-web-2.1.2/bin/db目录下取出数据库脚本:datax_web.sql,在MySQL数据库中初始化这些表和数据。
本例数据库:datax_web。
6.4安装服务
(1)安装服务
操作目录:/home/apps/dx/space/datax-web-2.1.2/bin
执行命令:sh install.sh
解析:安装完成后在../datax-web-2.1.2目录下生成modules目录,换句话说,就是把../datax-web-2.1.2/packages下的两个软件包安装到了../datax-web-2.1.2/modules下。
(2)目录说明
在../datax-web-2.1.2/modules目录下包括datax-admin和datax-executor。
7.修改配置
在/home/apps/dx/space/datax-web-2.1.2/modules目录下包括datax-admin和datax-executor。需要修改两个服务的相关配置。
端口约定:
datax-admin服务端口:18081
datax-executor服务端口:18082
7.1修改datax-admin服务配置
(1)datax-admin目录说明
在datax-admin下生成了bin、conf、data、lib、logs目录。
../datax-admin/bin目录,存放执行脚本。
../datax-admin/conf目录,存放微服配置文件、MyBatis的SQL映射文件以及已打包的前端静态文件。
../datax-admin/lib目录,存放微服务jar包和微服务全量依赖jar包。
../datax-admin/data目录,运行过程数据。
../datax-admin/logs目录,日志数据。
(2)修改bootstrap.properties文件
修改文件:vi bootstrap.properties
修改内容:
DB_HOST=192.168.19.202
DB_PORT=3306
DB_USERNAME=root
DB_PASSWORD=123456
DB_DATABASE=datax_web
(3)修改env.properties配置
在/home/apps/dx/space/datax-web-2.1.2/modules/datax-admin/bin/env.properties目修改文件:vi env.properties
修改内容:SERVER_PORT=18081
解析:默认是SERVER_PORT=9527,本例修改微服务启动端口,也可以直接在application.yml中固定端口号。
7.2修改datax-executor服务配置
(1)datax-executor目录说明
在datax-executor下生成了bin、conf、data、lib、logs目录。
../datax-executor/bin目录,存放执行脚本。
../datax-executor/conf目录,存放微服配置文件。
../datax-executor/lib目录,存放微服务jar包和微服务全量依赖jar包。
../datax-executor/data目录,运行过程数据。
../datax-executor/logs目录,日志数据。
../datax-executor/json目录,存放DataX框架执行的脚本。
(2)修改env.properties文件
在../modules/datax-executor/bin目录下。
修改文件:vi env.properties
修改内容:
## 保持和datax-admin端口一致
DATAX_ADMIN_PORT=18081
## PYTHON脚本执行位置
PYTHON_PATH=/home/apps/dx/space/datax/bin/datax.py
## datax-executor 服务端口
SERVER_PORT=18082
(3)已编译的datax放入指定目录
在env.properties配置了datax的执行脚本,需要把已编译的datax全量包放入指定目录,datax-executor在执行时,调用datax.py,去调用datax的插件。
目录:/home/apps/dx/space/datax
脚本:/home/apps/dx/space/datax/bin/datax.py
8.启动
8.1启动微服务
启动目录:/home/apps/dx/space/datax-web-2.1.2/bin
启动命令:sh start-all.sh
8.2查看datax-admin控制台日志
目录:../datax-web-2.1.2/modules/datax-admin/bin/console.out
命令:tail -f console.out
8.3查看datax-executor日志
目录:../datax-web-2.1.2/modules/datax-executor/bin/console.out
命令:tail -f console.out
9.登录
默认地址:http://192.168.19.203:9527/index.html
本例地址:http://192.168.19.203:18081/index.html
用户名/口令:admin/123456
10.停止
启动目录:/home/apps/dx/space/datax-web-2.1.2/bin
启动命令:sh stop-all.sh
二、在Windows上编译datax-web源码
1.配置Maven环境
1.1安装目录
目录:D:\dev
1.2配置Maven远程和本地镜像仓库
修改文件:D:\dev\apache-maven-3.8.7\conf\settings.xml
修改内容:
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
<localRepository>D:\dev\maven-repo-3.8.7\repository</localRepository>
解析:在<mirrors></mirrors>标签内添加<mirror></mirror>内容,在</ettings></settings>标签内添加<localRepository></localRepository>。
1.3本地镜像仓库目录和配置文件
创建D:\dev\maven-repo-3.8.7\repository目录。
把D:\dev\apache-maven-3.8.7\conf\settings.xml文件拷贝到D:\dev\maven-repo-3.8.7\settings.xml
解析:repository中存放从远程仓库下载到本地的jar包等信息。
1.4配置环境变量和生效
依次点击和选择:此电脑->属性->高级系统设置->环境变量
在系统变量编辑框修改配置。
<1>新建系统变量
变量名称:MAVEN_HOME
变量值:D:\dev\maven-repo-3.8.7
<2>编辑系统变量Path
编辑系统变量Path,并添加行配置。
变量名称:Path
变量值:%MAVEN_HOME%\bin
2.下载源码
下载发布版本datax-web-v-2.1.2。
源码地址:https://github.com/WeiYe-Jing/datax-web
2.1浏览器直接下载
地址:https://github.com/WeiYe-Jing/datax-web/archive/refs/tags/v-2.1.2.zip
解析:直接在浏览器中输入地址就能下载。
2.2使用Git下载
命令:git clone git@github.com:WeiYe-Jing/datax-web.git
3.解压源码
源码解压目录:D:\dev\ForDx\datax-web
4.使用Maven打包
4.1使用Maven打包
操作目录:D:\dev\ForDx\datax-web
打包命令:mvn -U clean install -Dmaven.test.skip=true
4.2解决缺少winutils.exe环境变量
datax-web在运行时报错,缺少winutils.exe环境变量。
(1)下载包
下载包:https://github.com/srccodes/hadoop-common-2.2.0-bin
(2)解压包
包名称:hadoop-common-2.2.0-bin-master,解压到指定目录。
(3)配置环境变量
右键:此电脑->高级系统设置->环境变量->系统变量
变量:
名称:HADOOP_HOME
值:D:\Program Files\hadoop\hadoop-common-2.2.0
添加Path变量:
名称:Path
值:%HADOOP_HOME%\bin
(4)环境变量生效
报错不生效的话,就重启电脑。
5.打包成功后的datax-web包
打包完成目标目录:D:\dev\ForDx\datax-web\build
包名称:datax-web-2.1.2.tar.gz
6.编译源码上传到Linux服务器
编译源码生成的datax-web-2.1.2.tar.gz包,以及配套脚本适合在Linux服务器上运行。因此,将压缩包上传到服务器就行。
以上,感谢。
2023年2月9日