DataX管理系统datax-web安装部署记录


前言

DataX是阿里巴巴的一款开源ETL工具,但是他是纯代码操作的,并不方便小白使用。有大神基于DataX开发了一款datax-web的开源管理系统,可以通过web端配置自动生成DataX的job.json,且可以管理和监控DataX的调度。本文带领大家一步步安装部署和测试。

依赖服务安装

安装配置centos

由于官方说明需要在Linux上运行,因此首先通过虚拟机安装一个centos系统,我安装的是Minimal版本,安装完成后修改一下网卡配置,使虚拟机启动时自动获取IP:

#查看网卡
ip addr
#进入网卡配置文件目录(可以通过Linux的TAB键进行补全,避免字母输入出错)
cd /etc/sysconfig/network-scripts
#查看文件目录,根据网卡名找到网卡配置文件,编辑网卡配置文件
ll
vi ifcfg-ens33

输入I进入编辑模式,将BOOTPROTO改成dhcp,ONBOOT改成yes,完成后按esc退出编辑模式,然后输入:wq保存并退出。

image-20200717091119215

修改完成后重启系统,使用ping命令测试网络是否可用:

image-20200717091403699

因为要安装许多软件,我们先安装wget用来下载,并把yum安装源改成国内镜像:

#安装wget
yum -y install wget
#进入yum源配置目录
cd /etc/yum.repos.d
#备份源文件
mv CentOS-Base.repo CentOS-Base.repo.bak
#下载阿里源文件
wget http://mirrors.aliyun.com/repo/Centos-7.repo
#将阿里源文件更名成所使用的源文件名称
 mv Centos-7.repo  CentOS-Base.repo
 #生成源缓存
 yum makecache 
 #更新yum源
 yum -y update

安装MySQL8.0

参考此文 CentOS安装MySQL8.0

安装JDK1.8

参考此文:centos7通过yum安装JDK1.8

安装Maven3.6.3

参考此文:centos7安装maven教程

首先下载包:

 wget https://downloads.apache.org/maven/maven-3/3.6.3/binaries/maven-3.6.3-bin.tar.gz

解压到公共资源目录:

tar -zxvf apache-maven-3.6.3-bin.tar.gz -C /var/local

配置环境变量

#修改环境变量文件,增加如下图三行
vi /etc/profile

1595230946546

重新加载环境变量,检查mvn版本确认是否配置成功:

#重新加载环境变量
source /etc/profile
#检查版本
mvn -version

1595230830246

安装Git

通过yum直接安装:

yum install -y git

安装DataX

GitHub上DataX文档里面有详细步骤,也可参考此文:开源ETL工具DataX在Windows上安装部署

DataX-WEB安装

下载源码打包

DataX-WEB的GitHub地址是: https://github.com/WeiYe-Jing/datax-web ,我们通过git克隆源码下来:

git clone https://github.com/WeiYe-Jing/datax-web.git

下载速度慢的话可以参考此文修改host,linux系统hosts文件在/etc/hosts。

进入根目录打包:

cd 
mvn clean install

打包完成会在build目录下生成安装包:

1595301784531

安装配置

创建安装部署的目录,解压安装包到安装部署目录:

tar -zxvf datax-web-2.1.2.tar.gz

执行一键安装脚本install.sh,期间会多次让确认安装信息,并会引导配置数据库连接:

cd datax-web-2.1.2
cd bin
bash install.sh

1595310541614

安装成功后,执行一键启动脚本start_all.sh,成功后检查一下默认的9527端口是否正常服务

bash start-all.sh
#查看服务端口
netstat -lanp|grep 9527

1595310746874

到这一步正常情况下就可以打开浏览器访问 http://ip:port/index.html 进入datax-web管理系统了,如果其他电脑无法访问,需要检查一下防火墙是否开启了对应端口:

#检查防火墙服务
systemctl status firewalld
#检查防火墙状态
firewall-cmd --state
#查看防火墙配置
firewall-cmd --list-all
#添加端口
firewall-cmd --permanent --add-port=9527/tcp
#重新加载防火墙
firewall-cmd --reload

1595311162209

成功访问后的页面如下,默认账号密码admin 123456:

1595311242089

1595311219432

其他(摘自官方GitHub)

配置邮件

在项目目录: /modules/datax-admin/bin/env.properties 配置邮件服务

MAIL_USERNAME=""
MAIL_PASSWORD=""

指定PATHON_PATH路径

在项目目录下/modules/datax-execute/bin/env.properties 指定PYTHON_PATH的路径

vi ./modules/{module_name}/bin/env.properties

### 执行datax的python脚本地址
PYTHON_PATH=

### 保持和datax-admin服务的端口一致;默认是9527,如果没改datax-admin的端口,可以忽略
DATAX_ADMIN_PORT=

修改端口

如果需要改变某一模块服务端口号,则修改以下文件,找到SERVER_PORT配置项,改变它的值即可:

vi ./modules/{module_name}/bin/env.properties

启动单一模块

单一地启动某一模块服务:

./bin/start.sh -m {module_name}

关闭服务

关闭所有:

./bin/stop-all.sh

关闭单一模块服务:

./bin/stop.sh -m {module_name}

查看服务

在Linux环境下使用JPS命令,查看是否出现DataXAdminApplication和DataXExecutorApplication进程,如果存在这表示项目运行成功

如果项目启动失败,请检查启动日志:modules/datax-admin/bin/console.out或者modules/datax-executor/bin/console.out

运行日志

在modules/对应的项目/data/applogs下(用户也可以自己指定日志,修改application.yml 中的logpath地址即可),用户可以根据此日志跟踪项目实际启动情况

如果执行器启动比admin快,执行器会连接失败,日志报”拒绝连接”的错误,一般是先启动admin,再启动executor,30秒之后会重连,如果成功请忽略这个异常。

集群部署

修改modules/datax-executor/conf/application.yml文件下admin.addresses地址。 为了方便单机版部署,项目目前没有将ip部分配置到env.properties,部署多节点时可以将整个地址作为变量配置到env文件。

将官方提供的tar包或者编译打包的tar包上传到服务节点,按照步骤5中介绍的方式单一地启动某一模块服务即可。例如执行器需要部署多个节点,仅需启动执行器项目,执行 ./bin/start.sh -m datax-executor

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

* 1.调度中心集群:

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

* 2.执行器集群:

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

    同一个执行器集群内AppName(executor.appname)需要保持一致;调度中心根据该配置动态发现不同集群的在线执行器列表。

文章作者: 无咎
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 无咎 !
评论
 上一篇
CentOS7安装和测试mssql-tools的bcp大数据导出 CentOS7安装和测试mssql-tools的bcp大数据导出
前言我司要进行大量数据抽取的场景主要是SQL Server到GreenPlum,已知GP的GPLOAD可以高效加载数据到GP,那么SQL Server有没有什么高效导出数据的工具呢?到微软的SQL文档里面查了一下,果然找到了一个叫‘大容量复
2020-07-27
下一篇 
CentOS安装MySQL8.0 CentOS安装MySQL8.0
MySQL8.0相对之前版本有了一些改动,本文记录一下CentOS7安装Mysql8.0的步骤。 由于centos默认源里面没有mysql,因此我们先下载rpm源,然后再安装: #回到用户目录 cd ~ #下载rpm wget http:/
2020-07-17
  目录