create

创建集群,异步操作,需通过describeCluster来查询集群状态,判定集群创建成功还是失败。整个操作流程可能会耗时5分钟甚至更长时间,需要通过合理的定期查询来获取状态。

状态:C_PROCESSING服务器已经受理,集群正在处理中;C_RUNNING为集群开始正常运行,已可用,说明创建成功。C_FAILED失败。

参数:CreateClusterRequest

  • nameString。集群名称,用户用来识别。
  • regionString。默认ec2.cn-north-1
  • purpose: String。默认emr
  • keypar: String。用于登录到master节点。
  • groupsList<AddInstanceGroupRequest>。实例组,包括4种角色,mastercontrolcoretask。每种类型需要指明type, requestedInstanceCounttype指虚机类型,需从服务器端获取类型列表。requestedInstanceCount指创建的虚机数量。
    • master:必填。
      • type:String
      • requestedInstanceCount: int。定值1
    • control: 必填。
      • type: String
      • requestedInstanceCount: int。定值3
    • core:必填。
      • type:String
      • requestedInstanceCount: int。大于等于1
    • task:可选。
      • type:InstanceGroupRole.TASK
      • requestedInstanceCount: int。大于等于0
  • 其他。之后会支持启动时添加job,暂不支持。

返回:CreateClusterResponse

  • nameString。与参数中name相同
  • clusterIdString。服务器端分配,唯一标识,describe, list, terminate都会用到。
  • groupIdsList<String>。与参数 groups对应,包含每个group的groupId。
  • 其他

异常

  • 服务器内部错误
  • 参数错误
  • 权限不够