### 环境准备 #### 1)基础软件安装 - MySQL (5.5+) 必选,对应客户端可以选装, Linux服务上若安装mysql的客户端可以通过部署脚本快速初始化数据库 - JDK (1.8.0_xxx) 必选 - Maven (3.6.1+) 必选 - DataX 必选 - Python (2.x) (支持Python3需要修改替换datax/bin下面的三个python文件,替换文件在doc/datax-web/datax-python3下) 必选,主要用于调度执行底层DataX的启动脚本,默认的方式是以Java子进程方式执行DataX,用户可以选择以Python方式来做自定义的改造 ### DataX安装请参考:[DataX](https://github.com/WeiYe-Jing/datax-web/blob/master/userGuid.md) ### DataX Web安装包准备 #### 1)下载官方提供的版本tar版本包 [点击下载](https://pan.baidu.com/s/13yoqhGpD00I82K4lOYtQhg) 提取码:cpsk #### 2) 编译打包(官方提供的tar包跳过) 直接从Git上面获得源代码,在项目的根目录下执行如下命令 ``` mvn clean install ``` 执行成功后将会在工程的build目录下生成安装包 ``` build/datax-web-{VERSION}.tar.gz ``` ### 开始部署 #### 1)解压安装包 在选定的安装目录,解压安装包 ``` tar -zxvf datax-web-{VERSION}.tar.gz ``` #### 2)执行一键安装脚本 进入解压后的目录,找到bin目录下面的install.sh文件,如果选择交互式的安装,则直接执行 ``` ./bin/install.sh ``` 在交互模式下,对各个模块的package压缩包的解压以及configure配置脚本的调用,都会请求用户确认,可根据提示查看是否安装成功,如果没有安装成功,可以重复尝试; 如果不想使用交互模式,跳过确认过程,则执行以下命令安装 ``` ./bin/install.sh --force ``` #### 3)数据库初始化 如果你的服务上安装有mysql命令,在执行安装脚本的过程中则会出现以下提醒: ``` Scan out mysql command, so begin to initalize the database Do you want to initalize database with sql: [{INSTALL_PATH}/bin/db/datax-web.sql]? (Y/N)y Please input the db host(default: 127.0.0.1): Please input the db port(default: 3306): Please input the db username(default: root): Please input the db password(default: ): Please input the db name(default: exchangis) ``` 按照提示输入数据库地址,端口号,用户名,密码以及数据库名称,大部分情况下即可快速完成初始化。 如果服务上并没有安装mysql命令,则可以取用目录下/bin/db/datax-web.sql脚本去手动执行,完成后修改相关配置文件 ``` vi ./modules/datax-admin/conf/bootstrap.properties ``` ``` #Database #DB_HOST= #DB_PORT= #DB_USERNAME= #DB_PASSWORD= #DB_DATABASE= ``` 按照具体情况配置对应的值即可。 #### 4) 配置 安装完成之后, 在项目目录: /modules/datax-admin/bin/env.properties 配置邮件服务(可跳过) ``` MAIL_USERNAME="" MAIL_PASSWORD="" ``` 此文件中包括一些默认配置参数,例如:server.port,具体请查看文件。 在项目目录下/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= ```` 此文件中包括一些默认配置参数,例如:executor.port,json.path,data.path等,具体请查看文件。 #### 5)启动服务 ##### - 一键启动所有服务 ``` ./bin/start-all.sh ``` 中途可能发生部分模块启动失败或者卡住,可以退出重复执行,如果需要改变某一模块服务端口号,则: ``` vi ./modules/{module_name}/bin/env.properties ``` 找到SERVER_PORT配置项,改变它的值即可。 当然也可以单一地启动某一模块服务: ``` ./bin/start.sh -m {module_name} ``` ##### - 一键取消所有服务 ``` ./bin/stop-all.sh ``` 当然也可以单一地停止某一模块服务: ``` ./bin/stop.sh -m {module_name} ``` #### 6)查看服务(注意!注意!) 在Linux环境下使用JPS命令,查看是否出现DataXAdminApplication和DataXExecutorApplication进程,如果存在这表示项目运行成功 #### 如果项目启动失败,请检查启动日志:modules/datax-admin/bin/console.out或者modules/datax-executor/bin/console.out --- Tips: 脚本使用的都是bash指令集,如若使用sh调用脚本,可能会有未知的错误 #### 7)运行 部署完成后,在浏览器中输入 http://ip:port/index.html 就可以访问对应的主界面(ip为datax-admin部署所在服务器ip,port为为datax-admin 指定的运行端口) 输入用户名 admin 密码 123456 就可以直接访问系统 ### 8) 运行日志 部署完成之后,在modules/对应的项目/data/applogs下(用户也可以自己指定日志,修改application.yml 中的logpath地址即可),用户可以根据此日志跟踪项目实际启动情况 如果执行器启动比admin快,执行器会连接失败,日志报"拒绝连接"的错误,一般是先启动admin,再启动executor,30秒之后会重连,如果成功请忽略这个异常。 ### 9)集群部署 修改modules/datax-executor/conf/application.yml文件下admin.addresses地址。 为了方便单机版部署,项目目前没有将ip部分配置到env.properties,部署多节点时可以将整个地址作为变量配置到env文件。 将官方提供的tar包或者编译打包的tar包上传到服务节点,按照步骤5中介绍的方式单一地启动某一模块服务即可。例如执行器需要部署多个节点,仅需启动执行器项目,执行 ``` ./bin/start.sh -m datax-executor ``` 调度中心、执行器支持集群部署,提升调度系统容灾和可用性。 * 1.调度中心集群: DB配置保持一致;
集群机器时钟保持一致(单机集群忽视);
* 2.执行器集群: 执行器回调地址(admin.addresses)需要保持一致;执行器根据该配置进行执行器自动注册等操作。 同一个执行器集群内AppName(executor.appname)需要保持一致;调度中心根据该配置动态发现不同集群的在线执行器列表。 ### 10) Contact us ### QQ交流群 ![](https://datax-web.oss-cn-hangzhou.aliyuncs.com/doc/qrcode.png)