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

简介:

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

选择适合您的连接方式。

测试连接

可以使用 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,可能是数据库防火墙的访问规则没加上集群其他节点,需要全部节点都允许访问。

目录
相关文章
|
JavaScript 前端开发 Java
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——Jsp页面
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——Jsp页面
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——OpSessionview实现
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——OpSessionview实现
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——EmpDao层代码
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——EmpDao层代码
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——Action的实现类
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——Action的实现类
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——工具类
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——工具类
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——DeptDao层代码
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——DeptDao层代码
|
SQL 分布式计算 关系型数据库
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
410 3
|
监控 Oracle 关系型数据库
"深度剖析:Oracle SGA大小调整策略——从组件解析到动态优化,打造高效数据库性能"
【8月更文挑战第9天】在Oracle数据库性能优化中,系统全局区(SGA)的大小调整至关重要。SGA作为一组共享内存区域,直接影响数据库处理能力和响应速度。本文通过问答形式介绍SGA调整策略:包括SGA的组成(如数据缓冲区、共享池等),如何根据负载与物理内存确定初始大小,手动调整SGA的方法(如使用`ALTER SYSTEM`命令),以及利用自动内存管理(AMM)特性实现智能调整。调整过程中需注意监控与测试,确保稳定性和性能。
1260 2
|
SQL 分布式计算 关系型数据库
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
395 0
|
SQL DataWorks 监控
DataWorks产品使用合集之同步数据到Hive时,如何使用业务字段作为分区键
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。

推荐镜像

更多