diff --git a/技术知识库/技术文档/数据/ETL工具DataX与DataX-Web的安装部署与应用.md b/技术知识库/技术文档/数据/ETL工具DataX与DataX-Web的安装部署与应用.md new file mode 100644 index 0000000..0c8817e --- /dev/null +++ b/技术知识库/技术文档/数据/ETL工具DataX与DataX-Web的安装部署与应用.md @@ -0,0 +1,81 @@ + + +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 + +**(三) 实际应用** +待补充。。 + + \ No newline at end of file