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