knowledge/技术知识库/技术文档/数据/ETL工具DataX与DataX-Web的安装部署与应用.md

81 lines
5.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

auth: 高佳、韩健
**(一) 术语介绍**
DataX是一个开源的数据同步工具而DataX-Web是构建在DataX之上的分布式数据同步工具提供了可视化的操作界面。具体来说
- **DataX**DataX的主要作用是实现不同数据源之间的离线数据同步它支持包括关系型数据库例如MySQL、Oracle等、HDFS、Hive、ODPS、HBase、FTP等多种异构数据源之间的稳定高效的数据迁移工作。DataX通过提供命令行工具和JSON配置文件的方式来执行数据同步任务但这种方式在管理和多任务处理上存在一定的局限性。
- **DataX-Web**为了解决DataX在使用过程中的配置复杂性以及管理上的不便捷DataX-Web应运而生。DataX-Web提供了一个简单易用的操作界面降低了用户使用DataX的学习成本并缩短了任务配置时间。此外它还避免了配置过程中可能出现的错误并支持远程分布式调用DataX的功能使得多节点之间的协作变得更加容易控制。
总的来说DataX适用于需要进行大规模数据迁移的场景而DataX-Web则更适合需要简化操作流程和提升任务管理效率的用户。两者结合使用可以有效提升数据处理的效率和便捷性。
**(二)工具安装**
一、下载tar包
github地址https://github.com/alibaba/DataX
下载tar包地址http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz
二、上传tar包解压并安装
上传至服务器/opt/下并解压
tar -xzvf datax.tar.gz
![输入图片说明](/imgs/2024-03-03/herwI0jA4lpLq9Nx.png)![在这里插入图片描述](https://img-blog.csdnimg.cn/2020111109495219.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM4NTY2NDY1,size_16,color_FFFFFF,t_70#pic_center)
三、上传解压 dataX-web
链接: [https://pan.baidu.com/s/1B8bb_KeyIYvpbI5s3IwCjA](https://pan.baidu.com/s/1B8bb_KeyIYvpbI5s3IwCjA) 提取码: 3pah
上传压缩包至服务目录,这里我上传到/usr/local/下,具体可根据自身希望上传到哪个目录就行
unzip datax-web-2.1.2.zip
四、创建datax-web数据库
sql文件在以下目录
![输入图片说明](/imgs/2024-03-03/Wo6h0lxrHFa1a9Zq.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201111101056267.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM4NTY2NDY1,size_16,color_FFFFFF,t_70#pic_center)
五、修改配置文件
1.修改数据库连接
modules下的datax-admin下的conf下的bootstrap.properties
![输入图片说明](/imgs/2024-03-03/6UX41Kuc0eBLGLZF.png)![在这里插入图片描述](https://img-blog.csdnimg.cn/20201111102031611.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM4NTY2NDY1,size_16,color_FFFFFF,t_70#pic_center)
2.注意datax-executor下的bin下的env.properties的PYTOHON_PATH的配置地址需与我们安装的datax目录一致
![输入图片说明](/imgs/2024-03-03/aL2LCHcMpVHv1l09.png)![在这里插入图片描述](https://img-blog.csdnimg.cn/20201111102235826.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM4NTY2NDY1,size_16,color_FFFFFF,t_70#pic_center)
六、启动datax-web及访问
执行datax-web-2.1.2下的bin下的start-all.sh启动所有模块
![输入图片说明](/imgs/2024-03-03/grgp6jJe0zpKv8HC.png)![在这里插入图片描述](https://img-blog.csdnimg.cn/2020111110302951.png#pic_center)
访问http://服务器IP:9527/index.html#/dashboard
![输入图片说明](/imgs/2024-03-03/vLtTXGkVk7mMIr3O.png)![在这里插入图片描述](https://img-blog.csdnimg.cn/20201111102849385.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM4NTY2NDY1,size_16,color_FFFFFF,t_70#pic_center)
七、实际安装过程中可能会遇到的问题
1.解决Oracle没有dba权限查询用户和表失败问题
getSQLQueryTables方法sql中的dba_tables修改为all_tables。
getSQLQueryTableSchema方法sql中的dba_users修改为all_users。
通过下载源码后修改指定方法打包jar后替换datax-admin下的lib下的datax-web-2.1.2.jar
2.解决datax写数据至db2数据库
datax暂时没有独立插件支持db2需要使用通用RDBMS这里是写入db2使用rdbmswriter对应目录为/datax/plugin/writer/rdbmswriter/
修改该目录下的plugin.json注册数据库驱动
{
"name": "rdbmswriter",
"class": "com.alibaba.datax.plugin.reader.rdbmswriter.RdbmsWriter",
"description": "useScene: prod. mechanism: Jdbc connection using the database, execute select sql, retrieve data from the ResultSet. warn: The more you know about the database, the less problems you encounter.",
"developer": "alibaba",
"drivers":["com.ibm.db2.jcc.DB2Driver"]
}
上传db2驱动到该目录下的libs如图所示
![输入图片说明](/imgs/2024-03-03/xPZPzsqtI4q8wCE5.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201111104537769.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM4NTY2NDY1,size_16,color_FFFFFF,t_70#pic_center)
job文件都放在/datax/job目录
创建需要执行的job的json文件
![输入图片说明](/imgs/2024-03-03/Ay6LSMoXL2jf6Por.png)![在这里插入图片描述](https://img-blog.csdnimg.cn/20201111105408521.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM4NTY2NDY1,size_16,color_FFFFFF,t_70#pic_center)
执行任务命令
python /opt/datax/bin/datax.py /opt/datax/job/xx.json
**(三) 实际应用**
待补充。。
<!--stackedit_data:
eyJoaXN0b3J5IjpbLTk1NzE5MjI3OV19
-->