如何做淘宝店网站,如何百度收录自己的网站,网络系统建设与运维高级,济南 微网站DataX-web的环境准备 MySQL (5.5) 必选#xff0c;对应客户端可以选装, Linux服务上若安装mysql的客户端可以通过部署脚本快速初始化数据库 JDK (1.8.0_xxx) 必选 DataX 必选 Python (2.x) (支持Python3需要修改替换datax/bin下面的三个python文件#xff0c;替换文件在do…DataX-web的环境准备 MySQL (5.5) 必选对应客户端可以选装, Linux服务上若安装mysql的客户端可以通过部署脚本快速初始化数据库 JDK (1.8.0_xxx) 必选 DataX 必选 Python (2.x) (支持Python3需要修改替换datax/bin下面的三个python文件替换文件在doc/datax-web/datax-python3下) 必选主要用于调度执行底层DataX的启动脚本默认的方式是以Java子进程方式执行DataX用户可以选择以Python方式来做自定义的改造
安装部署MySQL
yum -y install https://repo.mysql.com/mysql80-community-release-el7-7.noarch.rpm
#修改yum文件
vim mysql-community.repo
# Enable to use MySQL 5.7
[mysql57-community]
nameMySQL 5.7 Community Server
baseurlhttp://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch
enabled1
gpgcheck1
gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
这个enable后面参数修改为1其他的源全部修改为0。
#安装MySQL
yum -y install mysql-community-server
#启动mysql
systemctl start mysqld.service
systemctl enable mysqld.service
#查询MySQL的密码
grep password /var/log/mysqld.log
#登录MySQL并修改密码和密码策略
mysql -uroot -p
alter user rootlocalhost identified by 1234Qaz.
set global validate_password_policy0; #设置密码策略为LOW
set global validate_password_length1; #设置密码长度为1
#修改MySQL配置文件
vim /etc/my.cnf
...
#添加以下内容
validate_password_policy0
validate_password_length1
#重启mysql
systemctl restart mysqld
#修改密码
mysql -uroot -p
alter user rootlocalhost identified by 1234;
安装JDK
yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-develDataX安装部署
1. DataX介绍
1.1 什么是 DataX DataX 是阿里巴巴开源的一个异构数据源离线同步工具致力于实现包括关系型数据库(MySQL、Oracle 等)、HDFS、Hive、ODPS、HBase、FTP 等各种异构数据源之间稳定高效的数据同步功能。
1.2. DataX 的设计
为了解决异构数据源同步问题DataX 将复杂的网状的同步链路变成了星型数据链路DataX 作为中间传输载体负责连接各种数据源。当需要接入一个新的数据源的时候只需要将此数据源对接到 DataX便能跟已有的数据源做到无缝数据同步。
1.3. 支持的数据源
DataX 目前已经有了比较全面的插件体系主流的 RDBMS 数据库、NOSQL、大数据计算系统都已经接入。
类型数据源Reader(读)Writer(写)RDBMS 关系型数据库MySQL√√Oracle√√OceanBase√√SQLServer√√PostgreSQL√√DRDS√√Kingbase√√通用RDBMS(支持所有关系型数据库)√√阿里云数仓数据存储ODPS√√ADB√ADS√OSS√√OCS√Hologres√AnalyticDB For PostgreSQL√阿里云中间件datahub√√SLS√√图数据库阿里云 GDB√√Neo4j√NoSQL数据存储OTS√√Hbase0.94√√Hbase1.1√√Phoenix4.x√√Phoenix5.x√√MongoDB√√Cassandra√√数仓数据存储StarRocks√√ApacheDoris√ClickHouse√√Databend√Hive√√kudu√selectdb√无结构化数据存储TxtFile√√FTP√√HDFS√√Elasticsearch√时间序列数据库OpenTSDB√TSDB√√TDengine√√
1.4. 框架设计 Reader数据采集模块负责采集数据源的数据将数据发送给Framework。 Writer数据写入模块负责不断向Framework取数据并将数据写入到目的端。 Framework用于连接reader和writer作为两者的数据传输通道并处理缓冲流控并发数据转换等核心技术问题。
1.5. 运行原理 Job单个作业的管理节点负责数据清理、子任务划分、TaskGroup监控管理。 Task由Job切分而来是DataX作业的最小单元每个Task负责一部分数据的同步工作。 Schedule将Task组成TaskGroup单个TaskGroup的并发数量为5。 TaskGroup负责启动Task。 **举例**用户提交了一个 DataX 作业并且配置了 20 个并发目的是将一个 100 张分表的 mysql 数据同步到 odps 里面。 DataX 的调度决策思路是 DataXJob 根据分库分表切分成了 100 个 Task。根据 20 个并发DataX 计算共需要分配 4 个 TaskGroup。4 个 TaskGroup 平分切分好的 100 个 Task每一个 TaskGroup 负责以 5 个并发共计运行 25 个 Task。
1.6. 与 Sqoop 的对比 2. DataX安装部署
二进制包下载地址源码包下载地址
2.1. 前置要求
LinuxJDK(1.8 以上推荐 1.8)Python(推荐 Python2.6.X)
2.2. 安装
将下载好的 datax.tar.gz 上传到 服务器上/usr/local/soft/解压 datax.tar.gz 到/usr/local/soft/
tar -xf datax.tar.gz运行自检脚本
cd /usr/local/soft/datax/bin/
python datax.py /usr/local/soft/datax/job/job.jsonDataX-web 安装部署
源码包下载官方提供的版本tar版本包 提取码cpsk
1. datax-web介绍
1.1. datax-web是什么 DataX Web是在DataX之上开发的分布式数据同步工具提供简单易用的 操作界面降低用户使用DataX的学习成本缩短任务配置时间避免配置过程中出错。用户可通过页面选择数据源即可创建数据同步任务支持RDBMS、Hive、HBase、ClickHouse、MongoDB等数据源RDBMS数据源可批量创建数据同步任务支持实时查看数据同步进度及日志并提供终止同步功能集成并二次开发xxl-job可根据时间、自增主键增量同步数据。 任务执行器支持集群部署支持执行器多节点路由策略选择支持超时控制、失败重试、失败告警、任务依赖执行器CPU.内存.负载的监控等等。后续还将提供更多的数据源支持、数据转换UDF、表结构同步、数据同步血缘等更为复杂的业务场景。
1.2. datax-web架构 1. DataX-web的二进制包下载
#把下载的datax-web二进制tar包上传至/usr/local/soft
cd /usr/local/soft/#解压
tar -xf datax-web-2.1.2.tar.gz2. 执行一键安装脚本
cd datax-web-2.1.2/
#执行一键安装脚本
./bin/install.sh2023-10-14 23:06:55.058 [INFO] (9341) Creating directory: [/usr/local/soft/datax-web-2.1.2/bin/../modules].
2023-10-14 23:06:55.062 [INFO] (9341) ####### Start To Uncompress Packages ######
2023-10-14 23:06:55.064 [INFO] (9341) Uncompressing....
Do you want to decompress this package: [datax-admin_2.1.2_1.tar.gz]? (Y/N)y #你想解压缩这个包吗(datax-admin_2.1.2_1.tar.gz)这里选择y解压
2023-10-14 23:06:57.422 [INFO] (9341) Uncompress package: [datax-admin_2.1.2_1.tar.gz] to modules directory
Do you want to decompress this package: [datax-executor_2.1.2_1.tar.gz]? (Y/N)y #你想解压缩这个包吗(datax-executor_2.1.2_1.tar.gz)这里选择y解压
2023-10-14 23:07:00.938 [INFO] (9341) Uncompress package: [datax-executor_2.1.2_1.tar.gz] to modules directory
2023-10-14 23:07:01.162 [INFO] (9341) ####### Finish To Umcompress Packages ######
Scan modules directory: [/usr/local/soft/datax-web-2.1.2/bin/../modules] to find server under dataxweb
2023-10-14 23:07:01.166 [INFO] (9341) ####### Start To Install Modules ######
2023-10-14 23:07:01.168 [INFO] (9341) Module servers could be installed:[datax-admin] [datax-executor]
Do you want to confiugre and install [datax-admin]? (Y/N)y #是否要确认并安装datax-admin
2023-10-14 23:07:03.516 [INFO] (9341) Install module server: [datax-admin]
Start to make directory
2023-10-14 23:07:03.532 [INFO] (9381) Start to build directory
2023-10-14 23:07:03.536 [INFO] (9381) Creating directory: [/usr/local/soft/datax-web-2.1.2/modules/datax-admin/bin/../logs].
2023-10-14 23:07:03.570 [INFO] (9381) Directory or file: [/usr/local/soft/datax-web-2.1.2/modules/datax-admin/bin/../conf] has been exist
2023-10-14 23:07:03.572 [INFO] (9381) Creating directory: [/usr/local/soft/datax-web-2.1.2/modules/datax-admin/bin/../data].
end to make directory
Start to initalize database
2023-10-14 23:07:03.598 [INFO] (9381) Scan out mysql command, so begin to initalize the database
Do you want to initalize database with sql: [/usr/local/soft/datax-web-2.1.2/bin/db/datax_web.sql]? (Y/N)y 是否要使用sql初始化数据库,这里选择y
Please input the db host(default: 127.0.0.1): #请输入数据库主机,这里回车选择127.0.0.1
Please input the db port(default: 3306): #请输入数据库端口,这里回车选择3306
Please input the db username(default: root): #请输入数据库用户名,这里回车选择root
Please input the db password(default: ): 1234 #请输入数据库密码,这里输入1234
Please input the db name(default: dataxweb)
mysql: [Warning] Using a password on the command line interface can be insecure.
Do you want to confiugre and install [datax-executor]? (Y/N)y #是否要确认并安装datax-executor这里选择安装
2023-10-14 23:07:27.697 [INFO] (9341) Install module server: [datax-executor]
2023-10-14 23:07:27.713 [INFO] (9425) Start to build directory
2023-10-14 23:07:27.715 [INFO] (9425) Creating directory: [/usr/local/soft/datax-web-2.1.2/modules/datax-executor/bin/../logs].
2023-10-14 23:07:27.739 [INFO] (9425) Directory or file: [/usr/local/soft/datax-web-2.1.2/modules/datax-executor/bin/../conf] has been exist
2023-10-14 23:07:27.741 [INFO] (9425) Creating directory: [/usr/local/soft/datax-web-2.1.2/modules/datax-executor/bin/../data].
2023-10-14 23:07:27.764 [INFO] (9425) Creating directory: [/usr/local/soft/datax-web-2.1.2/modules/datax-executor/bin/../json].
2023-10-14 23:07:27.789 [INFO] (9341) ####### Finish To Install Modules ######
3. 修改配置文件
#/modules/datax-execute/bin/env.properties 指定PYTHON_PATH的路径
vim modules/datax-executor/bin/env.properties
...
#修改如下DATAX_ADMIN_PORT9527 #保持和datax-admin端口一致
PYTHON_PATH/usr/local/soft/datax/bin/datax.py #指定datax的路径
...
4. 启动服务
#一键启动所有服务
/usr/local/soft/datax-web-2.1.2/bin/start-all.sh2023-10-14 23:26:40.112 [INFO] (10448) Try To Start Modules In Order
2023-10-14 23:26:40.118 [INFO] (10456) ####### Begin To Start Module: [datax-admin] ######
2023-10-14 23:26:40.124 [INFO] (10464) load environment variables
2023-10-14 23:26:40.420 [INFO] (10464) DATAX-ADMIN has been started in process
2023-10-14 23:26:40.427 [INFO] (10625) ####### Begin To Start Module: [datax-executor] ######
2023-10-14 23:26:40.433 [INFO] (10633) load environment variables
2023-10-14 23:26:40.710 [INFO] (10633) java
2023-10-14 23:26:40.713 [INFO] (10633) Waiting DATAX-EXEXUTOR to start complete ...
2023-10-14 23:26:40.853 [INFO] (10633) DATAX-EXEXUTOR start success#一键停掉所有服务
/usr/local/soft/datax-web-2.1.2/bin/stop-all.sh5. 测试datax-web是否可以通过浏览器访问 在浏览器中输入http://ip:9527/index.html就可以访问对应的主界面ip为datax-admin部署所在服务器ip,port为为datax-admin 指定的运行端口 输入用户名 admin 密码 123456 就可以直接访问系统
mysql数据同步到sql-server
首先完成这个数据同步之前先安装MySQL并创建库和表并写入数据然后安装sql-server并创建表
1. 在MySQL上创建数据库并写入数据
由于本机已经安装MySQL所以不需要安装。
create database db1 default charsetutf8;
use db1;
#创建表格
create table stuinfo(- id int(10),- name char(4) not null,- age int(4) not null,- sex char(10),- likes char(20) );
#导入数据
mysql insert into stuinfo values(001,bob,25,boy,run),(002,andy,28,boy,read a book);
#查看表格信息
mysql select * from stuinfo;
------------------------------------
| id | name | age | sex | likes |
------------------------------------
| 1 | bob | 25 | boy | run |
| 2 | andy | 28 | boy | read a book |
------------------------------------
2 rows in set (0.00 sec)
2. 安装sqlserver并创建表格
#下载yum源
curl https://packages.microsoft.com/config/rhel/7/mssql-server-2019.repo /etc/yum.repos.d/mssql-server.repo
#安装
yum install -y mssql-server
#程序包安装完成后请运行 mssql-conf setup 命令选择安装版本并按提示进行安装具体操作如下
/opt/mssql/bin/mssql-conf setup
#回车后---》选择版本号---》选择是否同意许可条款--》创建sa的密码--》回车
#配置完成后请验证服务是否正在运行
systemctl status mssql-server
通过NaviCat连接SQL server并创建表格
3. 创建项目
点击项目管理—》添加—》填写项目名称和描述点击确定即可
4. 添加数据源
点击数据源管理-----》添加—》填写数据源信息这里需要添加两个数据源分别是MySQL和SQL server的 5. 创建任务模板
任务管理—》DataX任务模板—》填写任务信息 6. 创建任务构建
任务管理–》任务构建–》步骤1构建reader–步骤2构建write—步骤3字段映射–》步骤4构建
7.验证
执行一次任务查看是否同步成功