linux搭建datax、datax-web


linux搭建datax、datax-web

一、所需組件

1、jdk1.8

2、mysql5.7

3、python2.7

4、datax

5、datax-web

二、開始安裝

1、安裝jdk

mkdir -p /export/server/     軟件安裝目錄

jdk安裝配置環境配置
將jdk安裝包上傳到 /export/server/
將壓縮包解壓到當前目錄

tar -zxvf jdk-8u291-linux-x64.tar.gz

 

將無用的安裝包刪除

rm -rf jdk-8u291-linux-x64.tar.gz

 

配置環境變量

vim /etc/profile

 

在文件最后面加上

export JAVA_HOME=/export/server/jdk1.8.0_291
export PATH=$PATH:$JAVA_HOME/bin

 

重新加載profile文件

source /etc/profile

 

測試jdk是否配置成功

java -version

2、安裝mysql5.7

下載地址:https://dev.mysql.com/downloads/file/?id=509630

將mysql-5.7.37-1.el7.x86_64.rpm-bundle.tar上傳到軟件安裝目錄
解壓

tar -xvf mysql-5.7.37-1.el7.x86_64.rpm-bundle.tar

 

安裝

yum install mysql-community-{libs,client,common,server}-*.rpm

 

出現選項,輸入y
啟動mysql服務

systemctl start mysqld

 

更改MySQL服務的數據編碼

vim /etc/my.cnf

 

最下面一行加入

character-set-server=utf8

 

重新啟動服務

systemctl restart mysqld

 

顯示mysql日志

cat /var/log/mysqld.log

 

查看mysql臨時密碼

grep -i "temporary password" /var/log/mysqld.log

 

登錄mysql,用臨時密碼登錄

mysql -uroot -p

 

然后輸入密碼
進入數據庫后,更改密碼,不然無法進行操作
更改密碼前,先更改mysql密碼安全級別,默認長度

set global validate_password_policy=0;
set global validate_password_length=4;

 

然后更改mysql密碼

alter user root@localhost identified by '123456';

 

然后測試MySQL語句能否使用

show databases;

 

成功后輸入:exit;退出mysql
然后重新登錄,輸入新密碼,登錄成功

注意:如果本機客戶端無法登錄mysql需要進行以下操作

1)、關閉防火牆

systemctl stop firewalld.service

 

禁用防火牆

systemctl disable firewalld.service

 

查看當前狀態(出現dead表示成功)

systemctl status firewalld.service

2)、給root用戶所有權限,這樣就可以在客戶端進行修改

grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
flush privileges;

3、安裝python2.7

下載地址:https://www.python.org/ftp/python/

安裝依賴庫

yum install gcc g++ zlib zlib-devel openssl-devel

解壓

tar -zxvf Python-2.7.14.tgz

創建安裝文件夾

mkdir /usr/local/python27

編譯安裝

cd Python-2.7.14

./configure --prefix=/usr/local/python27/
make && make install

安裝完成之后進入目錄,里面顯示4個目錄bin include lib share

cd /usr/local/python27/

ll 

進入到bin目錄下

cd bin/

輸入python,顯示相關版本說明安裝成功

python

創建鏈接

刪除之前的鏈接

rm -rf /usr/bin/python /usr/bin/python2

創建新的鏈接

ln -s /usr/local/python27/bin/python2.7 /usr/bin/python
ln -s /usr/local/python27/bin/python2.7 /usr/bin/python2
ln -s /usr/local/python27/bin/python2.7 /usr/bin/python27
ln -s /usr/local/python27/bin/python2.7 /usr/bin/python2.7

輸入python查看是否成功

創建新鏈接導致yum失效的解決方法

修改yum命令的文件

vim /usr/bin/yum

4、安裝datax工具包

datax工具包下載地址:http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz

將安裝包上傳到服端的/export/server目錄下

解壓

tar -xvf datax.tar

測試工具包

可以在本地數據庫創建兩個表

CREATE TABLE `table1` (
`id` int(10) NULL DEFAULT NULL,
`name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

 

CREATE TABLE `table2` (
`id` int(10) NULL DEFAULT NULL,
`name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

 

INSERT INTO `table1` VALUES (1, '張三');
INSERT INTO `table1` VALUES (2, '李四');
INSERT INTO `table1` VALUES (3, '李逵');
INSERT INTO `table1` VALUES (4, '王弼');
INSERT INTO `table1` VALUES (5, '張梅');
INSERT INTO `table1` VALUES (6, '小寒');
INSERT INTO `table1` VALUES (7, '韓裔');
INSERT INTO `table1` VALUES (8, '郭丹');

在/export/server/datax/job新建一個json文件,我這里直接修改原job.json文件

{
    "job": {
        "content": [
            {
                "reader": {
                    "name": "mysqlreader",
                    "parameter": {
                        "username": "root",
                        "password": "123456",
                        "column": [
                            "id",
                            "name"
                        ],
                        "connection": [
                            {
                                "table": [
                                    "table1"
                                ],
                                "jdbcUrl": [
                                    "jdbc:mysql://localhost/datax?characterEncoding=utf8"
                                ]
                            }
                        ]
                    }
                },
                "writer": {
                    "name": "mysqlwriter",
                    "parameter": {
                        "username": "root",
                        "password": "123456",
                        "column": [
                            "id",
                            "name"
                        ],
                        "connection": [
                            {
                                "table": [
                                    "table2"
                                ],
                                "jdbcUrl": "jdbc:mysql://localhost/datax?characterEncoding=utf8"
                            }
                        ]
                    }
                }
            }
        ],
        "setting": {
            "speed": {
                "channel": 1,
                "byte": 104857600
            },
            "errorLimit": {
                "record": 10,
                "percentage": 0.05
            }
        }
    }
}

然后將/export/server/datax/plugin目錄下所有帶._的文件全部刪除,否則數據讀取寫入時會報錯

然后切換到/export/server/datax/bin目錄下

cd /export/server/datax/bin

執行json腳本

 python datax.py ../job/job.json

執行成功開始下一步

5、安裝datax-web工具包

下載地址:https://pan.baidu.com/s/13yoqhGpD00I82K4lOYtQhg 提取碼:cpsk

將安裝包上傳到服端的/export/server目錄下

解壓

tar -xvf datax-web-2.1.2.tar

cd /export/server/datax-web-2.1.2

安裝

./bin/install.sh --force

如果你的服務上安裝有mysql命令,在執行安裝腳本的過程中則會出現以下提醒:

Scan out mysql command, so begin to initalize the database
Do you want to initalize database with sql: [{INSTALL_PATH}/bin/db/datax-web.sql]? (Y/N)y
Please input the db host(default: 127.0.0.1):
Please input the db port(default: 3306):
Please input the db username(default: root):
Please input the db password(default: ):
Please input the db name(default: exchangis)

以上分別是安裝確認,默認ip,端口,用戶名,密碼,數據庫(一般只需要填一下密碼即可)

按照提示輸入數據庫地址,端口號,用戶名,密碼以及數據庫名稱,大部分情況下即可快速完成初始化。 如果服務上並沒有安裝mysql命令,則可以取用目錄下/bin/db/datax-web.sql腳本去手動執行,完成后修改相關配置文件

vi ./modules/datax-admin/conf/bootstrap.properties

#Database
#DB_HOST=
#DB_PORT=
#DB_USERNAME=
#DB_PASSWORD=
#DB_DATABASE=

修改datax-executor配置文件,更改ip和python(python是你運行datax.py的路徑)

vim ./modules/datax-executor/conf/application.yml

然后啟動datax-web

./bin/start-all.sh

運行:

部署完成后,在瀏覽器中輸入 http://ip:port/index.html 就可以訪問對應的主界面

注意:如果遇到mysql添加數據源出錯,需要在jdbc:mysql://{host}:{port}/{database}后面添加?useSSL=false

 


免責聲明!

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



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