dataX、dataX-web安装部署 dataX集群模式

dataX安装

1、直接下载dataX.tar.gz,下载后解压至本地某个目录,进入bin目录,即可运行同步作业。
用datax自带检测脚本开始自检,自测命令:

python datax.py ../job/job.json

dataX、dataX-web安装部署 dataX集群模式_第1张图片
完成!
详见dataX安装与自测

2、下载源码后,用maven编译
详见datax安装与使用详解

由于楼主这边需要同步任务很多,这边需要装集群式dataX。即每台机器上都安装。

xshell多窗口执行命令:
1、选择排列方式,好方便同步命令时查看执行情况。
dataX、dataX-web安装部署 dataX集群模式_第2张图片
2、点击查看–>撰写–>撰写窗格dataX、dataX-web安装部署 dataX集群模式_第3张图片
dataX、dataX-web安装部署 dataX集群模式_第4张图片
至此,即可同时操作多窗口。
选择同时上传解压。

dataX-web部署

1、下载源码:

dataX Web

2 、增加存储仓库,更改配置

用idea打开后
做一下处理:
1、执行bin/db下面的datax_web.sql文件(注意更新语句有指定库名)
创建datax_web的数据库,如果是部署在linux服务器上,请先给linux安装mysql:
mysql -u用户 -p密码 查看是否有mysql。
dataX、dataX-web安装部署 dataX集群模式_第5张图片
没有的安装方式详见:安装mysql
dataX、dataX-web安装部署 dataX集群模式_第6张图片
2、修改项目配置
1.修改datax_admin下resources/application.yml文件,
将数据库改成上面你自己的datax_web数据库连接地址+修改日志配置+邮箱配置

dataX、dataX-web安装部署 dataX集群模式_第7张图片
2.修改datax_executor下resources/application.yml文件
修改日志路径,修改web(admin)服务的地址+修改executor服务的配置(主要是datax的pypath路径)

dataX、dataX-web安装部署 dataX集群模式_第8张图片
dataX、dataX-web安装部署 dataX集群模式_第9张图片
3.增加编辑启动类
dataX、dataX-web安装部署 dataX集群模式_第10张图片
如截图添加启动类:
com.wugui.datax.admin.DataXAdminApplication
dataX、dataX-web安装部署 dataX集群模式_第11张图片
com.wugui.datax.executor.DataXExecutorApplication
dataX、dataX-web安装部署 dataX集群模式_第12张图片

3 打包部署到服务器(单机):

maven install
dataX、dataX-web安装部署 dataX集群模式_第13张图片
需要部署的就是executor和admin两个jar包而已,但是直接打包这两个是不会成功的:
install admin会出现以下类似报错
Failed to execute goal on project datax-executor: Could not resolve dependencies for project com.wugui:datax-executor:jar:2.1.1: Could not find artifact com.wugui:datax-core:jar:2.1.1 in alimaven (https://maven.aliyun.com/repository/central)
从报错可以看出是是还没有install executor的关系,install executor则会出现没有install其他模块的报错。
在这里插入图片描述
最后,打所有包都打好,最后打executor、admin,然后我们只需要将executor、admin的jar包放到服务器上,然后nohup执行:
启动命令demo:nohup java -Xmx1024M -Xms1024M -Xmn448M -XX:MaxMetaspaceSize=192M -XX:MetaspaceSize=192M -jar datax-admin-2.1.1.jar --server.port=8080&

或者直接把修改好的配置的源码项目上传linux:
执行mvn package -Dmaven.test.skip=true
分别将datax-admin、datax-executor模块target下datax-admin-1.0.0.jar、datax-executor-1.0.0.jar放置需要的服务器上
分别启动datax-admin-1.0.0.jar、datax-executor-1.0.0.jar
启动命令demo:
**nohup java -Xmx1024M -Xms1024M -Xmn448M -XX:MaxMetaspaceSize=192M -XX:MetaspaceSize=192M -jar datax-admin-2.1.1.jar --server.port=8080&
nohup java -Xmx1024M -Xms1024M -Xmn448M -XX:MaxMetaspaceSize=192M -XX:MetaspaceSize=192M -jar datax-executor-2.1.1.jar **

运行出现no main manifest attribute, in datax-admin-2.1.2.jar
运行jar包提示没有主清单属性,在pom中加入插件或idea打包中设置即可。

<plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>

                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <includeSystemScope>true</includeSystemScope>
                    <mainClass>com.wugui.datax.admin.DataXAdminApplication</mainClass>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>

                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <includeSystemScope>true</includeSystemScope>
                    <mainClass>com.wugui.datax.executor.DataXExecutorApplication</mainClass>
                </configuration>
            </plugin>

4 打包部署到服务器(集群):

还是先修改代码配置:
假设有1-5号机器要做执行器。
首先1-5号机器都要装datax
然后选择一台做web服务,例如5号机。
那么配置就是:
dataX、dataX-web安装部署 dataX集群模式_第14张图片
然后1-5号机上放executor的jar包,执行命令,启动5个datax的执行器:
启动命令demo:
**nohup java -Xmx1024M -Xms1024M -Xmn448M -XX:MaxMetaspaceSize=192M -XX:MetaspaceSize=192M -jar datax-executor-2.1.1.jar **
然后5号机器还要放上admin的jar包,执行命令,启动dataxweb服务:
启动命令demo:
nohup java -Xmx1024M -Xms1024M -Xmn448M -XX:MaxMetaspaceSize=192M -XX:MetaspaceSize=192M -jar datax-admin-2.1.1.jar --server.port=8080&

启动后登陆5号机ip:8080/index.html#
账号 admin
密码 123456
进入执行器管理界面,将看到5台机器的自动注册信息。

可能出现的问题:

没有自动注册成功,手动注册也是可以的,但是一般没有自动注册成功都是有问题的,所以不建议手动注册,注册也是白费。
可以在机器上telnet一下其他机器,如果不成功,那执行任务一定会有问题。

关于telnet:
查看其他博主总结的telnet无法连接方案
这边自己做点小笔记:
1、检查有没有安装telnet:rpm -qa telnet
telnet-0.17-41.e15
【有输出说明已安装,如果没有输出则没有安装,使用yum install telnet进行安装】

2、检查有没有安装telnet-server: rpm -qa telnet-server
telnet-server-0.17-41.el5
【有输出说明已安装,如果没有输出则没有安装,使用yum install telnet-server进行安装】

3、检查有没有安装 xinetd:rpm -qa xinetd
xinetd-2.3.15-14.el7.x86_64
【有输出说明已安装,如果没有输出则没有安装,使用yum install xinetd进行安装】

在/etc/xinetd.d/下创建一个telnet文件:vim telnet

service telnet
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
}

之后重新启动xinetd扩展守护进程service xinetd restart
查看xinetd是否启动成功:ps aux | grep xinetd
在这里插入图片描述

你可能感兴趣的:(linux)