異構數據源同步工具DataX Web用戶手冊(一、安裝)


異構數據源同步工具DataX Web用戶手冊(一、安裝)

發布於 3月28日
 

DataX Web用戶手冊(一、安裝)

一、github下載master分支或者release版本到本地

DataX Web下載地址

二、安裝DataX

  • 方法一、直接下載DataX工具包:DataX下載地址

    下載后解壓至本地某個目錄,進入bin目錄,即可運行同步作業:

    $ cd {YOUR_DATAX_HOME}/bin $ python datax.py {YOUR_JOB.json}

    自檢腳本:
       python {YOUR_DATAX_HOME}/bin/datax.py {YOUR_DATAX_HOME}/job/job.json

  • 方法二、下載DataX源碼,自己編譯:DataX源碼

    (1)、下載DataX源碼:

    $ git clone git@github.com:alibaba/DataX.git

    (2)、通過maven打包:

    $ cd {DataX_source_code_home} $ mvn -U clean package assembly:assembly -Dmaven.test.skip=true

    打包成功,日志顯示如下:

    [INFO] BUILD SUCCESS [INFO] ----------------------------------------------------------------- [INFO] Total time: 08:12 min [INFO] Finished at: 2015-12-13T16:26:48+08:00 [INFO] Final Memory: 133M/960M [INFO] -----------------------------------------------------------------

    打包成功后的DataX包位於 {DataX_source_code_home}/target/datax/datax/ ,結構如下:

    $ cd {DataX_source_code_home} $ ls ./target/datax/datax/ bin conf job lib log log_perf plugin script tmp
  • 配置示例:從stream讀取數據並打印到控制台

    • 第一步、創建創業的配置文件(json格式)

      可以通過命令查看配置模板: python datax.py -r {YOUR_READER} -w {YOUR_WRITER}

      $ cd {YOUR_DATAX_HOME}/bin $ python datax.py -r streamreader -w streamwriter DataX (UNKNOWN_DATAX_VERSION), From Alibaba ! Copyright (C) 2010-2015, Alibaba Group. All Rights Reserved. Please refer to the streamreader document: https://github.com/alibaba/DataX/blob/master/streamreader/doc/streamreader.md Please refer to the streamwriter document: https://github.com/alibaba/DataX/blob/master/streamwriter/doc/streamwriter.md Please save the following configuration as a json file and use python {DATAX_HOME}/bin/datax.py {JSON_FILE_NAME}.json to run the job. { "job": { "content": [ { "reader": { "name": "streamreader", "parameter": { "column": [], "sliceRecordCount": "" } }, "writer": { "name": "streamwriter", "parameter": { "encoding": "", "print": true } } } ], "setting": { "speed": { "channel": "" } } } }

      根據模板配置json如下:

      #stream2stream.json
      {
        "job": { "content": [ { "reader": { "name": "streamreader", "parameter": { "sliceRecordCount": 10, "column": [ { "type": "long", "value": "10" }, { "type": "string", "value": "hello,你好,世界-DataX" } ] } }, "writer": { "name": "streamwriter", "parameter": { "encoding": "UTF-8", "print": true } } } ], "setting": { "speed": { "channel": 5 } } } }
    • 第二步:啟動DataX

      $ cd {YOUR_DATAX_DIR_BIN} $ python datax.py ./stream2stream.json 

      同步結束,顯示日志如下:

      ...
      2015-12-17 11:20:25.263 [job-0] INFO  JobContainer - 
      任務啟動時刻                    : 2015-12-17 11:20:15
      任務結束時刻                    : 2015-12-17 11:20:25
      任務總計耗時                    :                 10s
      任務平均流量                    :              205B/s
      記錄寫入速度                    :              5rec/s
      讀出記錄總數                    :                  50
      讀寫失敗總數                    :                   0

三、執行doc/db下面的datax_web.sql文件(注意老版本更新語句有指定庫名)

四、修改項目配置

1.修改datax_admin下resources/application.yml文件

#數據源 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 driver-class-name: com.mysql.jdbc.Driver

修改數據源配置,目前僅支持mysql

# 配置mybatis-plus打印slq日志 logging: level: com.wugui.datax.admin.mapper: error path: ./data/applogs/admin

修改日志路徑path

  # datax-web email mail: host: smtp.qq.com port: 25 username: xxx@qq.com password: xxx properties: mail: smtp: auth: true starttls: enable: true required: true socketFactory: class: javax.net.ssl.SSLSocketFactory

修改郵件發送配置(不需要可以不修改)

2.修改datax_executor下resources/application.yml文件

# log config logging: config: classpath:logback.xml path: ./data/applogs/executor/jobhandler

修改日志路徑path

datax: job: admin: ### datax-web admin address addresses: http://127.0.0.1:8080 executor: appname: datax-executor ip: port: 9999 ### job log path logpath: ./data/applogs/executor/jobhandler ### job log retention days logretentiondays: 30 executor: jsonpath: /Users/mac/data/applogs pypath: /Users/mac/tools/datax/bin/datax.py

修改datax.job配置

  • admin.addresses datax_admin部署地址,如調度中心集群部署存在多個地址則用逗號分隔,執行器將會使用該地址進行"執行器心跳注冊"和"任務結果回調";
  • executor.appname 執行器AppName,每個執行器機器集群的唯一標示,執行器心跳注冊分組依據;
  • executor.ip 默認為空表示自動獲取IP,多網卡時可手動設置指定IP,該IP不會綁定Host僅作為通訊實用;地址信息用於 "執行器注冊" 和 "調度中心請求並觸發任務";
  • executor.port 執行器Server端口號,默認端口為9999,單機部署多個執行器時,注意要配置不同執行器端口;
  • executor.logpath 執行器運行日志文件存儲磁盤路徑,需要對該路徑擁有讀寫權限;
  • executor.logretentiondays 執行器日志文件保存天數,過期日志自動清理, 限制值大於等於3時生效; 否則, 如-1, 關閉自動清理功能;
  • executor.jsonpath datax json臨時文件保存路徑
  • pypath DataX啟動腳本地址,例如:xxx/datax/bin/datax.py

如果系統配置DataX環境變量(DATAX_HOME)logpath、jsonpath、pypath可不配,log文件和臨時json存放在環境變量路徑下。

五、啟動項目

1.本地idea開發環境

  • 1.運行datax_admin下 DataXAdminApplication
  • 2.運行datax_executor下 DataXExecutorApplication

admin啟動成功后日志會輸出三個地址,兩個接口文檔地址,一個前端頁面地址

2.linux環境部署

  • 1.本地安裝好maven環境,安裝此處細節忽略
  • 2.執行mvn package -Dmaven.test.skip=true
  • 3.打包成功后分別將datax-admin、datax-executor模塊target下datax-admin-2.1.1.jar、datax-executor-2.1.1.jar放到指定目錄
  • 4.分別啟動datax-admin-1.0.0.jar、datax-executor-1.0.0.jar
  • 5.啟動命令demo:
    nohup java -Xmx1024M -Xms1024M -Xmn448M -XX:MaxMetaspaceSize=192M -XX:MetaspaceSize=192M -jar datax-admin-2.1.1.jar&
    nohup java -Xmx1024M -Xms1024M -Xmn448M -XX:MaxMetaspaceSize=192M -XX:MetaspaceSize=192M -jar datax-executor-2.1.1.jar&

六、啟動成功

啟動成功后打開頁面(默認管理員用戶名:admin 密碼:123456)
http://localhost:8080/index.html#/dashboard

七、集群部署

    • 調度中心、執行器支持集群部署,提升調度系統容災和可用性。
    • 1.調度中心集群:

      DB配置保持一致;
      集群機器時鍾保持一致(單機集群忽視);

    • 2.執行器集群:

      執行器回調地址(admin.addresses)需要保持一致;執行器根據該配置進行執行器自動注冊等操作。

      同一個執行器集群內AppName(executor.appname)需要保持一致;調度中心根據該配置動態發現不同集群的在線執行器列表。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM