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

 

posted @   左叔  阅读(2483)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 终于决定:把自己家的能源管理系统开源了!
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(一):从.NET IoT入
· C#实现 Winform 程序在系统托盘显示图标 & 开机自启动
· ASP.NET Core - 日志记录系统(二)
· 实现windows下简单的自动化窗口管理
点击右上角即可分享
微信分享提示