今年公司需要上一個(gè)數(shù)據(jù)分析項(xiàng)目,在考察了一番(百度一番)之后決定上datax加上datax-web的方式來(lái)進(jìn)行數(shù)據(jù)調(diào)度。
PS:寫(xiě)在前面,主要作用是為了自己以后再次(跳槽)部署而寫(xiě)下的記錄。
持續(xù)更新中... ...
一、相關(guān)環(huán)境以及需要下載的配置
1、datax3.0
注意:這里的鏈接是指向的github的開(kāi)發(fā)文檔。下載dataX需要拉到下邊的
或者這個(gè)鏈接。
https://datax-opensource.oss-cn-hangzhou.aliyuncs.com/202308/datax.tar.gz
2、jdk(jdk版本建議1.8.201以上)
這個(gè)版本我現(xiàn)在使用的是1.8.0.131目前暫時(shí)沒(méi)有發(fā)現(xiàn)問(wèn)題。等后期升級(jí)到1.8.0.301
這個(gè)是下載地址Java Downloads | Oracle有需要的自取
下載的時(shí)候拉到下邊
然后點(diǎn)擊
就直接下載了。(如果還不會(huì)就自己百度吧?。?/p>
下載完成之后點(diǎn)擊安裝然后一路next就可以了
注意如果需要安裝在D盤(pán)什么的需要操作一下具體的自行百度。
參考文章:java8的下載與安裝(網(wǎng)上教程的安裝方法)_java8下載-CSDN博客
3、python (推薦python 2.7, python 3需要修改datax相關(guān)配置)
下載相對(duì)簡(jiǎn)單:百度找到python官網(wǎng)
然后進(jìn)入之后
然后向下滑動(dòng)找到對(duì)應(yīng)的版本(因?yàn)閐ataX限制了使用2.X的版本,不過(guò)這個(gè)可以后續(xù)替換對(duì)應(yīng)的文件來(lái)實(shí)現(xiàn)使用3.X版本)
或者使用這個(gè)鏈接https://www.python.org/ftp/python/2.7.9/python-2.7.9.amd64.msi
下載完成之后點(diǎn)擊安裝然后在path環(huán)境中配置一下
對(duì)應(yīng)的環(huán)境變量就好
D:\Python27
4、mysql(本身對(duì)于版本的限制是5.7.X)
MySQL :: Download MySQL Community Server
進(jìn)去之后選擇版本、選擇、平臺(tái)、選擇系統(tǒng)位數(shù)。一系列選擇完成之后點(diǎn)擊下載msi版本
然后按照規(guī)則點(diǎn)就好了。下載完成之后點(diǎn)擊安裝
拿不準(zhǔn)的可以參考這個(gè)文章https://www.cnblogs.com/kendoziyu/p/MySQL.html
至此針對(duì)于datax和datax-web的環(huán)境就已經(jīng)安裝好了
5、其他軟件
針對(duì)上邊環(huán)境配置完成之后我們還需要數(shù)據(jù)庫(kù)的查詢(xún)軟件
在這兒我個(gè)人喜歡使用的是DBever
進(jìn)去down下來(lái)就一路next就行了
二、數(shù)據(jù)庫(kù)準(zhǔn)備
1、數(shù)據(jù)庫(kù)準(zhǔn)備以及sql錄入,系統(tǒng)表生成。
因?yàn)檫@個(gè)項(xiàng)目的數(shù)據(jù)庫(kù)使用的是mysql,且它的數(shù)據(jù)也是存在本地的(理論上也可以存在遠(yuǎn)端)。所以我們需要將數(shù)據(jù)庫(kù)配置一下。在這兒我們的datax-web開(kāi)發(fā)者們?cè)陧?xiàng)目里留了對(duì)應(yīng)的數(shù)據(jù)庫(kù)文件我們把它拿出來(lái)。位置是在他們項(xiàng)目的bin目錄下:\datax-web-master\bin\db
先創(chuàng)建一個(gè)datax_web的數(shù)據(jù)庫(kù)然后
將文件拷貝出來(lái)放在我們剛才安裝的dbever中一行一行執(zhí)行就可以了。
以上全部執(zhí)行完成之后我們就得到了這個(gè)這個(gè)web系統(tǒng)所需要的數(shù)據(jù)庫(kù)支持。
三、解壓相應(yīng)的文件
1、datax
再剛才第一步中我們下載了datax的文件以及datax-web的文件。再將datax解壓到D盤(pán)下。
2、datax-web
解壓datax-web文件之后生成一個(gè)
文件夾這個(gè)文件夾是其項(xiàng)目開(kāi)發(fā)的文件夾。在這個(gè)時(shí)候我們是不能直接使用的。切記
四、datax-web項(xiàng)目配置
官方原文檔:
https://github.com/WeiYe-Jing/datax-web/blob/master/userGuid.md
官方給出的開(kāi)發(fā)環(huán)境部署:
https://github.com/WeiYe-Jing/datax-web/files/5082018/datax-web.Debug.pdf
這是官方部署文檔參考第三點(diǎn),在此我進(jìn)行一些簡(jiǎn)單說(shuō)明。
這些地址必須和你本地的地址相對(duì)應(yīng)。
在這些操作完成之后就可以試著在IDEA上邊啟動(dòng)項(xiàng)目。(如果不行就去找找兩個(gè)application文件是否配置錯(cuò)誤)
五、windows使用環(huán)境部署&踩坑實(shí)錄
對(duì)于這個(gè)項(xiàng)目在windows服務(wù)器上部署的時(shí)候我們需要將項(xiàng)目進(jìn)行maven打包。并且java -jar
一下。
1、打包
首先基于前四步我們?cè)趇dea上成功的運(yùn)行起來(lái)了datax-web。那么在這個(gè)里邊我們需要對(duì)項(xiàng)目進(jìn)行打包
按照上圖進(jìn)行打包。不出意外都可以進(jìn)行打包
2、CMD啟動(dòng)
然后放到服務(wù)器或者對(duì)應(yīng)的機(jī)器上CMD然后進(jìn)行Java-jar執(zhí)行
如果提示沒(méi)有主目錄清單,
那么需要我們分別在datax-admin和datax-executor下面的pom.xml文件中添加
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<excludes>
<exclude>**/*.yml</exclude>
<exclude>**/*.properties</exclude>
<exclude>**/*.sh</exclude>
<exclude>**/*.xml</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!--在這個(gè)地方不經(jīng)要增加依賴(lài)并且還要聲明版本-->
<version>2.3.0.RELEASE</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
因?yàn)橹坝行┠K的打包插件的版本也沒(méi)有添加是可以正常使用的,但是今天突然不行了,后來(lái)發(fā)現(xiàn)spring boot 3.0版最近正式發(fā)布了,3.0版是基于java 17 的,不指定的話(huà),默認(rèn)引用最新的導(dǎo)致這種問(wèn)題的發(fā)生,所以大家做的時(shí)候,所有模塊的打包插件的版本一定要指定一下,避免出現(xiàn)這種問(wèn)題,當(dāng)然這個(gè)版本號(hào)最好在總的pom文件中定義一下,子模塊中直接引用就可以了,不用在每個(gè)子模塊中一一定義了。
添加完成之后重新執(zhí)行一下上一步打包。
3、啟動(dòng)問(wèn)題
在此我引用大佬的文章:datax-web在windows環(huán)境idea中模塊化打包部署操作步驟_datax打包-CSDN博客
3.1、當(dāng)我們按照上一步將jar包放到系統(tǒng)中的時(shí)候執(zhí)行并且執(zhí)行生成的datax-admin-2.1.2.jar和datax-executor-2.1.2.jar,結(jié)果還是報(bào)錯(cuò)。
datax-admin-2.1.2.jar報(bào)錯(cuò)如下:
datax-executor-2.1.2.jar報(bào)錯(cuò)如下:
發(fā)現(xiàn)問(wèn)題:打包后的datax-admin.2.1.2.jar和datax-executor.2.1.2.jar包缺少配置文件,應(yīng)把配置文件補(bǔ)充進(jìn)jar包。
3.2、將datax-admin下的所有配置資源拷貝進(jìn)datax-admin-2.1.2.jar的相關(guān)目錄中。具體 如下:
1)將idea中的datax-admin下的classes下的配置文件application.yml、bootstrap.properties、logback.xml拷貝進(jìn)datax-admin-2.1.2.jar下的BOOT-INF\classes下。
2)將datax-admin下的target/classes/i8n下的message.properties和message_en.properties拷貝進(jìn)datax-admin-2.1.2.jar下的BOOT-INF\classes\i18n下
3)將將datax-admin下的target/classes/mybatis-mapper下的所有xml文件拷貝進(jìn)datax-admin-2.1.2.jar下的BOOT-INF\classes\mybatis-mapper下
4)將idea中的datax-executor編譯生成后的classes下的配置文件application.yml、logback.xml拷貝進(jìn)datax-executor-2.1.2.jar下的BOOT-INF\classes下。
5)在此時(shí)我們執(zhí)行cmd就可以成功啟動(dòng)項(xiàng)目,但是因?yàn)閿?shù)據(jù)庫(kù)支持的驅(qū)動(dòng)還沒(méi)有導(dǎo)入項(xiàng)目所以我們需要將數(shù)據(jù)庫(kù)支持的驅(qū)動(dòng)一起導(dǎo)入到項(xiàng)目中。
我們把缺少的3個(gè)jar包,補(bǔ)充進(jìn)datax-admin-2.1.2.jar下的BOOT-INF\lib下。
注意:補(bǔ)充進(jìn)的時(shí)候需要設(shè)置不壓縮直接存儲(chǔ),否則會(huì)報(bào)錯(cuò),不識(shí)別壓縮的驅(qū)動(dòng)jar包
重新CMD一下然后執(zhí)行文件就好
六、項(xiàng)目使用
這是大佬的文章
datax和datax_web的搭建與入門(mén)使用(windows版本)_datax web-CSDN博客
七、項(xiàng)目使用中的問(wèn)題點(diǎn)記錄
1、MySQL插入中文問(wèn)題。
按照部署步驟部署好項(xiàng)目之后,開(kāi)心的啟動(dòng)了項(xiàng)目。首先遇到的第一個(gè)問(wèn)題就是本來(lái)想使用本地安裝的MySQL來(lái)測(cè)試一下數(shù)據(jù)調(diào)度。然后馬上就出來(lái)了一個(gè)中文識(shí)別的問(wèn)題。
1.1、解決辦法
MySQL對(duì)應(yīng)的url后邊增加對(duì)應(yīng)的參數(shù)。
?useSSL=false&useUnicode=true&characterEncoding=utf8
這樣就可以解決后續(xù)生成的中文參數(shù)的問(wèn)題。
為什么要說(shuō)后續(xù)。因?yàn)樵镜哪莻€(gè)生成的任務(wù)還是會(huì)中文輸入錯(cuò)誤。
在觀看日志之后發(fā)現(xiàn)之前生成的Json并沒(méi)有隨著我數(shù)據(jù)源的更新而更新。
這應(yīng)該是之前web開(kāi)發(fā)者沒(méi)有注意到的細(xì)節(jié)吧。勉強(qiáng)算是一個(gè)bug(要什么自行車(chē))
所以更新一下
就可以正常錄入了
2、在有總bps限速條件下,單個(gè)channel的bps值不能為空,也不能為非正數(shù)
在默認(rèn)生成的模板中有對(duì)每個(gè)通道的速度限制。把速度限制刪除掉就可以了。
具體原因是為什么暫時(shí)還沒(méi)有找到。但是再查找文檔的時(shí)候許多文檔都是只寫(xiě)了通道數(shù)并沒(méi)有限制傳輸速度。
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-830501.html
但是將對(duì)應(yīng)的速度限制去掉之后就可以正常使用。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-830501.html
到了這里,關(guān)于dataX3.0和datax-web部署實(shí)踐踩坑記錄(windows版)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!