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
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】博客园携手 AI 驱动开发工具商 Chat2DB 推出联合终身会员
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 终于决定:把自己家的能源管理系统开源了!
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(一):从.NET IoT入
· C#实现 Winform 程序在系统托盘显示图标 & 开机自启动
· ASP.NET Core - 日志记录系统(二)
· 实现windows下简单的自动化窗口管理