阿里巴巴離線數據同步工具/平台datax安裝、使用筆記


廢話不多說,直接上筆記,先來看下參考鏈接GitHub: https://github.com/alibaba/DataX。此鏈接有較詳細的安裝使用方法,還有json參數編寫的文檔說明,建議多看。

First,從上面的參考鏈接中下載datax,解壓完成后datax/bin目錄中就有了現成的可執行文件。但是還不能直接用,因為運行依賴於其他軟件,所以下面來看看運行要求和安裝步驟:

datax運行環境要求

Linux
JDK(1.8以上,推薦1.8)
Python(推薦Python2.6.X)
Apache Maven 3.x (Compile DataX)

所以第一步我們先要安裝上面這些軟件。

安裝步驟

安裝JDK

參考鏈接:https://www.cnblogs.com/xuliangxing/p/7066913.html

1、從官網下載系統對應JDK安裝包。

  過期示例:wget http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/jdk-8u171-linux-x64.tar.gz (下載前可能會提示你讓你Accept License Agreement,點擊同意就好)

  截至2020/3/4,官網已經改成“要求登陸”后才能下載,不過新增了RPM資源包,如果選擇rpm包,下載完成后直接執行如下命令即可進行安裝(跳過2、3、4步驟)

rpm -iv jdk-8u241-linux-x64.rpm 

 

2、解壓

  tar -zxvf jdk-8u171-linux-x64.tar.gz (免編譯安裝)

3、修改環境變量

  vim /etc/profile

  用vim編輯器來編輯profile文件,在文件末尾添加以下內容:

export JAVA_HOME=${你的解壓路徑}/jdk1.8.0_171
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}      ###(與windows類似多個系統變量需要用符號分隔;只不過這里用":", 而win用";")

  保存退出。

4、重新執行修改后的配置,使配置生效

  source /etc/profile

5、測試安裝結果

  java -version

  javac

  以上兩個命令都能正確輸出提示才是成功安裝。

安裝Python

  我的機器上已經自帶了Python2.6.6,而且很多的unix機器也都帶有Python,此處略過。如果沒有的或版本不夠的請自行安裝升級。

安裝Apache Maven 3.x

1、從官網下載系統對應壓縮包(注意:Binary tar包適用於unix系統;Source tar包適用於windows系統)

2、安裝 - 官方參考文檔

  官網下載的包也是免編譯安裝的,只要配置環境變量就行。這里我只翻譯unix系統下的設置方法,window類似。

-------------------------------------------------------------------------------------------------------------------------------------------

Unix-based Operating System (Linux, Solaris and Mac OS X) Tips

  • Check environment variable value
echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home
  • Adding to PATH
export PATH=/opt/apache-maven-3.5.3/bin:$PATH

----------------------------------------------------------------------------------------------------------------------------------------------

  第一步檢查環境。沒啥用,因為咱們在前面的步驟已經安裝過jdk了。

  第二步將apache-maven的執行文件路徑加入到系統環境變量中,以便全局調用。操作方法參考安裝jdk的第四、五步

 

最后附上我的配置

 

以上是個人總結的安裝步驟, 下面進入datax的使用介紹。

datax的使用方法簡單

python {用戶目錄}/datax/bin/datax.py ./stream2stream.json 

即可。

難的是如何配置json文件。在https://github.com/alibaba/DataX網頁中“Support Data Channels”板塊有各個數據庫的讀、寫的json參數編寫說明,請多加閱讀,只有多各個參數的解釋有了一定理解才能配制出符合業務場景的json。

json主要有兩個配置參數:content.reader和content.writer,這兩個的配置決定了讀、寫數據庫的所有配置,余下的屬於連接設置。文檔中參數說明理解起來稍微有點費勁,在編寫json過程中需要注意幾點,我以截圖划重點方式展示:

 

下面附上我的測試配置和建表DDL

SQL server 測試表:

CREATE TABLE [dbo].[Table_ysb] (
[dpdm] nvarchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[dpmc] nvarchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[bmdm] nvarchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[bmmc] nvarchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL
)
ON [PRIMARY]

 

Mysql 測試表:

CREATE TABLE `table_ysb` (
`dpdm` varchar(50) NOT NULL,
`dpmc` varchar(50) NOT NULL,
`bmdm` varchar(50) NOT NULL,
`bmmc` varchar(50) NOT NULL,
`txt` varchar(255) DEFAULT NULL,
`flag` tinyint(1) DEFAULT '0',
`total` int(11) DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

 

Table_ysb 和Table_ysb_copy表結構一致,table_ysb和table_ysb2表結構一致。

 

 PS: 注意,writer的connection.jdbcUrl只能配置一個,而reader允許多個,且必須[]起來。


免責聲明!

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



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