使用E-MapReduce集群sqoop组件同步云外Oracle数据库数据到集群hive

本文涉及的产品
EMR Serverless Spark 免费试用,1000 CU*H 有效期3个月
EMR Serverless StarRocks,5000CU*H 48000GB*H
简介:

E-MapReduce集群sqoop组件可以同步数据库的数据到集群里,不同的数据库源网络配置有一些差异网络配置。最常用的场景是从rds mysql同步数据,最近也有用户询问如何同步云外专有Oracle数据库数据到hive。云外专有数据库需要集群所有节点通过公网访问,要创建VPC网络,使用VPC网络创建集群,给集群各节点绑定动态ip,检查网络链路,Oracle数据库还上传oracle jdbc jar。本文会详细介绍具体的操作步骤。

创建vpc专有网络集群

如果没创建过VPC专有网络和子网交换机,需要先创建。如果已创建可以跳过下面的创建章节。

创建专有网络

进入VPC控制台 ,选择一个地区地区,点击创建专有网络。目前E-MapReduce支持华东1(杭州)和 华北2(北京)两个地区,所以专有网络也只能创建在这两个地区,根据您专有数据库和其他应用的网络情况选择一个。
图1. 专有网络列表
_

图2. 配置专有网络
_

创建交换机

创建专有网络成功后,点击管理交换机,创建一个交换机。交换机有可用区属性,这个要和EMR的集群可用区保持一致。
图3. 创建专有网络成功
_

图4. 配置交换机
_

创建VPC集群

创建VPC集群可以参考用户手册创建专有网络集群

绑定动态IP

VPC网络的EMR集群,默认只有master绑定了动态ip可以访问外网,需要给其他节点也绑定动态ip以便map任务访问专有数据库。先创建动态ip,再给各个节点绑定

创建动态IP

点击 IP管理控制台,点击右上角申请弹性公网IP。
图5. 弹性公网Ip
_ip

选择和VPC集群一致的地域,根据需要同步数据的实际情况选择按量计费或固定带宽,带宽峰值,购买数量设置为您master以外的节点数量。点击立即购买,等待开通

绑定Ip

成功后在ecs控制台给集群的每个ecs实例绑定一个EIP,就可以访问私有数据库的公网地址了。绑定的操作方式在ecs控制台-ecs实例后的管理-配置信息-更多-里面选择绑定弹性IP.

图6. 绑定弹性Ip
fc6b289e283d92da25cd7c5908626931bd6868c8_jpeg

集群配置

放置 oracle jdbc jar

集群集成了常用的mysql jdbc jar,Oracle的jdbc jar需要去Oracle官网下载数据库可用的ojdbc jar,比如ojdbc14.jar,放在master节点的$SQOOP_HOME/lib目录下

检查网络

在master节点上连接Oracle数据库的访问地址,telnet ip port,如果无法连接,可能是因为你的数据库设置了防火墙访问规则限制,需要联系您数据库的运维人员设置集群所有节点的公网Ip允许访问。

选择Oracle连接

sqoop官方手册, oracle连接有三种写法

--connect jdbc:oracle:thin:@OracleServer:OraclePort:OracleSID

--connect jdbc:oracle:thin:@//OracleServer:OraclePort/OracleService

--connect jdbc:oracle:thin:@TNSName
AI 代码解读

选择适合您的连接方式。

测试连接

可以使用 sqoop eval执行一条查询语句确定连接是否正常. [eval 语法](http://sqoop.apache.org/docs/1.4.6/SqoopUserGuide.html?spm=5176.doc28133.2.7.K0HsDL#_literal_sqoop_eval_literal),如果提示用户名密码无法访问,可能是密码错误或者该账户没有访问的权限。

map任务提示网络不通

如果map任务报错提示The Network Adapter could not establish the connection,可能是数据库防火墙的访问规则没加上集群其他节点,需要全部节点都允许访问。

相关实践学习
基于EMR Serverless StarRocks一键玩转世界杯
基于StarRocks构建极速统一OLAP平台
快速掌握阿里云 E-MapReduce
E-MapReduce 是构建于阿里云 ECS 弹性虚拟机之上,利用开源大数据生态系统,包括 Hadoop、Spark、HBase,为用户提供集群、作业、数据等管理的一站式大数据处理分析服务。 本课程主要介绍阿里云 E-MapReduce 的使用方法。
目录
打赏
0
0
0
0
157
分享
相关文章
【YashanDB 知识库】YMP 校验从 yashandb 同步到 oracle 的数据时,字段 timestamp(0) 出现不一致
在YMP校验过程中,从yashandb同步至Oracle的数据出现timestamp(0)字段不一致问题。原因是yashandb的timestamp(x)存储为固定6位小数,而Oracle的timestamp(0)无小数位,同步时会截断yashandb的6位小数,导致数据差异。受影响版本:yashandb 23.2.7.101、YMP 23.3.1.3、YDS联调版本。此问题会导致YMP校验数据内容不一致。
【YashanDB知识库】Flink CDC实时同步Oracle数据到崖山
本文介绍通过Flink CDC实现Oracle数据实时同步至崖山数据库(YashanDB)的方法,支持全量与增量同步,并涵盖新增、修改和删除的DML操作。内容包括环境准备(如JDK、Flink版本等)、Oracle日志归档启用、用户权限配置、增量日志记录设置、元数据迁移、Flink安装与配置、生成Flink SQL文件、Streampark部署,以及创建和启动实时同步任务的具体步骤。适合需要跨数据库实时同步方案的技术人员参考。
【YashanDB知识库】Flink CDC实时同步Oracle数据到崖山
【YashanDB 知识库】YMP 校验从 yashandb 同步到 oracle 的数据时,字段 timestamp(0) 出现不一致
【YashanDB 知识库】YMP 校验从 yashandb 同步到 oracle 的数据时,字段 timestamp(0) 出现不一致
【YashanDB知识库】YMP校验从yashandb同步到oracle的数据时,字段timestamp(0)出现不一致
【YashanDB知识库】YMP校验从yashandb同步到oracle的数据时,字段timestamp(0)出现不一致
Hadoop-10-HDFS集群 Java实现MapReduce WordCount计算 Hadoop序列化 编写Mapper和Reducer和Driver 附带POM 详细代码 图文等内容
Hadoop-10-HDFS集群 Java实现MapReduce WordCount计算 Hadoop序列化 编写Mapper和Reducer和Driver 附带POM 详细代码 图文等内容
235 3
Hadoop MapReduce编程
该教程指导编写Hadoop MapReduce程序处理天气数据。任务包括计算每个城市ID的最高、最低气温、气温出现次数和平均气温。在读取数据时需忽略表头,且数据应为整数。教程中提供了环境变量设置、Java编译、jar包创建及MapReduce执行的步骤说明,但假设读者已具备基础操作技能。此外,还提到一个扩展练习,通过分区功能将具有相同尾数的数字分组到不同文件。
127 1
Hadoop MapReduce 调优参数
对于 Hadoop v3.1.3,针对三台4核4G服务器的MapReduce调优参数包括:`mapreduce.reduce.shuffle.parallelcopies`设为10以加速Shuffle,`mapreduce.reduce.shuffle.input.buffer.percent`和`mapreduce.reduce.shuffle.merge.percent`分别设为0.8以减少磁盘IO。
153 1
Hadoop MapReduce计算框架
【5月更文挑战第10天】HadoopMapReduce计算框架
127 3

推荐镜像

更多
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等