专有网络 VPC(Virtual Private Cloud)可为您创建一个隔离的网络环境,支持自定义 IP 地址范围、划分网络、配置路由表和网关等。您可将多个 E-MapReduce 集群创建在不同的 VPC 下,然后通过高速通道配置使其可以互连。

VPC 的详细信息请参见专有网络产品简介。另外通过高速通道可以实现VPC与物理IDC机房互通,通过云企业网可以实现跨地域或跨用户的VPC内网互通。

创建专有网络集群

E-MapReduce 支持经典网络和专有网络两种网络类型,如果选择专有网络,则需要进行如下额外操作:

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

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

  • 安全组名称:集群所属的安全组,经典网络的安全组不能在 VPC 中使用,VPC 的安全组只能在当前 VPC 中使用。安全组列表中只展示您在 E-MapReduce 产品中创建的安全组。因为一些安全的原因目前尚不支持选择在 E-MapReduce 外创建的安全组。如果需要新建安全组,直接输入安全组名称即可。

同账号不同VPC下的E-MapReduce互连示例

本示例将创建两个处于不同 VPC 的 E-MapReduce 集群,并通过云企业网配置使其中一个集群可以访问另一个集群(Hive 访问 HBase)。
  1. 创建集群。

    在 E-MapReduce 控制台上创建两个集群,Hive 集群 C1 处于 VPC1 中,HBase 集群 C2 处于 VPC2 中,两个集群都在杭州区域。

  2. 配置同帐号VPC互连。

    详细配置请参见创建云企业网实例,地域选择相同地域。

  3. SSH 登录 HBase 集群,通过 HBase Shell 创建表。
    hbase(main):001:0> create 'testfromHbase','cf'
  4. SSH 登录 Hive集群,然后进行以下配置。
    1. 修改 hosts,增加如下一行:
      $zk_ip emr-cluster //$zk_ip为Hbase集群的zk节点IP
    2. 通过 Hive Shell 访问 HBase。
      hive> set hbase.zookeeper.quorum=172.*.*.111,172.*.*.112,172.*.*.113;
      hive> CREATE EXTERNAL TABLE IF NOT EXISTS testfromHive (rowkey STRING, pageviews Int, bytes STRING) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ('hbase.columns.mapping' = ':key,cf:c1,cf:c2') TBLPROPERTIES ('hbase.table.name' = 'testfromHbase');
    3. 如果命令无法执行下去,并且提示 java.net.SocketTimeoutException 异常,则您需要在 HBase 集群的安全组中新增安全组规则来给 Hive 集群开放端口,示例如下。安全组规则列表

      E-MapReduce 创建的安全组默认只开放 22 端口,而 Hive 集群访问 HBase 集群使用的是其他端口,所以您需要开放 HBase 集群的安全组的相关端口。

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

详情请参见自行专线接入访问 VPC