天天看點

datax、datax-web分布式安裝部署

1安裝datax

下載下傳datax.tar.gz

http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz

1.1解壓datax包

cd /app/datax

tar -zxvf datax.tar.gz
           

1.2驗證datax是否成功

進入到datax安裝目錄執行

bin/datax.py job/job.json
           

如下圖就是成功

datax、datax-web分布式安裝部署

1.3解決datax不支援HA問題,将叢集配置問價加入hdfswriter

說明:datax遷移資料,本身是reader讀取,writer寫。hdfswrier寫入hdfs的時候,讀不到ha叢集的配置,是以将叢集的hdfs-site.xml從叢集中拿出來,添加到hdfswriter中去。以下是詳細步驟。(hdfsreader同理,根據自己的需求去配置)

l 查找hdfs-site.xml和core-site.xml

find / -name hdfs-site.xml

l 進入目錄将這兩個檔案取出

cd /etc/hadoop/3.1.0.0-78/0/

[外鍊圖檔轉存失敗,源站可能有防盜鍊機制,建議将圖檔儲存下來直接上傳(img-GeMl7xl8-1595235371980)(E:\tools\安裝目錄\markfiles\本地圖檔\wps105.jpg)]

l 安裝lrzsz快捷工具

yum install -y lrzsz

l 用sz hdfs-site.xml , sz core-site.xml将檔案依次取出到桌面

datax、datax-web分布式安裝部署

l 用sz取出datax中的hdfswriter包;

cd /app/datax/datax/plugin/writer/hdfswriter/

執行sz hdfswriter-0.0.1-SNAPSHOT.jar

datax、datax-web分布式安裝部署

l 然後進行進行備份

mv hdfswriter-0.0.1-SNAPSHOT.jar hdfswriter-0.0.1-SNAPSHOT.jar_bk

此時取出的總共4個檔案(hive-site.xml缺少無妨)

datax、datax-web分布式安裝部署

l 将取出的xxx.xml檔案用解壓工具winRAR放入包中

datax、datax-web分布式安裝部署

l 然後将hdfswriter-0.0.1-SNAPSHOT.jar重新放入叢集的/app/datax/plugin/writer/hdfswriter這個位置

datax、datax-web分布式安裝部署

以上操作都在datax主節點(yuanjing02)完成

l 将主節點datax檔案夾發送到其餘節點yuanjing01,04的/app/datax下

scp -r /opt/datax yuanjing01:/app/datax/

scp -r /opt/datax yuanjing04:/app/datax

安裝datax-web

l 步驟0解壓datax-web包

cd /app/datax/

tar -xvf datax-web.tar.gz

若沒有datax-web包,可以直接git

yum install -i git -y

git clone https://github.com/WeiYe-Jing/datax-web.git

l 步驟1在mysql中建立中繼資料(mysql根據自己叢集mysql而定這裡以yuanjing03為例)

将解壓出來的檔案中的datax_web.sql發送到mysql所在節點;

scp /app/datax/datax-web/doc/db/datax_web.sql yuanjing03:/app/datax

進入mysql所在節點mysql -uroot -p

create database datax_web;

use data_web;

source /app/datax/datax_web.sql;

datax、datax-web分布式安裝部署

修改datax-admin下的配置檔案

vim /app/datax/datax-web/datax-admin/src/main/resources/application.yml
datax、datax-web分布式安裝部署

l 步驟2.修改datax-executor配置,這裡我們先為yuanjing04安裝executor

vim /app/datax/datax-web/datax-executor/src/main/resources/application.yml
datax、datax-web分布式安裝部署

l 步驟3進入datax-web檔案夾,用maven打包;

cd /app/datax/datax-web

mvn clean

mvn package -Dmaven.test.skip=true

打包後/app/datax/datax-web/datax-executor和/app/datax/datax-web/datax-admin

target下會出現一個datax-executor-2.1.1.jar 和datax-admin-2.1.1.jar

l 步驟4 安裝executor到yuanjing04節點上

cd /app/datax/datax-web/datax-executor

将 datax-executor-2.1.1.jar發送到yuanjing04,01節點

.

scp datax-executor-2.1.1.jar yuanjing04:/app/datax/datax-web

l 重複步驟2、3、4将datax-executor-2.1.1.jar發送到yuanjing01節點

l yuanjing02節點上executor隻需重複步驟2、3

然後将 admin execuotr的jar移動到 /opt/datax

cp /app/datax/datax-web/datax-admin/target/datax-admin-2.1.1.jar /app/datax

cp /app/datax/datax-web/datax-executor/target/datax-executor-2.1.1.jar /app/datax

l 啟動

l 編寫啟動腳本 datax-web.sh scp發送到所有安裝datax-web 的節點/app/datax/

vim datax-web.sh

#!/bin/sh

#$1 為admin 或者executor

ps -ef | grep $1 | grep -v grep > /tmp/dataxtmp.log

a=`awk '{print $15}' /tmp/dataxtmp.log`

if [[ $a == datax-$1-2.1.1.jar ]]

​        then

​          echo "datax-$1 is running"

else

​        echo "datax-$1 is restaring"

​        nohup java -Xmx1024M -Xms1024M -Xmn448M -XX:MaxMetaspaceSize=192M -XX:MetaspaceSize=192M -jar datax-$1-2.1.1.jar&

sleep 3

Fi
           

l 啟動定時任務

說明:(定時服務隻是為了防止executor意外退出,定時腳本可以失敗重新開機)不是生産環境可以省略,下面定時也是如此

在yuanjing02 (admin)上 /app/datax/下執行以下指令

sh dataxserver.sh admin

sh dataxserver.sh executor

crontab -e
*/30 * * * * /opt/datax-web/**datax-web.sh admin**

*/30 * * * * /opt/datax-web/**datax-web.sh executor**
           

l 在yuangjing01,04 (executor) /app/datax下執行,并添加定時

sh dataxserver.sh executor

crontab -e

*/30 * * * * /opt/datax-web/datax-web.sh executor

l 登入界面 admin 123456(預設)

http://${hostnameIP}:8080/index.html#/dashboard

說明:${hostnameIP}為自己伺服器ip

添加執行器

datax、datax-web分布式安裝部署

若重複指定執行器,請資料苦衷修改groupid 1,2,3

datax、datax-web分布式安裝部署

l 登入界面 admin 123456(預設)

http://192.168.1.202:8080/index.html#/dashboard

添加執行器

datax、datax-web分布式安裝部署

若重複指定執行器,請資料苦衷修改groupid 1,2,3

datax、datax-web分布式安裝部署

至此,datax 、datax-web安裝完畢!

繼續閱讀