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

图2. 配置专有网络
创建专有网络成功后,点击管理交换机,创建一个交换机。交换机有可用区属性,这个要和emr的集群可用区保持一致。
图3. 创建专有网络成功
图4. 配置交换机
vpc网络的emr集群,默认只有master绑定了动态ip可以访问外网,需要给其他节点也绑定动态ip以便map任务访问专有数据库。先创建动态ip,再给各个节点绑定
图5. 弹性公网ip
选择和vpc集群一致的地域,根据需要同步数据的实际情况选择按量计费或固定带宽,带宽峰值,购买数量设置为您master以外的节点数量。点击立即购买,等待开通
成功后在ecs控制台给集群的每个ecs实例绑定一个eip,就可以访问私有数据库的公网地址了。绑定的操作方式在ecs控制台-ecs实例后的管理-配置信息-更多-里面选择绑定弹性ip.
图6. 绑定弹性ip
集群集成了常用的mysql jdbc jar,oracle的jdbc jar需要去oracle官网下载数据库可用的ojdbc jar,比如ojdbc14.jar,放在master节点的$sqoop_home/lib目录下
在master节点上连接oracle数据库的访问地址,telnet ip port,如果无法连接,可能是因为你的数据库设置了防火墙访问规则限制,需要联系您数据库的运维人员设置集群所有节点的公网ip允许访问。
选择适合您的连接方式。
如果map任务报错提示the network adapter could not establish the connection,可能是数据库防火墙的访问规则没加上集群其他节点,需要全部节点都允许访问。