开发者社区> 问答> 正文

E-MapReduce专有网络是什么?


专有网络(Virtual Private Cloud,VPC)为用户创建一个隔离的网络环境,用户可以选择自有的 IP 地址范围、划分网络、配置路由表、网关等,详见 专有网络产品简介;另外通过 高速通道 可以实现跨地域或跨用户的 VPC 内网互通、VPC 与物理 IDC 机房互通。

创建专有网络集群


E-MapReduce 在创建集群的时候可以选择网络类型,即经典网络/专有网络,若选择专有网络,需要如下额外操作:


  • 所属 VPC:选择将当前创建的 E-MapReduce 集群放在哪个 VPC 中,如果还没创建可以进入VPC 控制台进行创建,一般一个账号最多创建 2 个 VPC 网络,超过 2 个需要提工单。

  • 子网(交换机):E-MapReduce 集群内的 ECS 实例通过交换机进行通信,如果还没创建可以进入VPC 控制台进行创建,因为交换机有可用区的属性,所以在 E-MapReduce 创建集群时选定了可用区后,创建的交换机也必须属于该可用区。

  • 新建安全组:如果打开,那么就需要输入新建的安全组的名字。

  • 所属安全组:集群所属的安全组,经典网络的安全组不能在 VPC 中使用,VPC 的安全组只能在当前 VPC 中使用。这里只展示用户在 E-MapReduce 产品中创建的安全组。因为一些安全的原因目前尚不支持选择在 E-MapReduce 外创建的安全组。如果需要新建安全组,可以选择“新建安全组”选项,同时输入安全组的名字完成新建。


示例



不同 VPC 中的 EMR 集群通信(Hive 访问 HBase)


  1. 创建集群:
    在 E-MapReduce 上面创建两个集群,Hive 集群 C1 处于 VPC1 中,HBase 集群 C2 处于 VPC2 中,两个集群都在杭州区域。

  2. 配置高速通道:
    配置详见同地域下的 VPC 私网互通。

  3. ssh 登录 HBase 集群,通过 HBase Shell 创建表。
  1. [backcolor=transparent]hbase[backcolor=transparent]([backcolor=transparent]main[backcolor=transparent]):[backcolor=transparent]001[backcolor=transparent]:[backcolor=transparent]0[backcolor=transparent]>[backcolor=transparent] create [backcolor=transparent]'testfromHbase'[backcolor=transparent],[backcolor=transparent]'cf'

  1. ssh 登录 Hive
    修改 hosts,增加如下一行:[backcolor=transparent]$zk_ip emr[backcolor=transparent]-[backcolor=transparent]cluster [backcolor=transparent]//$zk_ip为Hbase集群的zk节点IP

通过 Hive Shell 访问 HBase。
  1. [backcolor=transparent]hive[backcolor=transparent]>[backcolor=transparent] [backcolor=transparent]set[backcolor=transparent] hbase[backcolor=transparent].[backcolor=transparent]zookeeper[backcolor=transparent].[backcolor=transparent]quorum[backcolor=transparent]=[backcolor=transparent]172.16[backcolor=transparent].[backcolor=transparent]126.111[backcolor=transparent],[backcolor=transparent]172.16[backcolor=transparent].[backcolor=transparent]126.112[backcolor=transparent],[backcolor=transparent]172.16[backcolor=transparent].[backcolor=transparent]126.113[backcolor=transparent];
  2. [backcolor=transparent]hive[backcolor=transparent]>[backcolor=transparent] CREATE EXTERNAL TABLE IF NOT EXISTS testfromHive [backcolor=transparent]([backcolor=transparent]rowkey STRING[backcolor=transparent],[backcolor=transparent] pageviews [backcolor=transparent]Int[backcolor=transparent],[backcolor=transparent] bytes STRING[backcolor=transparent])[backcolor=transparent] STORED BY [backcolor=transparent]'org.apache.hadoop.hive.hbase.HBaseStorageHandler'[backcolor=transparent] WITH SERDEPROPERTIES [backcolor=transparent]([backcolor=transparent]'hbase.columns.mapping'[backcolor=transparent] [backcolor=transparent]=[backcolor=transparent] [backcolor=transparent]':key,cf:c1,cf:c2'[backcolor=transparent])[backcolor=transparent] TBLPROPERTIES [backcolor=transparent]([backcolor=transparent]'hbase.table.name'[backcolor=transparent] [backcolor=transparent]=[backcolor=transparent] [backcolor=transparent]'testfromHbase'[backcolor=transparent]);

此时命令会卡住,然后会报 java.net.SocketTimeoutException 的异常,原因是 HBase 集群的 ECS 所在的安全组限制了相关端口的访问(E-MapReduce 创建的安全组默认只开放 22 端口)E-MapReduce,所以需要给 HBase 集群的安全组增加安全组规则开放端口给 Hive 集群,如下图所示:


自有 IDC 专线接入(访问 VPC 中 EMR 集群)


详见 自行专线接入访问 VPC

展开
收起
nicenelly 2017-10-27 15:36:55 1765 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
经典网络迁移VPC最佳实践 立即下载
基于VPC网络的六大场景及解决方案 立即下载
阿里云如何构建高性能云原声容器网络? 立即下载

相关实验场景

更多