windows部署DataX及运行dataX_WEB

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: windows部署DataX及运行dataX_WEB

1、需要的环境

安装JDK(1.8 以上,推荐 1.8)


Python(推荐 Python2.6.X) 使用国内镜像:http://npm.taobao.org/mirrors/


安装maven


安装mysql


idea


2、下载部署dataX


其中bin目录是脚本目录,job下存放的json文件就是用来运行的。

测试:

进入bin目录

python datax.py D:\datax\datax\datax\job\job.json


这里的输出结果是乱码,所以这里再提供一种用java运行脚本的方法。可以选择idea运行

package com.tjcu;
import java.io.BufferedReader;
import java.io.File;
import java.io.InputStreamReader;
public class TestDatax {
    public static void main(String[] args) {
        try {
            String windowcmd = "cmd /c python datax.py  D:\\datax\\datax\\datax\\job\\job.json";
            //.exec("你的命令",null,new File("datax安装路径"));
            Process pr = Runtime.getRuntime().exec(windowcmd,null,new File("D:\\datax\\datax\\datax\\bin"));
            BufferedReader in = new BufferedReader(new InputStreamReader(pr.getInputStream()));
            String line = null;
            while ((line = in.readLine()) != null) {
                System.out.println(line);
            }
            in.close();
            pr.waitFor();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}


第二种方法就是先输入:


打开cmd,首先输入 CHCP 65001 防止中文乱码

在在job文件夹中,修改job.json

{
  "job": {
    "content": [
      {
        "reader": {
          "name": "streamreader",
          "parameter": {
            "sliceRecordCount": 10,
            "column": [
              {
                "type": "long",
                "value": "10"
              },
              {
                "type": "string",
                "value": "hello,你好,王恒杰"
              }
            ]
          }
        },
        "writer": {
          "name": "streamwriter",
          "parameter": {
            "encoding": "UTF-8",
            "print": true
          }
        }
      }
    ],
    "setting": {
      "speed": {
        "channel": 5
       }
    }
  }
}


3、datax-web运行

  • 打开idea,打开项目,安装maven依赖


  • mysql数据库导入,新建datax_web数据库,然后找到bin/db/datax_web.sql。导入数据库,这里我用的工具是 navicat


需要修改2两个yml。我的修改如下


第一个路径在,datax-admin/src/main/resoures/application.yml。其中数据库地址和用户名密码用自己的

#第一个路径在,datax-admin/src/main/resoures/application.yml。其中数据库地址和用户名密码用自己的
server:
  port: 8080
  #port: ${server.port}
spring:
  #数据源
  datasource:
    #    username: root
    #password: root
    #url: jdbc:mysql://localhost:3306/datax_web?serverTimezone=Asia/Shanghai&useLegacyDatetimeCode=false&useSSL=false&nullNamePatternMatchesAll=true&useUnicode=true&characterEncoding=UTF-8
    password: admin
    username: 1111
    #url: jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_DATABASE:dataxweb}?serverTimezone=Asia/Shanghai&useLegacyDatetimeCode=false&useSSL=false&nullNamePatternMatchesAll=true&useUnicode=true&characterEncoding=UTF-8
    #driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/datax_web
    driver-class-name: com.mysql.cj.jdbc.Driver
    hikari:
      ## 最小空闲连接数量
      minimum-idle: 5
      ## 空闲连接存活最大时间,默认600000(10分钟)
      idle-timeout: 180000
      ## 连接池最大连接数,默认是10
      maximum-pool-size: 10
      ## 数据库连接超时时间,默认30秒,即30000
      connection-timeout: 30000
      connection-test-query: SELECT 1
      ##此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认1800000即30分钟
      max-lifetime: 1800000
  # datax-web email
  mail:
    host: smtp.qq.com
    port: 25
    #username: xxx@qq.com
    #password: xxx
    username: 1078993387@qq.com
    password: qq密码
    properties:
      mail:
        smtp:
          auth: true
          starttls:
            enable: true
            required: true
        socketFactory:
          class: javax.net.ssl.SSLSocketFactory
management:
  health:
    mail:
      enabled: false
  server:
    servlet:
      context-path: /actuator
mybatis-plus:
  # mapper.xml文件扫描
  mapper-locations: classpath*:/mybatis-mapper/*Mapper.xml
  # 实体扫描,多个package用逗号或者分号分隔
  #typeAliasesPackage: com.yibo.essyncclient.*.entity
  global-config:
    # 数据库相关配置
    db-config:
      # 主键类型  AUTO:"数据库ID自增", INPUT:"用户输入ID", ID_WORKER:"全局唯一ID (数字类型唯一ID)", UUID:"全局唯一ID UUID";
      id-type: AUTO
      # 字段策略 IGNORED:"忽略判断",NOT_NULL:"非 NULL 判断"),NOT_EMPTY:"非空判断"
      field-strategy: NOT_NULL
      # 驼峰下划线转换
      column-underline: true
      # 逻辑删除
      logic-delete-value: 0
      logic-not-delete-value: 1
      # 数据库类型
      db-type: mysql
    banner: false
  # mybatis原生配置
  configuration:
    map-underscore-to-camel-case: true
    cache-enabled: false
    call-setters-on-nulls: true
    jdbc-type-for-null: 'null'
    type-handlers-package: com.wugui.datax.admin.core.handler
# 配置mybatis-plus打印sql日志
logging:
  #level:
  #  com.wugui.datax.admin.mapper: info
  #path: ./data/applogs/admin
  level:
    com.wugui.datax.admin.mapper: error
    #path: ${data.path}/applogs/admin
    path: ./data/applogs/admin
#datax-job, access token
datax:
  job:
    accessToken:
    #i18n (default empty as chinese, "en" as english)
    i18n:
    ## triggerpool max size
    triggerpool:
      fast:
        max: 200
      slow:
        max: 100
      ### log retention days
    logretentiondays: 30
datasource:
  aes:
    key: AD42F6697B035B75

第二个applicataion,地址为:datax-executor/src/main/resoures/application.yml

#第二个applicataion,地址为:datax-executor/src/main/resoures/application.yml
# web port
server:
  #  port: ${server.port}
  port: 8081
# log config
logging:
  config: classpath:logback.xml
  #  path: ${data.path}/applogs/executor/jobhandler
  path: ./data/applogs/executor/jobhandler
datax:
  job:
    admin:
      ### datax admin address list, such as "http://address" or "http://address01,http://address02"
      #addresses: http://127.0.0.1:8080
      #addresses: http://127.0.0.1:${datax.admin.port}
      addresses: http://127.0.0.1:8080
    executor:
      appname: datax-executor
      ip:
      port: 9999
      #port: ${executor.port:9999}
      ### job log path
      logpath: ./data/applogs/executor/jobhandler
      #logpath: ${data.path}/applogs/executor/jobhandler
      ### job log retention days
      logretentiondays: 30
    ### job, access token
    accessToken:
  executor:
    #jsonpath: D:\\temp\\executor\\json\\
    jsonpath: D:\datax\datax\datax\bin
  #pypath: D:\datax\datax\datax\bin\datax.py
  pypath: D:\datax\datax\datax\bin\datax.py


然后首先运行主应用datax-admin,其次运行执行器 datax-executor


初始账号/密码是:admin/123456


Local-API:http://127.0.0.1:8080/doc.html


External-API: http://192.168.43.64:8080/doc.html


web-URL: http://127.0.0.1:8080/index.html


相关文章
|
8天前
|
Windows Python
python获取windows机子上运行的程序名称
python获取windows机子上运行的程序名称
|
1月前
|
Windows
Windows操作系统部署安装Kerberos客户端
详细介绍了在Windows操作系统上部署安装Kerberos客户端的完整过程,包括下载安装包、安装步骤、自定义安装路径、修改环境变量、配置hosts文件和Kerberos配置文件,以及安装后的验证步骤。
45 3
Windows操作系统部署安装Kerberos客户端
|
1月前
|
前端开发 JavaScript
构建你的第一个Web应用:从零到部署
【8月更文挑战第33天】 在这篇文章中,我们将一起踏上构建一个基本Web应用的旅程。不同于传统的“安装这个、运行那个”教程,我们的目标是通过理解每一步的意义和目的来深化你的技术理解。我们将探索HTML、CSS、JavaScript的基础,并学习如何将它们结合起来创建一个简单的个人网站。接着,我们会介绍如何使用GitHub Pages进行免费部署,让你的应用上线。准备好了吗?让我们开始吧!
|
9天前
|
小程序 Windows
MASM32编写的程序在Windows 7,10下运行正常,但在Win XP下运行时只闻其声不见其形的故障
MASM32编写的程序在Windows 7,10下运行正常,但在Win XP下运行时只闻其声不见其形的故障
|
1月前
|
负载均衡 网络协议 应用服务中间件
web群集--rocky9.2源码部署nginx1.24的详细过程
Nginx 是一款由 Igor Sysoev 开发的开源高性能 HTTP 服务器和反向代理服务器,自 2004 年发布以来,以其高效、稳定和灵活的特点迅速成为许多网站和应用的首选。本文详细介绍了 Nginx 的核心概念、工作原理及常见使用场景,涵盖高并发处理、反向代理、负载均衡、低内存占用等特点,并提供了安装配置教程,适合开发者参考学习。
|
2月前
|
Java UED 自然语言处理
Struts 2 国际化竟有如此神奇魔力?快来揭开多语言支持的 Web 应用神秘面纱
【8月更文挑战第31天】在全球化背景下,Web应用需适应多种语言环境。Struts 2凭借其强大的国际化(i18n)支持,简化了多语言应用开发。通过不同语言的资源文件,它能自动匹配用户语言偏好,优化用户体验并扩展用户群。下面是一个示例:创建`messages.properties`(英语)与`messages_zh_CN.properties`(中文),并在Struts 2的Action类及JSP页面中调用`getText()`方法及Struts标签展示相应语言内容。此外,在struts.xml中指定资源文件,以确保框架正确加载对应语言包。通过这些步骤,开发者可以轻松实现应用的多语言支持。
52 0
|
2月前
|
Java 数据库 API
JSF与JPA的史诗级联盟:如何编织数据持久化的华丽织锦,重塑Web应用的荣耀
【8月更文挑战第31天】JavaServer Faces (JSF) 和 Java Persistence API (JPA) 分别是构建Java Web应用的用户界面组件框架和持久化标准。结合使用JSF与JPA,能够打造强大的数据驱动Web应用。首先,通过定义实体类(如`User`)和配置`persistence.xml`来设置JPA环境。然后,在JSF中利用Managed Bean(如`UserBean`)管理业务逻辑,通过`EntityManager`执行数据持久化操作。
38 0
|
2月前
|
Java 开发者 关系型数据库
JSF与AWS的神秘之旅:如何在云端部署JSF应用,让你的Web应用如虎添翼?
【8月更文挑战第31天】在云计算蓬勃发展的今天,AWS已成为企业级应用的首选平台。本文探讨了在AWS上部署JSF(JavaServer Faces)应用的方法,这是一种广泛使用的Java Web框架。通过了解并利用AWS的基础设施与服务,如EC2、RDS 和 S3,开发者能够高效地部署和管理JSF应用。文章还提供了具体的部署步骤示例,并讨论了使用AWS可能遇到的挑战及应对策略,帮助开发者更好地利用AWS的强大功能,提升Web应用开发效率。
51 0
|
2月前
|
JavaScript 搜索推荐 前端开发
从零搭建到部署:Angular与Angular Universal手把手教你实现服务器端渲染(SSR),全面解析及实战指南助你提升Web应用性能与SEO优化效果
【8月更文挑战第31天】服务器端渲染(SSR)是现代Web开发的关键技术,能显著提升SEO效果及首屏加载速度,改善用户体验。Angular Universal作为官方SSR解决方案,允许在服务器端生成静态HTML文件。本文通过具体示例详细介绍如何使用Angular Universal实现SSR,并分享最佳实践。首先需安装Node.js和npm。
29 0
|
2月前
|
监控 应用服务中间件 网络安全
FastAPI部署大揭秘!如何从代码到云端,让你的Web应用华丽变身生产环境之星?
【8月更文挑战第31天】FastAPI是一款基于Python 3.6+异步特性的高性能Web框架,深受开发者喜爱。本文详细介绍了将FastAPI应用部署到生产环境的过程,包括准备应用、使用Uvicorn测试、配置Gunicorn和Nginx、设置反向代理及监控日志等关键步骤。通过这些步骤,确保应用安全高效地运行在生产环境中,实现高性能与高可扩展性。
103 0

热门文章

最新文章

下一篇
无影云桌面