云服务器内容精选

  • 弹性伸缩有什么限制? 弹性伸缩的云服务器中运行的应用需要是无状态、可横向扩展的。因为AS会自动释放云服务器,所以弹性伸缩组内的云服务器不可以保存应用的状态信息(例如session会话)和相关数据(如数据库、日志等)。 如果应用中需要云服务器保存状态或日志信息,可以考虑把相关信息保存到独立的服务器中。 弹性伸缩对用户的资源数量或容量做的配额限制如表1所示。 表1 配额一览表 类别 描述 默认值 弹性伸缩组 用户可以创建的最多伸缩组个数。 50 弹性伸缩配置 用户可以创建的最多伸缩配置个数。 200 弹性伸缩策略 某个弹性伸缩组下可以创建的最多伸缩策略个数。 10 弹性伸缩实例 某个弹性伸缩组下可以创建的最多实例个数。 300 伸缩带宽策略 用户最多可以创建的伸缩带宽策略个数。 10 生命周期挂钩 某个弹性伸缩组内最多可添加的生命周期挂钩个数。 5 通知 某个弹性伸缩组最多可以配置的通知个数。 5 标签 某个弹性伸缩组最多可以添加的标签个数。 10 父主题: 通用类
  • 配额限制 弹性伸缩对用户的资源数量或容量做的配额限制如表1所示。 表1 配额一览表 类别 描述 默认值 弹性伸缩组 用户可以创建的最多伸缩组个数。 50 弹性伸缩配置 用户可以创建的最多伸缩配置个数。 200 弹性伸缩策略 某个弹性伸缩组下可以创建的最多伸缩策略个数。 10 弹性伸缩实例 某个弹性伸缩组下可以创建的最多实例个数。 300 伸缩带宽策略 用户最多可以创建的伸缩带宽策略个数。 10 生命周期挂钩 某个弹性伸缩组内最多可添加的生命周期挂钩个数。 5 通知 某个弹性伸缩组最多可以配置的通知个数。 5 标签 某个弹性伸缩组最多可以添加的标签个数。 10
  • MRS 集群节点弹性伸缩指标说明 节点组维度策略 在添加规则时,可以参考表1配置相应的指标。 表1 弹性伸缩指标列表 集群类型 指标名称 数值类型 说明 流式集群 StormSlotAvailable 整型 Storm组件的可用slot数。 取值范围为[0~2147483646]。 StormSlotAvailablePercentage 百分比 Storm组件可用slot百分比。是可用slot数与总slot数的比值。 取值范围为[0~100]。 StormSlotUsed 整型 Storm组件的已用slot数。 取值范围为[0~2147483646]。 StormSlotUsedPercentage 百分比 Storm组件已用slot百分比。是已用slot数与总slot数的比值。 取值范围为[0~100]。 StormSupervisorMemAverageUsage 整型 Storm组件Supervisor的内存平均使用量。 取值范围为[0~2147483646]。 StormSupervisorMemAverageUsagePercentage 百分比 Storm组件Supervisor进程使用的内存占系统总内存的平均百分比。 取值范围[0 ~ 100]。 StormSupervisorCPUAverageUsagePercentage 百分比 Storm组件Supervisor进程使用的CPU占系统总CPU的平均百分比。 取值范围[0 ~ 6000]。 分析集群 YARNAppPending 整型 YARN组件挂起的任务数。 取值范围为[0~2147483646]。 YARNAppPendingRatio 比率 YARN组件挂起的任务数比例。是YARN挂起的任务数与YARN运行中的任务数比值。 取值范围为[0~2147483646]。 YARNAppRunning 整型 YARN组件运行中的任务数。 取值范围为[0~2147483646]。 YARNContainerAllocated 整型 YARN组件中已分配的container个数。 取值范围为[0~2147483646]。 YARNContainerPending 整型 YARN组件挂起的container个数。 取值范围为[0~2147483646]。 YARNContainerPendingRatio 比率 YARN组件挂起的container比率。是挂起的container数与运行中的container数的比值。 取值范围为[0~2147483646]。 YARNCPUAllocated 整型 YARN组件已分配的虚拟CPU核心数。 取值范围为[0~2147483646]。 YARNCPUAvailable 整型 YARN组件可用的虚拟CPU核心数。 取值范围为[0~2147483646]。 YARNCPUAvailablePercentage 百分比 YARN组件可用虚拟CPU核心数百分比。是可用虚拟CPU核心数与总虚拟CPU核心数比值。 取值范围为[0~100]。 YARNCPUPending 整型 YARN组件挂起的虚拟CPU核心数。 取值范围为[0~2147483646]。 YARNMemoryAllocated 整型 YARN组件已分配内存大小。单位为MB。 取值范围为[0~2147483646]。 YARNMemoryAvailable 整型 YARN组件可用内存大小。单位为MB。 取值范围为[0~2147483646]。 YARNMemoryAvailablePercentage 百分比 YARN组件可用内存百分比。是YARN组件可用内存大小与YARN组件总内存大小的比值。 取值范围为[0~100]。 YARNMemoryPending 整型 YARN组件挂起的内存大小。 取值范围为[0~2147483646]。 表1中指标数值类型为百分比或比率时,有效数值可精确到百分位。其中百分比类型指标数值为去除百分号(%)后的小数值,如16.80即代表16.80%。 混合集群的支持分析集群和流式集群的所有指标。 资源池维度策略 在添加规则时,可以参考表2配置相应的指标。 MRS 3.1.5及其之后的版本支持配置资源池维度策略。 表2 规则配置项说明 集群类型 指标名称 数值类型 说明 分析集群/自定义集群 ResourcePoolMemoryAvailable 整型 资源池YARN组件可用内存大小。单位为MB。 取值范围为[0~2147483646]。 ResourcePoolMemoryAvailablePercentage 百分比 资源池YARN组件可用内存百分比。是YARN组件可用内存大小与YARN组件总内存大小的比值。 取值范围为[0~100]。 ResourcePoolCPUAvailable 整型 资源池YARN组件可用的虚拟CPU核心数。 取值范围为[0~2147483646]。 ResourcePoolCPUAvailablePercentage 百分比 资源池YARN组件可用虚拟CPU核心数百分比。是可用虚拟CPU核心数与总虚拟CPU核心数比值。 取值范围为[0~100]。 在添加资源计划时,可以参考表3配置相应的参数。 表3 资源计划配置项说明 配置项 示例 说明 生效日期 周一 资源计划的生效日期。默认是每日生效,也可以选择周一至周日任意一天或几天生效。 时间范围 08:00-10:00 资源计划的起始时间和结束时间,精确到分钟,取值范围[00:00, 23:59]。例如资源计划开始于早上8:00,结束于10:00,则配置为8:00-10:00。结束时间必须晚于开始时间至少30分钟。 节点数量范围 4-5 资源计划内的节点数量上下限,取值范围[0,500],在资源计划时间内,集群Task节点数量小于最小节点数时,弹性伸缩会将集群Task节点一次性扩容到最小节点数。在资源计划时间内,集群Task节点数量大于最大节点数时,弹性伸缩会将集群Task节点一次性缩容到最大节点数。最小节点数必须小于或等于最大节点数。 当启用资源计划时,弹性伸缩配置中的“默认节点数量范围”将在资源计划外的时间段内强制生效。例如“默认节点数量范围”配置为1-2,配置资源计划:08:00-10:00之间节点数量范围为4-5,则在一天中的非资源计划时间段(0:00-8:00以及10:00-23:59)内,Task节点会被强制限制在1个到2个中间,若节点数量大于2则触发自动缩容,若节点数量小于1则触发自动扩容。 当不启用资源计划时,节点数量范围的“默认范围”会在全部时间范围生效,如果节点数量不在“节点数量范围”的默认范围,主动增减Task节点数量到默认范围内。 资源计划间时间段不可交叉,时间段交叉意为某个时间点存在两个生效的资源计划,例如配置资源计划1在08:00-10:00生效,资源计划2在09:00-11:00生效,则两个资源计划存在时间段交叉,交叉时间段09:00-10:00。 资源计划不能跨天配置,例如要配置23:00至次日01:00的资源计划,请配置时间段为23:00-00:00和00:00-01:00的两个资源计划。 自动化脚本 在添加自动化脚本时,可以参考表4配置相应参数。 表4 自动化脚本配置说明 配置项 示例 说明 名称 test 自动化脚本的名称。 只能由数字、英文字符、空格、中划线和下划线组成,且不能以空格开头。 可输入的字符串长度为1~64个字符。 说明: 同一集群内,不允许配置相同的名称。不同集群之间,可以配置相同的名称。 脚本路径 obs://mrs-samples/test.sh 脚本的路径。路径可以是OBS文件系统的路径或虚拟机本地的路径。 OBS文件系统的路径,必须以obs://开头,以.sh结尾。例如:obs://mrs-samples/xxx.sh 虚拟机本地的路径,脚本所在的路径必须以‘/’开头,以.sh结尾。例如,安装Zepelin的示例脚本路径如下:/opt/bootstrap/zepelin/zepelin_install.sh 执行节点 Master节点 选择自动化脚本所执行的节点类型。 说明: 如果选择Master节点,您可以通过开关选择是否只在Active Master节点执行此脚本。 如果选择开启此功能,表示只在Active Master节点上执行。如果选择关闭,表示在所有Master节点执行。默认关闭。 参数 - 自动化脚本参数,支持通过传入以下预定义变量获得弹性伸缩相关信息: ${mrs_scale_node_num} :弹性伸缩节点数量,总是正数 ${mrs_scale_type} :弹性伸缩类型,扩容为“scale_out”,缩容为“scale_in” ${mrs_scale_node_hostnames} :弹性伸缩节点的主机名,多个主机名之间以“,”隔开 ${mrs_scale_node_ips} :弹性伸缩节点的IP,多个IP之间以“,”隔开 ${mrs_scale_rule_name}:触发弹性伸缩的规则名,如果是资源计划则为“resource_plan” 执行时机 扩容前 选择自动化脚本执行的时间。支持“扩容前”、“扩容后”、“缩容前”、“缩容后”四种类型。 说明: 假设执行节点类型中包含Task节点: 执行时机为扩容前的脚本不会在将要扩容出的Task节点上执行。 执行时机为扩容后的脚本会在扩容出的Task节点上执行。 执行时机为缩容前的脚本会在即将被删除的Task节点上执行。 执行时机为缩容后的脚本不会在已经被删除的Task节点上执行。 失败操作 继续 该脚本执行失败后,是否继续执行后续脚本和扩缩容操作。 说明: 建议您在调试阶段设置为“继续”,无论此脚本是否执行成功,则集群都能继续扩缩容操作。 若脚本执行失败,请到集群虚拟机的“/var/log/Bootstrap”路径下查看失败日志。 由于缩容成功不可回滚,缩容后执行的脚本失败操作只能选择“继续”。 自动化脚本只在弹性伸缩时触发,手动调整集群节点时不会运行。
  • 响应参数 表2 响应参数 参数 参数类型 描述 quotas quotas object 配额详情。详情请见表 quotas字段数据结构说明。 表3 quotas字段数据结构说明 参数 参数类型 描述 resources Array of resources objects 配额资源列表。详情请见表 resources字段数据结构说明。 表4 resources字段数据结构说明 参数 参数类型 描述 type String 查询配额的类型。 scaling_Policy为伸缩策略资源。 scaling_Instance为伸缩实例资源。 used Integer 已使用的配额数量 quota Integer 配额总数量 max Integer 配额上限 min Integer 配额下限
  • 返回值 正常 200 异常 返回值 说明 400 Bad Request 服务器未能处理请求。 401 Unauthorized 被请求的页面需要用户名和密码。 403 Forbidden 对被请求的页面访问禁止。 404 Not Found 服务器无法找到被请求的页面。 405 Method Not Allowed 请求中指定的方法不被允许。 406 Not Acceptable 服务器生成的响应无法被客户端所接受。 407 Proxy Authentication Required 用户必须首先使用代理服务器进行验证,这样请求才会被处理。 408 Request Timeout 请求超出了服务器的等待时间。 409 Conflict 由于冲突,请求无法被完成。 500 Internal Server Error 请求未完成。服务异常。 501 Not Implemented 请求未完成。服务器不支持所请求的功能。 502 Bad Gateway 请求未完成。服务器从上游服务器收到一个无效的响应。 503 Service Unavailable 请求未完成。系统暂时异常。 504 Gateway Timeout 网关超时。
  • 响应示例 { "quotas": { "resources": [ { "type": "scaling_Policy", "used": 2, "quota": 50, "max": 50, "min": 0 }, { "type": "scaling_Instance", "used": 0, "quota": 200, "max": 1000, "min": 0 } ] }}
  • 返回值 正常 204 异常 返回值 说明 400 Bad Request 服务器未能处理请求。 401 Unauthorized 被请求的页面需要用户名和密码。 403 Forbidden 对被请求的页面访问禁止。 404 Not Found 服务器无法找到被请求的页面。 405 Method Not Allowed 请求中指定的方法不被允许。 406 Not Acceptable 服务器生成的响应无法被客户端所接受。 407 Proxy Authentication Required 用户必须首先使用代理服务器进行验证,这样请求才会被处理。 408 Request Timeout 请求超出了服务器的等待时间。 409 Conflict 由于冲突,请求无法被完成。 500 Internal Server Error 请求未完成。服务异常。 501 Not Implemented 请求未完成。服务器不支持所请求的功能。 502 Bad Gateway 请求未完成。服务器从上游服务器收到一个无效的响应。 503 Service Unavailable 请求未完成。系统暂时异常。 504 Gateway Timeout 网关超时。
  • URI DELETE /autoscaling-api/v1/{project_id}/scaling_notification/{scaling_group_id}/{topic_urn} 表1 参数说明 名称 是否必选 参数类型 说明 project_id 是 String 项目ID scaling_group_id 是 String 伸缩组ID topic_urn 是 String SMN 服务中Topic的唯一的资源标识。
  • 请求示例 删除ID为e5d27f5c-dd76-4a61-b4bc-a67c5686719a的伸缩组内topic_urn为urn:smn:regionId:b53e5554fad0494d96206fb84296510b:gsh的通知。 DELETE https://{Endpoint}/autoscaling-api/v1/{project_id}/scaling_notification/e5d27f5c-dd76-4a61-b4bc-a67c5686719a/urn:smn:regionId:b53e5554fad0494d96206fb84296510b:gsh
  • 响应示例 { "limit": 20, "scaling_policy_execute_log": [ { "id": "b86e4175-30cb-4b1e-a332-83f9ee472c58", "status": "SUC CES S", "type": "REMOVE", "tenant_id": "0428982a1b8039f42f01c005edde7c0d", "scaling_resource_type": "SCALING_GROUP", "scaling_resource_id": "1f2d3e73-7ef6-40b3-a8fa-514b68eccaa7", "scaling_policy_id": "05545d3d-ccf9-4bca-ae4f-1e5e73ca0bf6", "old_value": "1", "desire_value": "0", "limit_value": "0", "execute_time": "2019-03-18T16:00:00Z", "execute_type": "RECURRENCE", "job_records": [ { "message": "modify desire number of scaling group", "job_name": "ADJUST_VM_NUMBERS", "record_type": "MEG", "record_time": "2019-03-18T16:00:00Z", "job_status": "SUCCESS" } ] } ], "total_number": 1, "start_number": 0}
  • 返回值 正常 200 异常 返回值 说明 400 Bad Request 服务器未能处理请求。 401 Unauthorized 被请求的页面需要用户名和密码。 403 Forbidden 对被请求的页面访问禁止。 404 Not Found 服务器无法找到被请求的页面。 405 Method Not Allowed 请求中指定的方法不被允许。 406 Not Acceptable 服务器生成的响应无法被客户端所接受。 407 Proxy Authentication Required 用户必须首先使用代理服务器进行验证,这样请求才会被处理。 408 Request Timeout 请求超出了服务器的等待时间。 409 Conflict 由于冲突,请求无法被完成。 500 Internal Server Error 请求未完成。服务异常。 501 Not Implemented 请求未完成。服务器不支持所请求的功能。 502 Bad Gateway 请求未完成。服务器从上游服务器收到一个无效的响应。 503 Service Unavailable 请求未完成。系统暂时异常。 504 Gateway Timeout 网关超时。
  • 响应参数 表2 响应参数 参数 参数类型 描述 total_number Integer 总记录数 start_number Integer 查询的起始行号 limit Integer 查询记录数 scaling_policy_execute_log Array of scaling_policy_execute_log objects 伸缩策略执行日志列表。详情请见表 scaling_policy_execute_log字段数据结构说明。 表3 scaling_policy_execute_log字段数据结构说明 参数 参数类型 描述 status String 策略执行状态: SUCCESS:成功 FAIL:失败 EXECUTING:执行中 failed_reason String 策略执行失败原因 execute_type String 策略执行类型: SCHEDULE:自动触发(定时) RECURRENCE:自动触发(周期) ALARM:自动触发(告警) MANUAL:手动触发 execute_time String 策略执行时间,遵循UTC时间。 id String 策略执行日志ID tenant_id String 项目ID scaling_policy_id String 伸缩策略ID scaling_resource_type String 伸缩资源类型 伸缩组:SCALING_GROUP 带宽:BANDW IDT H scaling_resource_id String 伸缩资源ID old_value String 伸缩原始值 desire_value String 伸缩目标值 limit_value String 操作限制 当scaling_resource_type为BANDWIDTH时,且operation不为SET时,limit_value生效,单位为Mbit/s。 此时, 当operation为ADD时,limit_value表示最高带宽限制; 当operation为REDUCE时,limit_value表示最低带宽限制。 type String 策略执行任务类型 ADD:增加 REMOVE:减少 SET:设置为 job_records Array of job_records objects 策略执行动作包含的具体任务。详情请见表 job_records字段数据结构说明。 meta_data meta_data object 附加信息。详情请见表 meta_data字段数据结构说明。 表4 job_records字段数据结构说明 参数 参数类型 描述 job_name String 任务名称 record_type String 记录类型 API:接口调用类型 MEG:消息类型 record_time String 记录时间 request String 请求体,仅当record_type为API时有效 response String 返回体,仅当record_type为API时有效 code String 返回码,仅当record_type为API时有效 message String 消息,仅当record_type为MEG时有效 job_status String job执行状态: SUCCESS:成功 FAIL:失败 表5 meta_data字段数据结构说明 参数 参数类型 描述 metadata_bandwidth_share_type String 伸缩带宽策略中带宽对应的共享类型。 metadata_eip_id String 伸缩带宽策略中带宽对应的EIP的ID。 metadataeip_address String 伸缩带宽策略中带宽对应的EIP地址。
  • URI GET /autoscaling-api/v1/{project_id}/scaling_policy_execute_log/{scaling_policy_id} 可以在URI后面用‘?’和‘&’添加不同的查询条件组合。支持参数说明中所有非必选参数过滤,请参考请求示例。 表1 参数说明 参数 是否必选 参数类型 描述 project_id 是 String 项目ID scaling_policy_id 是 String 伸缩策略ID log_id 否 String 策略执行日志ID scaling_resource_type 否 String 伸缩资源类型 伸缩组:SCALING_GROUP 带宽:BANDWIDTH scaling_resource_id 否 String 伸缩资源ID execute_type 否 String 策略执行类型: SCHEDULED:自动触发(定时) RECURRENCE:自动触发(周期) ALARM:自动触发(告警) MANUAL:手动触发 start_time 否 String 查询的起始时间,遵循UTC时间,格式是“yyyy-MM-ddThh:mm:ssZ”。 end_time 否 String 查询的截止时间,遵循UTC时间,格式是“yyyy-MM-ddThh:mm:ssZ”。 start_number 否 Integer 查询的起始行号,默认为0。最小值为0。 limit 否 Integer 查询的记录条数,默认为20。取值范围为:0~100。
  • 响应参数 表2 响应参数 参数 参数类型 描述 quotas quotas object 配额详情。详情请见表 quotas字段数据结构说明。 表3 quotas字段数据结构说明 参数 参数类型 描述 resources Array of resources objects 配额资源列表。详情请见表 resources字段数据结构说明。 表4 resources字段数据结构说明 参数 参数类型 描述 type String 查询配额的类型。 scaling_Group:伸缩组配额。 scaling_Config:伸缩配置配额。 scaling_Policy:伸缩策略配额。 scaling_Instance:伸缩实例配额。 bandwidth_scaling_policy:伸缩带宽策略配额。 used Integer 已使用的配额数量。 当type为scaling_Policy和scaling_Instance时,该字段为保留字段,返回-1。可通过查询弹性伸缩策略和伸缩实例配额查询指定弹性伸缩组下的弹性伸缩策略和伸缩实例已使用的配额数量。 quota Integer 配额总数量 max Integer 配额上限 min Integer 配额下限
  • 响应示例 { "quotas": { "resources": [ { "type": "scaling_Group", "used": 2, "quota": 25, "max": 50, "min": 0 }, { "type": "scaling_Config", "used": 3, "quota": 100, "max": 200, "min": 0 }, { "type": "scaling_Policy", "used": -1, "quota": 50, "max": 50, "min": 0 }, { "type": "scaling_Instance", "used": -1, "quota": 200, "max": 1000, "min": 0 }, { "type": "bandwidth_scaling_policy", "used": 1, "quota": 10, "max": 100, "min": 0 } ] }}