• 关于

    g cloud api

    的搜索结果

问题

为什么ECS API创建实例会报错

boxti 2019-12-01 21:51:32 1259 浏览量 回答数 0

回答

spring.cloud.nacos.config.namespace 参数值是 namespace id 不是名字获取的途径有2种:第1种:配置管理页面,如下图所示:参考文档:https://help.aliyun.com/document_detail/100003.html?spm=a2c4g.11174283.6.616.7ed546325OGk4G第2种:配置管理读取的API参考文档:https://help.aliyun.com/document_detail/72618.html?spm=a2c4g.11186623.6.609.51f025930Xc3D5

小六码奴 2019-12-02 02:02:08 0 浏览量 回答数 0

问题

Using AliCloud API to interact with your OSS

winson.zhang 2019-12-01 21:27:37 5923 浏览量 回答数 0

阿里云高校特惠,助力学生创业梦!0元体验,快速入门云计算!

学生动手场景应用,快速了解并掌握云服务器的各种新奇玩法!

回答

您可以使用阿里云负载均衡来访问服务。 背景信息 如果您的集群的cloud-controller-manager版本大于等于v1.9.3,对于指定已有SLB,系统默认不再为该SLB处理监听,用户可以通过设置service.beta.kubernetes.io/alibaba-cloud-loadbalancer-force-override-listeners: "true"参数来显示启用监听配置,或者手动配置该SLB的监听规则。 执行以下命令,可查看cloud-controller-manager的版本。 root@master # kubectl get pod -n kube-system -o yaml|grep image:|grep cloud-con|uniq image: registry-vpc.cn-hangzhou.aliyuncs.com/acs/cloud-controller-manager-amd64:v1.9.3 注意事项 Cloud Controller Manager(简称CCM)会为Type=LoadBalancer类型的Service创建或配置阿里云负载均衡(SLB),包含SLB、监听、虚拟服务器组等资源。 对于非LoadBalancer类型的Service则不会为其配置负载均衡,这包含如下场景:当用户将Type=LoadBalancer的Service变更为Type!=LoadBalancer时,CCM也会删除其原先为该Service创建的SLB(用户通过service.beta.kubernetes.io/alibaba-cloud-loadbalancer-id指定的已有SLB除外)。 自动刷新配置 CCM使用声明式API,会在一定条件下自动根据Service的配置刷新阿里云负载均衡配置,所有用户自行在SLB控制台上修改的配置均存在被覆盖的风险(使用已有SLB同时不覆盖监听的场景除外),因此不能在SLB控制台手动修改Kubernetes创建并维护的SLB的任何配置,否则有配置丢失的风险。 同时支持为serivce指定一个已有的负载均衡,或者让CCM自行创建新的负载均衡。但两种方式在SLB的管理方面存在一些差异: 指定已有SLB 仅支持复用负载均衡控制台创建的SLB,不支持复用CCM创建的SLB。 如果您需要在Kubernetes集群中复用私网类型的SLB,则该SLB需要和Kubernetes集群在同一VPC下。 需要为Service设置annotation:service.beta.kubernetes.io/alibaba-cloud-loadbalancer-id 。 SLB配置 此时CCM会使用该SLB做为Service的SLB,并根据其他annotation配置SLB,并且自动的为SLB创建多个虚拟服务器组(当集群节点变化的时候,也会同步更新虚拟服务器组里面的节点)。 监听配置 是否配置监听取决于service.beta.kubernetes.io/alibaba-cloud-loadbalancer-force-override-listeners: 是否设置为true。如果设置为false,CCM不会为SLB管理任何监听配置;如果设置为true,CCM会根据service配置管理监听,如果监听已经存在,则CCM会覆盖已有监听。 SLB的删除 当Service删除时CCM不会删除用户通过id指定的已有SLB。 CCM管理的SLB CCM会根据Service的配置自动的创建配置SLB、监听、虚拟服务器组等资源,所有资源归CCM管理,因此用户不得手动在SLB控制台更改以上资源的配置,否则CCM在下次Reconcile的时候将配置刷回Service所声明的配置,造成非用户预期的结果。 SLB的删除 当Service删除时CCM会删除该SLB。 后端服务器更新 CCM会自动的为该Service对应的SLB刷新后端虚拟服务器组。当Service对应的后端Endpoint发生变化的时候或者集群节点变化的时候都会自动的更新SLB的后端Server。 spec.externalTrafficPolicy = Cluster模式的Service,CCM默认会将所有节点挂载到SLB的后端(使用BackendLabel标签配置后端的除外)。由于SLB限制了每个ECS上能够attach的SLB的个数(quota),因此这种方式会快速的消耗该quota,当quota耗尽后,会造成Service Reconcile失败。解决的办法,可以使用Local模式的Service。 spec.externalTrafficPolicy = Local模式的Service,CCM默认只会将Service对应的Pod所在的节点加入到SLB后端。这会明显降低quota的消耗速度。同时支持四层源IP保留。 任何情况下CCM不会将Master节点作为SLB的后端。 CCM默认不会从SLB后端移除被kubectl drain/cordon的节点。如需移除节点,请设置service.beta.kubernetes.io/alibaba-cloud-loadbalancer-remove-unscheduled-backend为on。 说明 如果是v1.9.3.164-g2105d2e-aliyun之前的版本,CCM默认会从SLB后端移除被kubectl drain/cordon的节点。 VPC路由 集群中一个节点对应一条路由表项,VPC默认情况下仅支持48条路由表项,如果集群节点数目多于48个,请提工单给VPC产品。 说明 您可以在提交工单时,说明需要修改vpc_quota_route_entrys_num参数,用于提升单个路由表可创建的自定义路由条目的数量。 更多VPC使用限制请参见使用限制。 专有网络VPC配额查询请参见专有网络VPC配额管理。 SLB使用限制 CCM会为Type=LoadBalancer类型的Service创建SLB。默认情况下一个用户可以保留60个SLB实例,如果需要创建的SLB数量大于60,请提交工单给SLB产品。 说明 您可以在提交工单时,说明需要修改slb_quota_instances_num参数,用于提高用户可保有的slb实例个数。 CCM会根据Service将ECS挂载到SLB后端服务器组中。 默认情况下一个ECS实例可挂载的后端服务器组的数量为50个,如果一台ECS需要挂载到更多的后端服务器组中,请提交工单给SLB产品。 说明 您可以在提交工单时,说明需要修改slb_quota_backendservers_num参数,用于提高同一台服务器可以重复添加为SLB后端服务器的次数。 默认情况下一个SLB实例可以挂载200个后端服务器,如果需要挂载更多的后端服务器,请提交工单给SLB产品。 说明 您可以在提交工单时,说明需要修改slb_quota_backendservers_num参数,提高每个SLB实例可以挂载的服务器数量。 CCM会根据Service中定义的端口创建SLB监听。默认情况下一个SLB实例可以添加50个监听,如需添加更多监听,请提交工单给SLB产品。 说明 您可以在提交工单时,说明需要修改slb_quota_listeners_num参数,用于提高每个实例可以保有的监听数量。 更多SLB使用限制请参见使用限制。 负载均衡SLB配额查询请参见负载均衡SLB配额管理。 通过命令行操作 方法一: 通过命令行工具创建一个Nginx应用。 root@master # kubectl run nginx --image=registry.aliyuncs.com/acs/netdia:latest root@master # kubectl get po NAME READY STATUS RESTARTS AGE nginx-2721357637-dvwq3 1/1 Running 1 6s 为Nginx应用创建阿里云负载均衡服务,指定 type=LoadBalancer 来向外网用户暴露Nginx服务。 root@master # kubectl expose deployment nginx --port=80 --target-port=80 --type=LoadBalancer root@master # kubectl get svc NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE nginx 172.19.XX.XX 101.37.XX.XX 80:31891/TCP 4s 在浏览器中访问 http://101.37.XX.XX,来访问您的Nginx服务。 方法二: 将下面的yml code保存到 nginx-svc.yml文件中。 apiVersion: v1 kind: Service metadata: labels: run: nignx name: nginx-01 namespace: default spec: ports: - port: 80 protocol: TCP targetPort: 80 selector: run: nginx type: LoadBalancer 执行如下命令,创建一个Nginx应用。 kubectl apply -f nginx-svc.yml 执行如下命令,向外网用户暴露Nginx服务。 root@master # kubectl get service NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE9d ngi-01nx LoadBalancer 172.19.XX.XX 101.37.XX.XX 80:32325/TCP 3h 在浏览器中访问 http://101.37.XX.XX,来访问您的Nginx服务。 通过 Kubernetes Dashboard 操作 将下面的yml code保存到 nginx-svc.yml文件中。 apiVersion: v1 kind: Service metadata: labels: run: nginx name: http-svc namespace: default spec: ports: - port: 80 protocol: TCP targetPort: 80 selector: run: nginx type: LoadBalancer 登录容器服务管理控制台,单击目标集群右侧的控制台,进入Kubernetes Dashboard页面。 单击创建,开始创建应用。 创建应用 单击使用文件创建。选择刚才保存的nginx-svc.yml 文件。 单击上传。 此时,会创建一个阿里云负载均衡实例指向创建的Nginx应用,服务的名称为 http-svc。 在Kubernetes Dashboard上定位到default命名空间,选择服务。 可以看到刚刚创建的 http-svc 的Nginx服务和机器的负载均衡地址 http://114.55.XX.XX:80。 访问服务 将该地址拷贝到浏览器中即可访问该服务。 通过控制台操作 登录容器服务管理控制台。 在 Kubernetes 菜单下,单击左侧导航栏中的应用 > 无状态,进入无状态(Deployment)页面。 选择目标集群和命名空间,单击右上角使用模板创建。 创建应用 示例模板选为自定义,将以下内容复制到模板中。 apiVersion: v1 kind: Service metadata: labels: run: nginx name: ngnix namespace: default spec: ports: - port: 80 protocol: TCP targetPort: 80 selector: run: nginx type: LoadBalancer 单击创建。 创建成功,单击Kubernetes 控制台前往控制台查看创建进度。 Kubernetes 控制台 或单击左侧导航栏路由与负载均衡 > 服务,选择目标集群和命名空间,查看已部署的服务。 部署服务 更多信息 阿里云负载均衡还支持丰富的配置参数,包含健康检查、收费类型、负载均衡类型等参数。 注释 阿里云可以通过注释annotations的形式支持丰富的负载均衡功能。 创建一个公网类型的负载均衡 apiVersion: v1 kind: Service metadata: name: nginx namespace: default spec: ports: - port: 80 protocol: TCP targetPort: 80 selector: run: nginx type: LoadBalancer 创建一个私网类型的负载均衡 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type: "intranet" name: nginx namespace: default spec: ports: - port: 80 protocol: TCP targetPort: 80 selector: run: nginx type: LoadBalancer 创建HTTP类型的负载均衡 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: "http:80" name: nginx namespace: default spec: ports: - port: 80 protocol: TCP targetPort: 80 selector: run: nginx type: LoadBalancer 创建HTTPS类型的负载均衡 需要先在阿里云控制台上创建一个证书并记录cert-id,然后使用如下annotation创建一个 HTTPS 类型的SLB。 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: "https:443" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id: "${YOUR_CERT_ID}" name: nginx namespace: default spec: ports: - port: 443 protocol: TCP targetPort: 443 selector: run: nginx type: LoadBalancer 限制负载均衡的带宽 只限制负载均衡实例下的总带宽,所有监听共享实例的总带宽,参见共享实例带宽。 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-charge-type: "paybybandwidth" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-bandwidth: "100" name: nginx namespace: default spec: ports: - port: 443 protocol: TCP targetPort: 443 selector: run: nginx type: LoadBalancer 指定负载均衡规格 负载均衡规格可参见CreateLoadBalancer。 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-spec: "slb.s1.small" name: nginx namespace: default spec: ports: - port: 443 protocol: TCP targetPort: 443 selector: run: nginx type: LoadBalancer 使用已有的负载均衡 默认情况下,使用已有的负载均衡实例,不会覆盖监听,如要强制覆盖已有监听,请配置service.beta.kubernetes.io/alibaba-cloud-loadbalancer-force-override-listeners为true。 说明 复用已有的负载均衡默认不覆盖已有监听,因为以下两点原因: 如果已有负载均衡的监听上绑定了业务,强制覆盖可能会引发业务中断。 由于CCM目前支持的后端配置有限,无法处理一些复杂配置。如果有复杂的后端配置需求,可以在不覆盖监听的情况下,通过控制台自行配置监听。 如存在以上两种情况不建议强制覆盖监听,如果已有负载均衡的监听端口不再使用,则可以强制覆盖。 使用已有的负载均衡暂不支持添加额外标签(annotation: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-additional-resource-tags) apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-id: "${YOUR_LOADBALACER_ID}" name: nginx namespace: default spec: ports: - port: 443 protocol: TCP targetPort: 443 selector: run: nginx type: LoadBalancer 使用已有的负载均衡,并强制覆盖已有监听 强制覆盖已有监听,如果监听端口冲突,则会删除已有监听。 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-id: "${YOUR_LOADBALACER_ID}" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-force-override-listeners: "true" name: nginx namespace: default spec: ports: - port: 443 protocol: TCP targetPort: 443 selector: run: nginx type: LoadBalancer 使用指定Label的worker节点作为后端服务器 多个Label以逗号分隔。例如"k1=v1,k2=v2"。多个label之间是and的关系。 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-backend-label: "failure-domain.beta.kubernetes.io/zone=ap-southeast-5a" name: nginx namespace: default spec: ports: - port: 443 protocol: TCP targetPort: 443 selector: run: nginx type: LoadBalancer 为TCP类型的负载均衡配置会话保持时间 参数service.beta.kubernetes.io/alibaba-cloud-loadbalancer-persistence-time仅对TCP协议的监听生效。 如果负载均衡实例配置了多个TCP协议的监听端口,则默认将该配置应用到所有TCP协议的监听端口。 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-persistence-timeout: "1800" name: nginx namespace: default spec: ports: - port: 443 protocol: TCP targetPort: 443 selector: run: nginx type: LoadBalancer 为HTTP&HTTPS协议的负载均衡配置会话保持(insert cookie) 仅支持HTTP及HTTPS协议的负载均衡实例。 如果配置了多个HTTP或者HTTPS的监听端口,该会话保持默认应用到所有HTTP和HTTPS监听端口。 配置insert cookie,以下四项annotation必选。 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-sticky-session: "on" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-sticky-session-type: "insert" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cookie-timeout: "1800" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: "http:80" name: nginx namespace: default spec: ports: - port: 80 protocol: TCP targetPort: 80 selector: run: nginx type: LoadBalancer 为HTTP&HTTPS协议的负载均衡配置会话保持(server cookie) 仅支持HTTP及HTTPS协议的负载均衡实例。 如果配置了多个HTTP或者HTTPS的监听端口,该会话保持默认应用到所有HTTP和HTTPS监听端口。 配置server cookie,以下四项annotation必选。 cookie名称(service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cookie)只能包含字母、数字、‘_’和‘-’。 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-sticky-session: "on" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-sticky-session-type: "server" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cookie: "${YOUR_COOKIE}" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: "http:80" name: nginx namespace: default spec: ports: - port: 80 protocol: TCP targetPort: 80 selector: run: nginx type: LoadBalancer 创建负载均衡时,指定主备可用区 某些region的负载均衡不支持主备可用区,例如ap-southeast-5。 一旦创建,主备可用区不支持修改。 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-master-zoneid: "ap-southeast-5a" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-slave-zoneid: "ap-southeast-5a" name: nginx namespace: default spec: ports: - port: 80 protocol: TCP targetPort: 80 selector: run: nginx type: LoadBalancer 使用Pod所在的节点作为后端服务器 默认externalTrafficPolicy为Cluster模式,会将集群中所有节点挂载到后端服务器。Local模式仅将Pod所在节点作为后端服务器。 Local模式需要设置调度策略为加权轮询wrr。 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-scheduler: "wrr" name: nginx namespace: default spec: externalTrafficPolicy: Local ports: - port: 80 protocol: TCP targetPort: 80 selector: run: nginx type: LoadBalancer 创建私有网络类型(VPC)的负载均衡 创建私有网络类型的负载均衡,以下两个annotation必选。 私网负载均衡支持专有网络(VPC)和经典网络(Classic),两者区别参见实例概述。 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type: "intranet" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-network-type: "vpc" name: nginx namespace: default spec: ports: - port: 443 protocol: TCP targetPort: 443 selector: run: nginx type: LoadBalancer 创建按流量付费的负载均衡 仅支持公网类型的负载均衡实例 以下两项annotation必选 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-bandwidth: "45" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-charge-type: "paybybandwidth" name: nginx namespace: default spec: ports: - port: 443 protocol: TCP targetPort: 443 selector: run: nginx type: LoadBalancer 创建带健康检查的负载均衡 设置TCP类型的健康检查 TCP端口默认开启健康检查,且不支持修改,即service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-flag annotation无效。 设置TCP类型的健康检查,以下所有annotation必选。 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-type: "tcp" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-connect-timeout: "8" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-healthy-threshold: "4" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-unhealthy-threshold: "4" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-interval: "3" name: nginx namespace: default spec: ports: - port: 80 protocol: TCP targetPort: 80 selector: run: nginx type: LoadBalancer 设置HTTP类型的健康检查 设置HTTP类型的健康检查,以下所有的annotation必选。 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-flag: "on" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-type: "http" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-uri: "/test/index.html" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-healthy-threshold: "4" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-unhealthy-threshold: "4" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-timeout: "10" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-interval: "3" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: "http:80" name: nginx namespace: default spec: ports: - port: 80 protocol: TCP targetPort: 80 selector: run: nginx type: LoadBalancer 为负载均衡设置调度算法 rr(默认值):轮询,按照访问顺序依次将外部请求依序分发到后端服务器。 wrr:加权轮询,权重值越高的后端服务器,被轮询到的次数(概率)也越高。 wlc:加权最小连接数,除了根据每台后端服务器设定的权重值来进行轮询,同时还考虑后端服务器的实际负载(即连接数)。当权重值相同时,当前连接数越小的后端服务器被轮询到的次数(概率)也越高。 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-scheduler: "wlc" name: nginx namespace: default spec: ports: - port: 443 protocol: TCP targetPort: 443 selector: run: nginx type: LoadBalancer 为负载均衡配置访问控制策略组 需要先在阿里云负载均衡控制台上创建一个负载均衡访问控制策略组,然后记录该访问控制策略组ID(acl-id),然后使用如下annotation创建一个带有访问控制的负载均衡实例。 白名单适合只允许特定IP访问的场景,black黑名单适用于只限制某些特定IP访问的场景。 使用该功能前,请确保CloudControllerManage组件是最新版本。请登录容器服务管理控制台,在左侧导航栏选择集群 > 集群,在集群列表中对需要升级的集群单击更多 > 系统组件升级,在组件列表中找到Cloud Controller Manager,单击升级。系统组建升级 创建带有访问控制的负载均衡,以下三项annotation必选。 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-acl-status: "on" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-acl-id: "${YOUR_ACL_ID}" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-acl-type: "white" name: nginx namespace: default spec: ports: - port: 443 protocol: TCP targetPort: 443 selector: run: nginx type: LoadBalancer 为负载均衡指定虚拟交换机 通过阿里云专有网络控制台查询交换机ID,然后使用如下的annotation为负载均衡实例指定虚拟交换机。 为负载均衡指定虚拟交换机,以下两项annotation必选。 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type: "intranet" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-vswitch-id: "${YOUR_VSWITCH_ID}" name: nginx namespace: default spec: ports: - port: 443 protocol: TCP targetPort: 443 selector: run: nginx type: LoadBalancer 为负载均衡指定转发端口 端口转发是指将http端口的请求转发到https端口上。 设置端口转发需要先在阿里云控制台上创建一个证书并记录cert-id。 如需设置端口转发,以下三项annotation必选。 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: "https:443,http:80" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id: "${YOUR_CERT_ID}" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-forward-port: "80:443" name: nginx namespace: default spec: ports: - name: https port: 443 protocol: TCP targetPort: 443 - name: http port: 80 protocol: TCP targetPort: 80 selector: run: nginx type: LoadBalancer 为负载均衡添加额外标签 多个tag以逗号分隔,例如"k1=v1,k2=v2"。 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-additional-resource-tags: "Key1=Value1,Key2=Value2" name: nginx namespace: default spec: ports: - port: 80 protocol: TCP targetPort: 80 selector: run: nginx type: LoadBalancer 移除SLB后端unscheduleable状态的节点 kubectl cordon与kubectl drain命令会将节点置为unscheduleable状态,默认service.beta.kubernetes.io/alibaba-cloud-loadbalancer-remove-unscheduled-backend的取值为off,此时不会将处于unscheduleable状态的节点从SLB的后端服务器组移除。若需要从SLB的后端服务器组移除unscheduleable状态的节点,请将service.beta.kubernetes.io/alibaba-cloud-loadbalancer-remove-unscheduled-backend的的取值设置为on。 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-remove-unscheduled-backend: "on" name: nginx spec: externalTrafficPolicy: Local ports: - name: http port: 30080 protocol: TCP targetPort: 80 selector: app: nginx type: LoadBalancer 直接将Pod ENI挂载到SLB后端 支持在Terway 网络模式下,通过annotation:service.beta.kubernetes.io/backend-type:"eni" 将Pod直接挂载到SLB后端,提升网络转发性能。 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/backend-type: "eni" name: nginx spec: ports: - name: http port: 30080 protocol: TCP targetPort: 80 selector: app: nginx type: LoadBalancer 创建IPv6类型的负载均衡 集群的kube-proxy代理模式需要是IPVS。 生成的IPv6地址仅可在支持IPv6的环境中访问。 创建后IP类型不可更改。 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ip-version: "ipv6" name: nginx spec: ports: - port: 80 protocol: TCP targetPort: 80 selector: app: nginx type: LoadBalancer 说明 注释的内容是区分大小写的。 自2019年9月11日起,annotation字段alicloud更新为alibaba-cloud。 例如: 更新前:service.beta.kubernetes.io/alicloud-loadbalancer-id 更新后:service.beta.kubernetes.io/alibaba-cloud-loadbalancer-id 系统将继续兼容alicloud的写法,用户无需做任何修改,敬请注意。 注释 类型 描述 默认值 支持的版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port string 多个值之间由逗号分隔,例如:https:443,http:80 无 v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type string 取值可以是internet或者intranet internet v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-slb-network-type string 负载均衡的网络类型,取值可以是classic或者vpc 取值为vpc时,需设置service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type为intranet。 classic v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-charge-type string 取值可以是paybytraffic或者paybybandwidth paybytraffic v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-id string 负载均衡实例的 ID。通过 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-id指定您已有的SLB,默认情况下,使用已有的负载均衡实例,不会覆盖监听,如要强制覆盖已有监听,请配置service.beta.kubernetes.io/alibaba-cloud-loadbalancer-force-override-listeners为true。 无 v1.9.3.81-gca19cd4-aliyun及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-backend-label string 通过 label 指定 SLB 后端挂载哪些worker节点。 无 v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-spec string 负载均衡实例的规格。可参见:CreateLoadBalancer 无 v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-persistence-timeout string 会话保持时间。 仅针对TCP协议的监听,取值:0-3600(秒) 默认情况下,取值为0,会话保持关闭。 可参见:CreateLoadBalancerTCPListener 0 v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-sticky-session string 是否开启会话保持。取值:on | off 说明 仅对HTTP和HTTPS协议的监听生效。 可参见:CreateLoadBalancerHTTPListener和CreateLoadBalancerHTTPSListener off v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-sticky-session-type string cookie的处理方式。取值: insert:植入Cookie。 server:重写Cookie。 说明 仅对HTTP和HTTPS协议的监听生效。 当service.beta.kubernetes.io/alibaba-cloud-loadbalancer-sticky-session取值为on时,该参数必选。 可参见:CreateLoadBalancerHTTPListener和CreateLoadBalancerHTTPSListener 无 v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cookie-timeout string Cookie超时时间。取值:1-86400(秒) 说明 当service.beta.kubernetes.io/alibaba-cloud-loadbalancer-sticky-session为on且service.beta.kubernetes.io/alibaba-cloud-loadbalancer-sticky-session-type为insert时,该参数必选。 可参见:CreateLoadBalancerHTTPListener和CreateLoadBalancerHTTPSListener 无 v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cookie string 服务器上配置的Cookie名称。 长度为1-200个字符,只能包含ASCII英文字母和数字字符,不能包含逗号、分号或空格,也不能以$开头。 说明 当service.beta.kubernetes.io/alibaba-cloud-loadbalancer-sticky-session为on且service.beta.kubernetes.io/alibaba-cloud-loadbalancer-sticky-session-type为server时,该参数必选。 可参见:CreateLoadBalancerHTTPListener和CreateLoadBalancerHTTPSListener 无 v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-master-zoneid string 主后端服务器的可用区ID。 无 v1.9.3.10-gfb99107-aliyun及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-slave-zoneid string 备后端服务器的可用区ID。 无 v1.9.3.10-gfb99107-aliyun及以上版本 externalTrafficPolicy string 哪些节点可以作为后端服务器,取值: Cluster:使用所有后端节点作为后端服务器。 Local:使用Pod所在节点作为后端服务器。 Cluster v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-force-override-listeners string 绑定已有负载均衡时,是否强制覆盖该SLB的监听。 false:不覆盖 v1.9.3.81-gca19cd4-aliyun及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-bandwidth string 负载均衡的带宽,仅适用于公网类型的负载均衡。 50 v1.9.3.10-gfb99107-aliyun及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id string 阿里云上的证书ID。您需要先上传证书 无 v1.9.3.164-g2105d2e-aliyun及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-flag string 取值是on | off TCP监听默认为on且不可更改。 HTTP监听默认为off。 默认为off。TCP 不需要改参数。因为 TCP 默认打开健康检查,用户不可设置。 v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-type string 健康检查类型,取值:tcp | http。 可参见:CreateLoadBalancerTCPListener tcp v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-uri string 用于健康检查的URI。 说明 当健康检查类型为TCP模式时,无需配置该参数。 可参见:CreateLoadBalancerTCPListener 无 v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-connect-port string 健康检查使用的端口。取值: -520:默认使用监听配置的后端端口。 1-65535:健康检查的后端服务器的端口。 可参见:CreateLoadBalancerTCPListener 无 v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-healthy-threshold string 健康检查连续成功多少次后,将后端服务器的健康检查状态由fail判定为success。 取值:2-10 可参见:CreateLoadBalancerTCPListener 3 v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-unhealthy-threshold string 健康检查连续失败多少次后,将后端服务器的健康检查状态由success判定为fail。取值: 2-10 可参见:CreateLoadBalancerTCPListener 3 v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-interval string 健康检查的时间间隔。 取值:1-50(秒) 可参见:CreateLoadBalancerTCPListener 2 v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-connect-timeout string 接收来自运行状况检查的响应需要等待的时间,适用于TCP模式。如果后端ECS在指定的时间内没有正确响应,则判定为健康检查失败。 取值:1-300(秒) 说明 如果service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-connect-timeout的值小于service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-interval的值,则service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-connect-timeout无效,超时时间为service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-interval的值。 可参见:CreateLoadBalancerTCPListener 5 v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-timeout string 接收来自运行状况检查的响应需要等待的时间,适用于HTTP模式。如果后端ECS在指定的时间内没有正确响应,则判定为健康检查失败。 取值:1-300(秒) 说明 如果 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-timeout的值小于service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-interval的值,则 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-timeout无效,超时时间为 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-interval的值。 可参见:CreateLoadBalancerTCPListener 5 v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-domain string 用于健康检查的域名。 $_ip:后端服务器的私网IP。当指定了IP或该参数未指定时,负载均衡会使用各后端服务器的私网IP当做健康检查使用的域名。 domain:域名长度为1-80,只能包含字母、数字、点号(.)和连字符(-)。 无 v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-httpcode string 健康检查正常的HTTP状态码,多个状态码用逗号(,)分割。取值: http_2xx http_3xx http_4xx http_5xx 默认值为http_2xx。 http_2xx v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-scheduler string 调度算法。取值wrr | wlc| rr。 wrr:权重值越高的后端服务器,被轮询到的次数(概率)也越高。 wlc:除了根据每台后端服务器设定的权重值来进行轮询,同时还考虑后端服务器的实际负载(即连接数)。当权重值相同时,当前连接数越小的后端服务器被轮询到的次数(概率)也越高。 rr:默认取值,按照访问顺序依次将外部请求依序分发到后端服务器。 rr v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-acl-status string 是否开启访问控制功能。取值: on | off off v1.9.3.164-g2105d2e-aliyun及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-acl-id string 监听绑定的访问策略组ID。当AclStatus参数的值为on时,该参数必选。 无 v1.9.3.164-g2105d2e-aliyun及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-acl-type string 访问控制类型。 取值:white | black。 white:仅转发来自所选访问控制策略组中设置的IP地址或地址段的请求,白名单适用于应用只允许特定IP访问的场景。设置白名单存在一定业务风险。一旦设名单,就只有白名单中的IP可以访问负载均衡监听。如果开启了白名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。 black: 来自所选访问控制策略组中设置的IP地址或地址段的所有请求都不会转发,黑名单适用于应用只限制某些特定IP访问的场景。如果开启了黑名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。当AclStatus参数的值为on时,该参数必选。 无 v1.9.3.164-g2105d2e-aliyun及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-vswitch-id string 负载均衡实例所属的VSwitch ID。设置该参数时需同时设置addresstype为intranet。 无 v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-forward-port string 将HTTP请求转发至HTTPS指定端口。取值如80:443 无 v1.9.3.164-g2105d2e-aliyun及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-additional-resource-tags string 需要添加的Tag列表,多个标签用逗号分隔。例如:"k1=v1,k2=v2" 无 v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-remove-unscheduled-backend string 从slb后端移除SchedulingDisabled Node。取值on | off off v1.9.3.164-g2105d2e-aliyun及以上版本 service.beta.kubernetes.io/backend-type string 支持在Terway eni网络模式下,通过设定改参数为"eni",可将Pod直接挂载到SLB后端,提升网络转发性能。取值:eni。 无 v1.9.3.164-g2105d2e-aliyun及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ip-version string 负载均衡实例的IP版本,取值:ipv4或ipv6 ipv4 v1.9.3.220-g24b1885-aliyun及以上版本

1934890530796658 2020-03-31 15:26:42 0 浏览量 回答数 0

问题

怎么无法通过api来开通ecs服务器实例?

a690984119 2019-12-01 20:03:30 1991 浏览量 回答数 2

回答

[root@iZwz92q9h36kv8posr0i6uZ ~]# ags ags is the command line interface to Alibaba Cloud Genomics Compute Service Usage: ags [flags] ags [command] Available Commands: completion output shell completion code for the specified shell (bash or zsh) config setup ags client necessary info delete delete a workflow and its associated pods get display details about a workflow help Help about any command install install ags kubectl kubectl command lint validate a file or directory of workflow manifests list list workflows logs view logs of a workflow resubmit resubmit a workflow resume resume a workflow retry retry a workflow submit submit a workflow suspend suspend a workflow terminate terminate a workflow uninstall uninstall ags version Print version information wait waits for a workflow to complete watch watch a workflow until it completes Flags: --as string Username to impersonate for the operation --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --certificate-authority string Path to a cert file for the certificate authority --client-certificate string Path to a client certificate file for TLS --client-key string Path to a client key file for TLS --cluster string The name of the kubeconfig cluster to use --context string The name of the kubeconfig context to use -h, --help help for ags --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --kubeconfig string Path to a kube config. Only required if out-of-cluster -n, --namespace string If present, the namespace scope for this CLI request --password string Password for basic authentication to the API server --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") --server string The address and port of the Kubernetes API server --token string Bearer token for authentication to the API server --user string The name of the kubeconfig user to use --username string Username for basic authentication to the API server Use "ags [command] --help" for more information about a command.

景凌凯 2020-04-03 22:42:02 0 浏览量 回答数 0

问题

Golang create instance failed

2019-12-01 19:03:58 311 浏览量 回答数 1

问题

在EMR类中找不到Spark-submit异常java

小六码奴 2019-12-01 19:38:43 418 浏览量 回答数 1

回答

详细解答可以参考官方帮助文档 API 版本:2014-05-26 最近更新时间:2017-4-25 发布时间 更新 说明 2017-4-25 新增 SSH 密钥对接口 新增 CreateKeyPair 接口,创建 SSH 密钥对 新增 DeleteKeyPairs 接口,删除 SSH 密钥对 新增 DescribeKeyPairs 接口,分页查询 SSH 密钥对 新增 ImportKeyPair 接口,导入 SSH 密钥对 新增 AttachKeyPair 接口,绑定 SSH 密钥对 新增 DetachKeyPair 接口,解绑 SSH 密钥对 2016-4-1 新增快照接口 新增CreateAutoSnapshotPolicy接口,创建自动快照策略 新增DeleteAutoSnapshotPolicy接口,释放自动快照策略 新增ModifyAutoSnapshotPolicyEx接口,修改自动快照策略 新增DescribeAutoSnapshotPolicyEx接口,查询自动快照策略 新增ApplyAutoSnapshotPolicy接口,执行自动快照策略 新增CancelAutoSnapshotPolicy接口,取消自动快照策略 2015-12-22 新增导入镜像接口和任务管理接口 新增ImportImage接口,导入用户的自定义镜像 新增DescribeTasks接口,查询任务列表 新增DescribeTaskAttribute接口,查询任务详情 新增CancelTask接口,取消任务 2015-12-09 Tag 接口变更 DescribeResourceByTags 接口下线 RemoveTags 接口中,ResourceId 为必填 DescribeInstanceTypes 支持按照规格族过滤; 2015-11-19 新实例系列上线 增加 DescribeInstanceTypeFamilies 接口,用于查询实例规格族信息 DescribeInstances 支持按照实例规格族进行过滤 ZoneType 增加出参 AvailableInstanceTypes,表示该可用区下可以创建的所有实例规格 返回结果增加系列 II 的实例规格 2015-10-10 HaVip 上线 支持 HaVip 相关的接口 2015-09-04 高效云盘上线 支持创建高效云盘,参数值为:cloud_efficiency 2015-08-20 Tag 功能上线 用户可以基于标签对资源进行分组操作 2015-08-04 VPC 功能上线 支持创建 VPC 类型的实例 增加 VPC 相关接口 增加 VRouter 相关接口 增加 VSwitch 相关接口 增加 EIP 相关接口 增加 RouteTable 相关接口 2015-05-15 共享镜像上线 增加了共享镜像的接口 2015-05-14 RAM 授权方式四段变五段 RAM 授权方式增加了需要指定 accountid 的要求 原有四段授权方式仍然兼容,但推荐使用新的五段授权方式 2015-04-21 新增磁盘扩容的功能 新增了 ResizeDisk 接口 改动了部分接口的错误码 2015-03-01 增加了错误代码的中文描述 增加了接口中错误代码的中文描述 补全了安全组接口的遗漏参数 增加了安全组接口 ModifySecurityGroupAttribute 接口 2015-02-06 转为在线文档,增加了虚拟专有网络的 API,Bug Fix 和小的调整 增加了虚拟专有网络的 API 增加了新的实例规格 ModifyDiskAttribute 接口中增加了 EnableAutoSnapshot 的入参,同时在 DescribeDisks 接口中增加了 EnableAutoSnapshot 的出参 修正了 DescribeInstanceMonitorData 中的 InternetTX,InternetRX,IntranetTX 和 IntranetRX 的单位 2014-07-23 增加了对可用区,独立普通云盘和自动快照的支持 增加了一些接口中 ZoneId(可用区)的传入参数 更改了一些查询接口的传出参数,更加丰富 增加了错误代码,细化了每个接口的错误代码场景 更新了大量的代码示例 单独增加章节描述了欠费和安全锁定后的接口行为描述 增加了独立普通云盘的状态图和状态表 2014-04-03 为全网开放所做的改动 增减了一些 API 增添了一些错误码 细化了每个 API 可能遇到的错误码 修改了一些参数的可选值 完善接口的说明 在同一接口中使用相同的 RequestId 增加快照创建于 2013 年 7 月 15 日(含)之前对 CreateImage / AddDisk 的限制 增加 CreateInstance 限制:实例内存为 512M 时不能使用 windows 操作系统 内存为 4G(含)以上时不能使用 32 位操作系统 调整 DescribeInstanceMonitorData 示例代码,增加 InstanceId、Time 参数 2013-05-22 完善实例、磁盘、快照部分接口说明 完善实例、磁盘、快照部分接口说明。 2013-04-10 新增重置实例、快照显示名称、查询指定实例的监控信息等功能 新增 ResetInstance 接口。 快照增加 SnapshotName 属性。 GetMonitorData 增加参数 InstanceId,用于查询指定实例的监控信息。 完善文档接口说明。 2013-01-24 版本 2014-05-26 第一版确定 提供了实例、磁盘、镜像、快照、安全组、公网 IP、地域、监控等操作接口。

2019-12-01 22:57:15 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 API 版本:2014-05-26 最近更新时间:2017-4-25 发布时间 更新 说明 2017-4-25 新增 SSH 密钥对接口 新增 CreateKeyPair 接口,创建 SSH 密钥对 新增 DeleteKeyPairs 接口,删除 SSH 密钥对 新增 DescribeKeyPairs 接口,分页查询 SSH 密钥对 新增 ImportKeyPair 接口,导入 SSH 密钥对 新增 AttachKeyPair 接口,绑定 SSH 密钥对 新增 DetachKeyPair 接口,解绑 SSH 密钥对 2016-4-1 新增快照接口 新增CreateAutoSnapshotPolicy接口,创建自动快照策略 新增DeleteAutoSnapshotPolicy接口,释放自动快照策略 新增ModifyAutoSnapshotPolicyEx接口,修改自动快照策略 新增DescribeAutoSnapshotPolicyEx接口,查询自动快照策略 新增ApplyAutoSnapshotPolicy接口,执行自动快照策略 新增CancelAutoSnapshotPolicy接口,取消自动快照策略 2015-12-22 新增导入镜像接口和任务管理接口 新增ImportImage接口,导入用户的自定义镜像 新增DescribeTasks接口,查询任务列表 新增DescribeTaskAttribute接口,查询任务详情 新增CancelTask接口,取消任务 2015-12-09 Tag 接口变更 DescribeResourceByTags 接口下线 RemoveTags 接口中,ResourceId 为必填 DescribeInstanceTypes 支持按照规格族过滤; 2015-11-19 新实例系列上线 增加 DescribeInstanceTypeFamilies 接口,用于查询实例规格族信息 DescribeInstances 支持按照实例规格族进行过滤 ZoneType 增加出参 AvailableInstanceTypes,表示该可用区下可以创建的所有实例规格 返回结果增加系列 II 的实例规格 2015-10-10 HaVip 上线 支持 HaVip 相关的接口 2015-09-04 高效云盘上线 支持创建高效云盘,参数值为:cloud_efficiency 2015-08-20 Tag 功能上线 用户可以基于标签对资源进行分组操作 2015-08-04 VPC 功能上线 支持创建 VPC 类型的实例 增加 VPC 相关接口 增加 VRouter 相关接口 增加 VSwitch 相关接口 增加 EIP 相关接口 增加 RouteTable 相关接口 2015-05-15 共享镜像上线 增加了共享镜像的接口 2015-05-14 RAM 授权方式四段变五段 RAM 授权方式增加了需要指定 accountid 的要求 原有四段授权方式仍然兼容,但推荐使用新的五段授权方式 2015-04-21 新增磁盘扩容的功能 新增了 ResizeDisk 接口 改动了部分接口的错误码 2015-03-01 增加了错误代码的中文描述 增加了接口中错误代码的中文描述 补全了安全组接口的遗漏参数 增加了安全组接口 ModifySecurityGroupAttribute 接口 2015-02-06 转为在线文档,增加了虚拟专有网络的 API,Bug Fix 和小的调整 增加了虚拟专有网络的 API 增加了新的实例规格 ModifyDiskAttribute 接口中增加了 EnableAutoSnapshot 的入参,同时在 DescribeDisks 接口中增加了 EnableAutoSnapshot 的出参 修正了 DescribeInstanceMonitorData 中的 InternetTX,InternetRX,IntranetTX 和 IntranetRX 的单位 2014-07-23 增加了对可用区,独立普通云盘和自动快照的支持 增加了一些接口中 ZoneId(可用区)的传入参数 更改了一些查询接口的传出参数,更加丰富 增加了错误代码,细化了每个接口的错误代码场景 更新了大量的代码示例 单独增加章节描述了欠费和安全锁定后的接口行为描述 增加了独立普通云盘的状态图和状态表 2014-04-03 为全网开放所做的改动 增减了一些 API 增添了一些错误码 细化了每个 API 可能遇到的错误码 修改了一些参数的可选值 完善接口的说明 在同一接口中使用相同的 RequestId 增加快照创建于 2013 年 7 月 15 日(含)之前对 CreateImage / AddDisk 的限制 增加 CreateInstance 限制:实例内存为 512M 时不能使用 windows 操作系统 内存为 4G(含)以上时不能使用 32 位操作系统 调整 DescribeInstanceMonitorData 示例代码,增加 InstanceId、Time 参数 2013-05-22 完善实例、磁盘、快照部分接口说明 完善实例、磁盘、快照部分接口说明。 2013-04-10 新增重置实例、快照显示名称、查询指定实例的监控信息等功能 新增 ResetInstance 接口。 快照增加 SnapshotName 属性。 GetMonitorData 增加参数 InstanceId,用于查询指定实例的监控信息。 完善文档接口说明。 2013-01-24 版本 2014-05-26 第一版确定 提供了实例、磁盘、镜像、快照、安全组、公网 IP、地域、监控等操作接口。

2019-12-01 22:57:15 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 API 版本:2014-05-26 最近更新时间:2017-4-25 发布时间 更新 说明 2017-4-25 新增 SSH 密钥对接口 新增 CreateKeyPair 接口,创建 SSH 密钥对 新增 DeleteKeyPairs 接口,删除 SSH 密钥对 新增 DescribeKeyPairs 接口,分页查询 SSH 密钥对 新增 ImportKeyPair 接口,导入 SSH 密钥对 新增 AttachKeyPair 接口,绑定 SSH 密钥对 新增 DetachKeyPair 接口,解绑 SSH 密钥对 2016-4-1 新增快照接口 新增CreateAutoSnapshotPolicy接口,创建自动快照策略 新增DeleteAutoSnapshotPolicy接口,释放自动快照策略 新增ModifyAutoSnapshotPolicyEx接口,修改自动快照策略 新增DescribeAutoSnapshotPolicyEx接口,查询自动快照策略 新增ApplyAutoSnapshotPolicy接口,执行自动快照策略 新增CancelAutoSnapshotPolicy接口,取消自动快照策略 2015-12-22 新增导入镜像接口和任务管理接口 新增ImportImage接口,导入用户的自定义镜像 新增DescribeTasks接口,查询任务列表 新增DescribeTaskAttribute接口,查询任务详情 新增CancelTask接口,取消任务 2015-12-09 Tag 接口变更 DescribeResourceByTags 接口下线 RemoveTags 接口中,ResourceId 为必填 DescribeInstanceTypes 支持按照规格族过滤; 2015-11-19 新实例系列上线 增加 DescribeInstanceTypeFamilies 接口,用于查询实例规格族信息 DescribeInstances 支持按照实例规格族进行过滤 ZoneType 增加出参 AvailableInstanceTypes,表示该可用区下可以创建的所有实例规格 返回结果增加系列 II 的实例规格 2015-10-10 HaVip 上线 支持 HaVip 相关的接口 2015-09-04 高效云盘上线 支持创建高效云盘,参数值为:cloud_efficiency 2015-08-20 Tag 功能上线 用户可以基于标签对资源进行分组操作 2015-08-04 VPC 功能上线 支持创建 VPC 类型的实例 增加 VPC 相关接口 增加 VRouter 相关接口 增加 VSwitch 相关接口 增加 EIP 相关接口 增加 RouteTable 相关接口 2015-05-15 共享镜像上线 增加了共享镜像的接口 2015-05-14 RAM 授权方式四段变五段 RAM 授权方式增加了需要指定 accountid 的要求 原有四段授权方式仍然兼容,但推荐使用新的五段授权方式 2015-04-21 新增磁盘扩容的功能 新增了 ResizeDisk 接口 改动了部分接口的错误码 2015-03-01 增加了错误代码的中文描述 增加了接口中错误代码的中文描述 补全了安全组接口的遗漏参数 增加了安全组接口 ModifySecurityGroupAttribute 接口 2015-02-06 转为在线文档,增加了虚拟专有网络的 API,Bug Fix 和小的调整 增加了虚拟专有网络的 API 增加了新的实例规格 ModifyDiskAttribute 接口中增加了 EnableAutoSnapshot 的入参,同时在 DescribeDisks 接口中增加了 EnableAutoSnapshot 的出参 修正了 DescribeInstanceMonitorData 中的 InternetTX,InternetRX,IntranetTX 和 IntranetRX 的单位 2014-07-23 增加了对可用区,独立普通云盘和自动快照的支持 增加了一些接口中 ZoneId(可用区)的传入参数 更改了一些查询接口的传出参数,更加丰富 增加了错误代码,细化了每个接口的错误代码场景 更新了大量的代码示例 单独增加章节描述了欠费和安全锁定后的接口行为描述 增加了独立普通云盘的状态图和状态表 2014-04-03 为全网开放所做的改动 增减了一些 API 增添了一些错误码 细化了每个 API 可能遇到的错误码 修改了一些参数的可选值 完善接口的说明 在同一接口中使用相同的 RequestId 增加快照创建于 2013 年 7 月 15 日(含)之前对 CreateImage / AddDisk 的限制 增加 CreateInstance 限制:实例内存为 512M 时不能使用 windows 操作系统 内存为 4G(含)以上时不能使用 32 位操作系统 调整 DescribeInstanceMonitorData 示例代码,增加 InstanceId、Time 参数 2013-05-22 完善实例、磁盘、快照部分接口说明 完善实例、磁盘、快照部分接口说明。 2013-04-10 新增重置实例、快照显示名称、查询指定实例的监控信息等功能 新增 ResetInstance 接口。 快照增加 SnapshotName 属性。 GetMonitorData 增加参数 InstanceId,用于查询指定实例的监控信息。 完善文档接口说明。 2013-01-24 版本 2014-05-26 第一版确定 提供了实例、磁盘、镜像、快照、安全组、公网 IP、地域、监控等操作接口。

2019-12-01 22:57:15 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 API 版本:2014-05-26 最近更新时间:2017-4-25 发布时间 更新 说明 2017-4-25 新增 SSH 密钥对接口 新增 CreateKeyPair 接口,创建 SSH 密钥对 新增 DeleteKeyPairs 接口,删除 SSH 密钥对 新增 DescribeKeyPairs 接口,分页查询 SSH 密钥对 新增 ImportKeyPair 接口,导入 SSH 密钥对 新增 AttachKeyPair 接口,绑定 SSH 密钥对 新增 DetachKeyPair 接口,解绑 SSH 密钥对 2016-4-1 新增快照接口 新增CreateAutoSnapshotPolicy接口,创建自动快照策略 新增DeleteAutoSnapshotPolicy接口,释放自动快照策略 新增ModifyAutoSnapshotPolicyEx接口,修改自动快照策略 新增DescribeAutoSnapshotPolicyEx接口,查询自动快照策略 新增ApplyAutoSnapshotPolicy接口,执行自动快照策略 新增CancelAutoSnapshotPolicy接口,取消自动快照策略 2015-12-22 新增导入镜像接口和任务管理接口 新增ImportImage接口,导入用户的自定义镜像 新增DescribeTasks接口,查询任务列表 新增DescribeTaskAttribute接口,查询任务详情 新增CancelTask接口,取消任务 2015-12-09 Tag 接口变更 DescribeResourceByTags 接口下线 RemoveTags 接口中,ResourceId 为必填 DescribeInstanceTypes 支持按照规格族过滤; 2015-11-19 新实例系列上线 增加 DescribeInstanceTypeFamilies 接口,用于查询实例规格族信息 DescribeInstances 支持按照实例规格族进行过滤 ZoneType 增加出参 AvailableInstanceTypes,表示该可用区下可以创建的所有实例规格 返回结果增加系列 II 的实例规格 2015-10-10 HaVip 上线 支持 HaVip 相关的接口 2015-09-04 高效云盘上线 支持创建高效云盘,参数值为:cloud_efficiency 2015-08-20 Tag 功能上线 用户可以基于标签对资源进行分组操作 2015-08-04 VPC 功能上线 支持创建 VPC 类型的实例 增加 VPC 相关接口 增加 VRouter 相关接口 增加 VSwitch 相关接口 增加 EIP 相关接口 增加 RouteTable 相关接口 2015-05-15 共享镜像上线 增加了共享镜像的接口 2015-05-14 RAM 授权方式四段变五段 RAM 授权方式增加了需要指定 accountid 的要求 原有四段授权方式仍然兼容,但推荐使用新的五段授权方式 2015-04-21 新增磁盘扩容的功能 新增了 ResizeDisk 接口 改动了部分接口的错误码 2015-03-01 增加了错误代码的中文描述 增加了接口中错误代码的中文描述 补全了安全组接口的遗漏参数 增加了安全组接口 ModifySecurityGroupAttribute 接口 2015-02-06 转为在线文档,增加了虚拟专有网络的 API,Bug Fix 和小的调整 增加了虚拟专有网络的 API 增加了新的实例规格 ModifyDiskAttribute 接口中增加了 EnableAutoSnapshot 的入参,同时在 DescribeDisks 接口中增加了 EnableAutoSnapshot 的出参 修正了 DescribeInstanceMonitorData 中的 InternetTX,InternetRX,IntranetTX 和 IntranetRX 的单位 2014-07-23 增加了对可用区,独立普通云盘和自动快照的支持 增加了一些接口中 ZoneId(可用区)的传入参数 更改了一些查询接口的传出参数,更加丰富 增加了错误代码,细化了每个接口的错误代码场景 更新了大量的代码示例 单独增加章节描述了欠费和安全锁定后的接口行为描述 增加了独立普通云盘的状态图和状态表 2014-04-03 为全网开放所做的改动 增减了一些 API 增添了一些错误码 细化了每个 API 可能遇到的错误码 修改了一些参数的可选值 完善接口的说明 在同一接口中使用相同的 RequestId 增加快照创建于 2013 年 7 月 15 日(含)之前对 CreateImage / AddDisk 的限制 增加 CreateInstance 限制:实例内存为 512M 时不能使用 windows 操作系统 内存为 4G(含)以上时不能使用 32 位操作系统 调整 DescribeInstanceMonitorData 示例代码,增加 InstanceId、Time 参数 2013-05-22 完善实例、磁盘、快照部分接口说明 完善实例、磁盘、快照部分接口说明。 2013-04-10 新增重置实例、快照显示名称、查询指定实例的监控信息等功能 新增 ResetInstance 接口。 快照增加 SnapshotName 属性。 GetMonitorData 增加参数 InstanceId,用于查询指定实例的监控信息。 完善文档接口说明。 2013-01-24 版本 2014-05-26 第一版确定 提供了实例、磁盘、镜像、快照、安全组、公网 IP、地域、监控等操作接口。

2019-12-01 22:57:15 0 浏览量 回答数 0

问题

19年BAT常问面试题汇总:JVM+微服务+多线程+锁+高并发性能

游客pklijor6gytpx 2020-01-09 10:31:29 1271 浏览量 回答数 3

回答

详细解答可以参考官方帮助文档 本文描述了块存储性能的重要指标、不同块存储类型的性能、性能测试方式和结果解读。 衡量指标 衡量块存储产品的性能指标主要包括:IOPS、吞吐量和访问时延。 IOPS IOPS是Input/Output Operations per Second,即每秒能处理的I/O个数,用于表示块存储处理读写(输出/输入)的能力。如果要部署事务密集型应用,典型场景比如数据库类业务应用,需要关注IOPS性能。 最普遍的IOPS性能指标是顺序操作和随机操作,如下表所示。 IOPS性能指标 描述 总 IOPS 每秒执行的I/O操作总次数。 随机读IOPS 每秒执行的随机读I/O操作的平均次数 对硬盘存储位置的不连续访问。 随机写IOPS 每秒执行的随机写I/O操作的平均次数 顺序读IOPS 每秒执行的顺序读I/O操作的平均次数 对硬盘存储位置的连续访问。 顺序写IOPS 每秒执行的顺序写I/O操作的平均次数 吞吐量 吞吐量是指单位时间内可以成功传输的数据数量。 如果要部署大量顺序读写的应用,典型场景比如Hadoop离线计算型业务,需要关注吞吐量。 访问时延 访问时延是指块存储处理一个I/O需要的时间。 如果您的应用对时延比较敏感,比如数据库(过高的时延会导致应用性能下降或报错),建议您使用ESSD云盘、SSD云盘、SSD共享块存储或本地SSD盘类产品。 如果您的应用更偏重存储吞吐能力,对时延相对不太敏感,比如Hadoop离线计算等吞吐密集型应用,建议您使用本地HDD盘类产品,如d1或d1ne大数据型实例。 性能 以下是不同块存储产品的性能对比表。 云盘性能 四种云盘的性能对比如下表所示。 参数 ESSD云盘 SSD云盘 高效云盘 普通云盘 单盘最大容量 32768 GiB 32768 GiB 32768 GiB 2000 GiB 最大IOPS 1000000 25000* 5000 数百 最大吞吐量 4000 MBps 300 MBps* 140 MBps 30−40 MBps 单盘性能计算公式** IOPS = min{1200 + 100 * 容量, 1000000} IOPS = min{1800 + 30 * 容量, 25000} IOPS = min{1800 + 8 * 容量, 5000} 无 吞吐量 = min{80 + 1 * 容量, 4000} MBps 吞吐量 = min{120 + 0.5 * 容量, 300} MBps 吞吐量 = min{100+ 0.15 * 容量, 140} MBps 无 数据可靠性 99.9999999% 99.9999999% 99.9999999% 99.9999999% API名称 cloud_essd cloud_ssd cloud_efficiency cloud 典型应用场景 OLTP数据库:如MySQL、PostgreSQL、Oracle、SQL Server等关系型数据库 NoSQL数据库:如MongoDB、HBase、Cassandra等非关系型数据库 ElasticSearch分布式日志:ELK(Elasticsearch、Logstash和Kibana)日志分析等 PostgreSQL、MySQL、Oracle、SQL Server等中大型关系数据库应用 对数据可靠性要求高的中大型开发测试环境 MySQL、SQL Server、PostgreSQL等中小型关系数据库应用 对数据可靠性要求高、中度性能要求的中大型开发测试应用 数据不被经常访问或者低I/O负载的应用场景(如果应用需要更高的I/O性能,建议使用SSD云盘) 需要低成本并且有随机读写I/O的应用环境 * SSD云盘的性能因数据块大小而异,数据块越小,吞吐量越小,IOPS越高,如下表所示。只有挂载到I/O优化的实例时,SSD云盘才能获得期望的IOPS性能。挂载到非I/O优化的实例时,SSD云盘无法获得期望的IOPS性能。 数据块大小 IOPS最大值 吞吐量 4 KiB 约25000 很小,远低于300 MBps 16 KiB 约17200 将近300 MBps 32 KiB 约9600 64 KiB 约4800 ** 单盘性能计算公式说明: 以单块SSD云盘最大IOPS计算公式为例说明:起步1800 IOPS,每GiB增加30 IOPS,最高25000 IOPS。 以单块SSD云盘最大吞吐量计算公式为例说明:起步120 MBps,每GiB增加0.5 MBps,上限为 300 MBps的吞吐量。 不同云盘的单路随机写访问时延如下: ESSD云盘:0.1−0.2 ms SSD云盘:0.5−2 ms 高效云盘:1−3 ms 普通云盘:5−10 ms 共享块存储性能 2种共享块存储的性能对比如下表所示。 参数 SSD共享块存储 高效共享块存储 最大容量 单盘:32768 GiB 单个实例:最大128 TiB 单盘:32768 GiB 单个实例:最大128 TiB 最大随机读写IOPS* 30000 5000 最大顺序读写吞吐量* 512 MBps 160 MBps 单盘性能计算公式** IOPS = min{1600 + 40 * 容量, 30000} IOPS = min{1000 + 6 * 容量, 5000} 吞吐量 = min{100 + 0.5 * 容量, 512} MBps 吞吐量 = min{50 + 0.15 * 容量, 160} MBps 典型应用场景 Oracle RAC SQL Server 故障转移集群 服务器高可用 服务器高可用架构 开发测试数据库高可用架构 * 最大IOPS和吞吐量是在2个或2个以上实例同时压测裸设备能达到的性能数值。 ** 单盘性能计算公式说明: 以单块SSD共享块存储最大IOPS计算公式为例:起步1600 IOPS,每GiB增加40 IOPS,最高30000 IOPS。 以单块SSD共享块存储最大吞吐量计算公式为例:起步100 MBps,每GiB增加0.5 MBps,上限为512 MBps的吞吐量。 不同共享块存储的单路访问时延如下: SSD共享块存储:0.5−2 ms 高效共享块存储:1−3 ms 本地盘性能 本地盘的性能信息,请参考 本地盘。 性能测试 根据ECS实例的操作系统不同,您可以使用不同的工具测试块存储性能: Linux实例:可以使用DD、fio或sysbench等工具测试块存储性能。 Windows实例:可以使用fio、Iometer等工具测试块存储性能。 说明 在不同操作系统环境中,不同工具测试出来的硬盘基准性能会有差异。本文中所描述的性能参数,均为Linux实例下采用fio工具的测试结果,以此作为块存储产品性能指标参考。 本文以Linux实例和fio为例,说明如何使用fio测试块存储性能。在进行测试前,请确保块存储设备已经4 KiB对齐。 警告 测试裸盘可以获得真实的块存储盘性能,但直接测试裸盘会破坏文件系统结构,请在测试前提前做好数据备份。建议您只在新购无数据的ECS实例上使用工具测试块存储性能,避免造成数据丢失。 测试随机写IOPS,运行以下命令: fio -direct=1 -iodepth=128 -rw=randwrite -ioengine=libaio -bs=4k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=iotest -name=Rand_Write_Testing 测试随机读IOPS,运行以下命令: fio -direct=1 -iodepth=128 -rw=randread -ioengine=libaio -bs=4k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=iotest -name=Rand_Read_Testing 测试顺序写吞吐量,运行以下命令: fio -direct=1 -iodepth=64 -rw=write -ioengine=libaio -bs=1024k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=iotest -name=Write_PPS_Testing 测试顺序读吞吐量,运行以下命令: fio -direct=1 -iodepth=64 -rw=read -ioengine=libaio -bs=1024k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=iotest -name=Read_PPS_Testing 下表以测试随机写IOPS的命令为例,说明命令中各种参数的含义。 参数 说明 -direct=1 表示测试时忽略I/O缓存,数据直写。 -iodepth=128 表示使用AIO时,同时发出I/O数的上限为128。 -rw=randwrite 表示测试时的读写策略为随机写(random writes)。作其它测试时可以设置为: randread(随机读random reads) read(顺序读sequential reads) write(顺序写sequential writes) randrw(混合随机读写mixed random reads and writes) -ioengine=libaio 表示测试方式为libaio(Linux AIO,异步I/O)。应用程序使用I/O通常有两种方式: 同步 同步的I/O一次只能发出一个I/O请求,等待内核完成才返回。这样对于单个线程iodepth总是小于1,但是可以透过多个线程并发执行来解决。通常会用16−32根线程同时工作将iodepth塞满。 异步 异步的I/O通常使用libaio这样的方式一次提交一批I/O请求,然后等待一批的完成,减少交互的次数,会更有效率。 -bs=4k 表示单次I/O的块文件大小为4 KB。未指定该参数时的默认大小也是4 KB。 测试IOPS时,建议将bs设置为一个比较小的值,如本示例中的4k。 测试吞吐量时,建议将bs设置为一个较大的值,如本示例中的1024k。 -size=1G 表示测试文件大小为1 GiB。 -numjobs=1 表示测试线程数为1。 -runtime=1000 表示测试时间为1000秒。如果未配置,则持续将前述-size指定大小的文件,以每次-bs值为分块大小写完。 -group_reporting 表示测试结果里汇总每个进程的统计信息,而非以不同job汇总展示信息。 -filename=iotest 指定测试文件的名称,比如iotest。测试裸盘可以获得真实的硬盘性能,但直接测试裸盘会破坏文件系统结构,请在测试前提前做好数据备份。 -name=Rand_Write_Testing 表示测试任务名称为Rand_Write_Testing,可以随意设定。

2019-12-01 22:57:08 0 浏览量 回答数 0

问题

启用simulator报错

kun坤 2020-06-10 10:11:46 15 浏览量 回答数 2

问题

Swarm API参考   集群API列表  扩容集群

青蛙跳 2019-12-01 21:38:02 728 浏览量 回答数 0

回答

批量增加计算节点。 描述 可以批量增加 1-99 个计算节点,在增加计算节点前,您可以: 调用 ListRegions 查询可用地域列表 调用 DescribeCluster 查询集群信息 请求参数 名称 类型 是否必需 默认值 描述 Action String 是 - 操作接口名,系统规定参数,取值:AddNodes。 RegionId String 是 - 地域 ID。 ClusterId String 是 - 集群 ID。 Count Integer 是 - 添加的计算节点数量,取值范围:1-99。 ComputeSpotStrategy String 否 - 计算节点竞价策略,取值NoSpot、SpotWithPriceLimit 或 SpotAsPriceGo。 ComputeSpotPriceLimit String 否 - 设置实例的每小时最高价格,取值是浮点数,取值范围是当前的价格区间。 ImageOwnerAlias String 否 system 镜像类型,system、self、others 或 marketplace ImageId String 否 - 镜像 Id, 如果 ImageType 是system, 就只根据 OsTag 来决定基础镜像 ID; 如果是self、others 或 marketplace, ImageId 就是必填的。 InstanceType String 否 - 扩容的实例规格,如果没有配置,就使用上次扩容或者创建集群时的计算节点实例规格。 EcsChargeType String 否 PostPaid 集群使用ECS实例的付费类型,PostPaid:按量付费,PrePaid:包年包月。若选择包年包月类型,默认开启自动续费,节点释放后将关闭自动续费。 Period Integer 否 - 购买资源的时长,单位为:月。当参数 EcsChargeType 取值为 PrePaid 时才生效且为必选值。 PeriodUnit String 否 - 购买资源的时长。可选值 Week/Month。 AutoRenew Boolean 否 false true:自动续费;false:不自动续费。 AutoRenewPeriod Integer 否 1 每次自动续费的时长,当参数 AutoRenew 取值 True 时生效。 CreateMode String 否 manual 节点是如何创建的,manual 手动扩容, autoscale 自动扩容 返回参数 公共返回参数 注: 由于AddNodes是异步操作,请求成功就会立即返回,不会等待实例创建,所以没有返回InstanceId,可以通过ListNodes查询节点列表来获取InstanceId 示例 请求示例 https://ehpc.cn-hangzhou.aliyuncs.com/?Action=AddNodes&RegionId=cn-hangzhou&ClusterId=<集群ID>&Count=1&<公共请求参数> 返回示例 XML格式 04F0F334-1335-436C-A1D7-6C044FE73368 JSON格式 { "RequestId": "04F0F334-1335-436C-A1D7-6C044FE73368", "InstanceIds": { "InstanceId": [] } } 错误码 查询 E-HPC 接口错误码请访问 错误码。更多错误码,请访问 API 错误中心。 批量删除计算节点。 描述 批量删除集群中的计算节点,请您确认已经导出节点上所有作业数据后再进行操作。在删除计算节点前,您可以: 调用 ListRegions 查询可用地域列表 调用 DescribeCluster 查询指定集群信息 请求参数 名称 类型 是否必需 默认值 描述 Action String 是 - 操作接口名,系统规定参数,取值:DeleteNodes。 RegionId String 是 - 地域 ID。 ClusterId String 是 - 集群 ID。 Instance.n.Id String 是 - 第 n 个(n 从 1 开始编号,可以有多条)要移除的节点实例 ID。 ReleaseInstance Boolean 否 true 是否释放由 E-HPC 创建的实例 返回参数 公共参数,了解更多请参阅 公共参数。 示例 请求示例 https://ehpc.cn-hangzhou.aliyuncs.com/?Action=DeleteNodes&RegionId=cn-hangzhou&ClusterId=<集群ID>&Instance.1.Id=<实例ID>&Instance.2.Id=<实例ID>&<公共请求参数> 返回示例 XML格式 04F0F334-1335-436C-A1D7-6C044FE73368 JSON格式 { "RequestId": "04F0F334-1335-436C-A1D7-6C044FE73368" } 错误码 查询 E-HPC 接口错误码请访问 错误码。更多错误码,请访问 API 错误中心。 查询集群中节点列表。 描述 查询用户集群中的节点列表,接口会返回所有节点信息。 请求参数 名称 类型 是否必需 默认值 描述 Action String 是 - 操作接口名,系统规定参数,取值:ListNodes。 RegionId String 是 - 地域 ID。 ClusterId String 是 - 集群 ID。 Role String 否 - 节点角色,可选项包括 Manager:管控节点,Login:跳板机,Compute:计算节点。 HostName String 否 - 节点名称,支持模糊查询, 支持 MySQL 的正则表达式。 OnlyDetached Boolean 否 false 是否仅查询不由 E-HPC 管理的节点信息。如果为true, 则仅返回不由 E-HPC 释放的节点(比如包月节点或者非 E-HPC 创建的节点)。 PageNumber Integer 否 1 显示的页码,起始值为 1。 PageSize Integer 否 10 每页显示的条数,1-50。 返回参数 除公共返回参数外返回如下结果: 名称 类型 描述 Nodes Array 节点信息数组。 TotalCount Integer 列表条目总数。 PageNumber Integer 当前页码。 PageSize Integer 本页条数。 其中,NodeInfo 结构包含以下字段: 名称 类型 描述 Id String 节点实例 ID。 RegionId String 地域 ID。 Status String 节点状态。 CreateByEhpc Boolean 是否由 E-HPC 创建,目前都是。 Role String 节点类别,Scheduler:主调度器,SchedulerBackup:备用调度器,Account:主域服务器,AccountBackup:备用域服务器,Login:跳板机,Compute:计算节点。调度器和域服务器都属于管控节点(Manager)。 Roles Array 否 TotalResources Struct 资源总量。 UsedResources Struct 计算节点资源使用量,其他类型节点返回值为空。 AddTime Date 加入集群时间。 SpotStrategy String 后付费实例的竞价策略。 LockReason String 节点被锁定类型,默认返回为空字符串。 ExpiredTime Date 包月节点到期时间。如果节点是按量节点,则此项为空。 Expired Boolean 包月节点是否到期。如果节点是按量节点,则为false。 ImageOwnerAlias String 镜像类型,system、self、others 或 marketplace。 ImageId String 镜像 ID。 Location String 节点所在位置,是本地节点 OnPremise 还是公共云上节点 PublicCloud 。 CreateMode String 节点是如何创建的,manual 手动扩容, autoscale 自动扩容 其中,计算节点资源 ResourceType 结构包含以下字段: 名称 类型 描述 Cpu Integer CPU资源总量,单位:核。 Memory Integer 内存资源总量,单位:GB。 Gpu Integer GPU资源总量,单位:卡。 节点状态 Status 的可能取值: 取值 描述 uninit 未初始化 init 初始化中 ready 空闲 running 运行中 exception 异常 示例 请求示例 https://ehpc.cn-hangzhou.aliyuncs.com/?Action=ListNodes&RegionId=cn-shanghai&ClusterId=<集群ID>&<公共请求参数> 返回示例 XML格式 04F0F334-1335-436C-A1D7-6C044FE73368 1 1 1 i-uf68t1zu3jkhs8wyxhil cn-shanghai running 2018-05-28T02:59:44.000Z false NoSpot system centos_7_02_64_20G_alibase_20170818.vhd public_cloud Compute 2 4096 0 0 0 0 JSON格式 { "RequestId": "04F0F334-1335-436C-A1D7-6C044FE73368" "TotalCount": 1, "PageNumber": 1, "PageSize": 1, "Nodes": { "NodeInfo" : [ { "Id": "i-uf68t1zu3jkhs8wyxhil", "RegionId": "cn-shanghai", "Status": "running", "AddTime": "2018-05-28T02:59:44.000Z", "Expired": false, "SpotStrategy": "NoSpot", "LockReason": "", "ImageOwnerAlias": "system", "ImageId": "centos_7_02_64_20G_alibase_20170818.vhd", "Location": "public_cloud", "TotalResources": { "Cpu": 2, "Memory": 4096, "Gpu": 0 }, "UsedResources": { "Cpu": 0, "Memory": 0, "Gpu": 0 } } ] } } 错误码 查询 E-HPC 接口错误码请访问 错误码。更多错误码,请访问 API 错误中心。 描述 不分页查询用户指定集群中的节点列表,接口会返回查询到的所有节点信息。 请求参数 名称 类型 是否必需 默认值 描述 Action String 是 - 操作接口名,系统规定参数,取值:ListNodesNoPaging。 RegionId String 是 - 地域 ID。 ClusterId String 是 - 集群 ID。 Role String 否 - 节点角色,可选项包括 Manager:管控节点,Login:跳板机,Compute:计算节点。 HostName String 否 - 节点名称,支持模糊查询, 支持MySQL的正则表达式。 OnlyDetached Boolean 否 false 是否仅查询不由 E-HPC 管理的节点信息。如果为true, 则仅返回不由 E-HPC 释放的节点(比如包月节点或者非 E-HPC 创建的节点)。 返回参数 除公共返回参数外返回如下结果: 名称 类型 描述 Nodes Array 节点信息数组。 其中,NodeInfo 结构包含以下字段: 名称 类型 描述 Id String 节点实例 ID。 RegionId String 地域 ID。 Status String 节点状态。 CreateByEhpc Boolean 是否由 E-HPC 创建,目前都是。 Role String 节点类别,Scheduler:主调度器,SchedulerBackup:备用调度器,Account:主域服务器,AccountBackup:备用域服务器,Login:跳板机,Compute:计算节点。调度器和域服务器都属于管控节点(Manager)。 Roles Array 节点角色类型数组 TotalResources Struct 资源总量。 UsedResources Struct 计算节点资源使用量,其他类型节点返回值为空。 AddTime Date 加入集群时间。 SpotStrategy String 后付费实例的竞价策略。 LockReason String 节点被锁定类型,默认返回为空字符串。 ExpiredTime Date 包月节点到期时间。如果节点是按量节点,则此项为空。 Expired Boolean 包月节点是否到期。如果节点是按量节点,则为false。 ImageOwnerAlias String 镜像类型,system、self、others 或 marketplace。 ImageId String 镜像 ID。 Location String 节点所在位置,是本地节点 OnPremise 还是公共云上节点 PublicCloud。 其中,计算节点资源 ResourceType 结构包含以下字段: 名称 类型 描述 Cpu Integer CPU资源总量,单位:核。 Memory Integer 内存资源总量,单位:GB。 Gpu Integer GPU资源总量,单位:卡。 节点状态 Status 的可能取值: 取值 描述 uninit 未初始化 init 初始化中 ready 空闲 running 运行中 exception 异常 示例 请求示例 https://ehpc.cn-hangzhou.aliyuncs.com/?Action=ListNodesNoPaging&RegionId=cn-shanghai&ClusterId=<集群ID>&<公共请求参数> 返回示例 XML格式 04F0F334-1335-436C-A1D7-6C044FE73368 i-uf68t1zu3jkhs8wyxhil cn-shanghai running 2018-05-28T02:59:44.000Z false NoSpot system centos_7_02_64_20G_alibase_20170818.vhd public_cloud Compute 2 4096 0 0 0 0 JSON格式 { "RequestId": "04F0F334-1335-436C-A1D7-6C044FE73368", "Nodes": { "NodeInfo" : [ { "Id": "i-uf68t1zu3jkhs8wyxhil", "RegionId": "cn-shanghai", "Status": "running", "AddTime": "2018-05-28T02:59:44.000Z", "Expired": false, "SpotStrategy": "NoSpot", "LockReason": "", "ImageOwnerAlias": "system", "ImageId": "centos_7_02_64_20G_alibase_20170818.vhd", "Location": "public_cloud", "TotalResources": { "Cpu": 2, "Memory": 4096, "Gpu": 0 }, "UsedResources": { "Cpu": 0, "Memory": 0, "Gpu": 0 } } ] } } 错误码 查询 E-HPC 接口错误码请访问 错误码。更多错误码,请访问 API 错误中心。 批量重置计算节点。 描述 批量重置集群中的计算节点,在重置计算节点前,您可以: 调用 ListRegions 查询可用地域列表 调用 DescribeCluster 查询指定集群信息 请求参数 名称 类型 是否必需 默认值 描述 Action String 是 - 操作接口名,系统规定参数,取值:ResetNodes。 RegionId String 是 - 地域 ID。 ClusterId String 是 - 集群 ID。 Instance.n.Id String 是 - 第 n 个(n 从 1 开始编号,可以有多条)要重置的节点实例 ID。 返回参数 公共参数,了解更多请参阅 公共参数。 示例 请求示例 https://ehpc.cn-hangzhou.aliyuncs.com/?Action=ResetNodes&RegionId=cn-hangzhou&ClusterId=<集群ID>&Instance.1.Id=<实例ID>&Instance.2.Id=<实例ID>&<公共请求参数> 返回示例 XML格式 04F0F334-1335-436C-A1D7-6C044FE73368 JSON格式 { "RequestId": "04F0F334-1335-436C-A1D7-6C044FE73368" } 错误码 查询 E-HPC 接口错误码请访问 错误码。更多错误码,请访问 API 错误中心。 启动集群中节点列表。 描述 在停止集群中节点实例(StopNodes)后,可以批量启动集群中节点实例。 请求参数 名称 类型 是否必需 默认值 描述 Action String 是 - 操作接口名,系统规定参数,取值:StartNodes。 RegionId String 是 - 地域 ID。 ClusterId String 是 - 集群 ID。 Instance.n.Id String 是 - 第 n 个(n 从 1 开始编号,可以有多条)要移除的节点实例 ID。 Role String 否 Compute 节点角色,可选项包括 Manager:管控节点,Login:跳板机,Compute:计算节点。 返回参数 公共参数,了解更多请参阅 公共参数。 示例 请求示例 https://ehpc.cn-hangzhou.aliyuncs.com/?Action=StartNodes&RegionId=cn-hangzhou&ClusterId=<集群ID>&Instance.1.Id=<实例ID>&Instance.2.Id=<实例ID>&<公共请求参数> 返回示例 XML格式 04F0F334-1335-436C-A1D7-6C044FE73368 JSON格式 { "RequestId": "04F0F334-1335-436C-A1D7-6C044FE73368" } 错误码 查询 E-HPC 接口错误码请访问 错误码。更多错误码,请访问 API 错误中心。 停止集群中节点列表。 描述 批量停止集群中节点实例,在停止节点实例后,可以使用 StartNodes 接口来重新启动节点实例。 请求参数 名称 类型 是否必需 默认值 描述 Action String 是 - 操作接口名,系统规定参数,取值:StopNodes。 RegionId String 是 - 地域 ID。 ClusterId String 是 - 集群 ID。 Instance.n.Id String 是 - 第 n 个(n 从 1 开始编号,可以有多条)要移除的节点实例 ID。 Role String 否 Compute 节点角色,可选项包括 Manager:管控节点,Login:跳板机,Compute:计算节点。 返回参数 公共参数,了解更多请参阅 公共参数。 示例 请求示例 https://ehpc.cn-hangzhou.aliyuncs.com/?Action=StopNodes&RegionId=cn-hangzhou&ClusterId=<集群ID>&Instance.1.Id=<实例ID>&Instance.2.Id=<实例ID>&<公共请求参数> 返回示例 XML格式 04F0F334-1335-436C-A1D7-6C044FE73368 JSON格式 { "RequestId": "04F0F334-1335-436C-A1D7-6C044FE73368" } 错误码 查询 E-HPC 接口错误码请访问 错误码。更多错误码,请访问 API 错误中心。 按队列查询节点信息。 描述 按队列分组查询用户账户下单个集群的节点信息。 请求参数 名称 类型 是否必需 默认值 描述 Action String 是 - 操作接口名,系统规定参数,取值:ListNodesByQueue。 ClusterId String 是 - 集群ID。 RegionId String 是 - 地域 ID。 QueueName String 是 - 队列名。 PageNumber int 否 1 显示的页码,起始值为 1。 PageSize int 否 10 每页显示的条数,1-50。 返回参数 除公共返回参数外返回如下结果: 名称 类型 描述 Nodes Array 节点信息数组。 TotalCount Integer 列表条目总数。 PageNumber Integer 当前页码。 PageSize Integer 本页条数。 其中,NodeInfo 结构包含以下字段: 名称 类型 描述 AddTime Date 加入集群时间。 CreateMode String 节点是如何创建的,manual 手动扩容, autoscale 自动扩容 HostName String 主机名称。 Id String 节点实例 ID。 ImageId String 镜像 ID。 ImageOwnerAlias String 镜像类型,system、self、others 或 marketplace。 InstanceInfo String 实例详细信息。 IpInfo String IP详细信息。其中包含:PrivateIpAddress和PublicIpAddress两种。 Location String 节点所在位置,是本地节点 OnPremise 还是公共云上节点 PublicCloud 。 LockReason String 节点被锁定类型,默认返回为空字符串。 SpotStrategy String 后付费实例的竞价策略。 Status String 节点状态。 TotalResources Struct 资源总量。 UsedResources Struct 计算节点资源使用量,其他类型节点返回值为空。 VSwitchId String 虚拟交换机ID。 VpcId String 专有网络ID。 ZoneId String 实例可用区ID。 其中,计算节点资源 ResourceType 结构包含以下字段: 名称 类型 描述 Cpu Integer CPU资源总量,单位:核。 Memory Integer 内存资源总量,单位:GB。 Gpu Integer GPU资源总量,单位:卡。 节点状态 Status 的可能取值: 取值 描述 Uninit 未初始化 Init 初始化中 Ready 空闲 Running 运行中 Exception 异常 示例 请求示例 https://ehpc.cn-hangzhou.aliyuncs.com/?Action=ListNodesByQueue&RegionId=cn-hangzhou&ClusterId=<集群ID>&QueueName=workq&<公共请求参数> 返回示例 XML格式 1 3 50 5457B047-AC0A-4C75-B212-59759E38810F m-bpcccccccccccccccekw4cd 170.6.1.208 2 16384 m-bpcccccccccccccccccccc2ekw4cd cn-hangzhou-g true adb22432-ccccccccccccccccccccc219f784bfc7 2 16384 true sg-bp1ecccccccccoi6dtz linux CentOS 7.2 64位 vpc compute0 2019-04-22T11:53Z none cn-hangzhou false 2099-12-31T15:59Z ecs.r5 i-bpccccccccc9v788g 00:16:3e:11:8e:dd 172.16.1.208 eni-bp1ccccccccccccccueuoggzn5 0 PayByTraffic NoSpot Not-applicable 0 172.16.1.208 vsw-bp16ccccccccced144r vpc-bp1ccccccccq4txlicvt 0 2019-04-22T14:29Z ehpc-hz-5ccccc28c_compute0 CentOS 7.2 64 bit ecs.r5.large Running false PostPaid 0 public_cloud cn-hangzhou-g self vsw-bpccccccz6ted144r compute0 NoSpot manual vpc-bcccccccccubaq4txlicvt 0 0 running i-bp1ccccccv6e9v788g 2019-04-22T11:53:01.000Z JSON格式 { "PageNumber": 1, "TotalCount": 3, "PageSize": 50, "RequestId": "5457B047-AC0A-4C75-B212-59759E38810F", "Nodes": { "NodeInfo": [ { "ImageId": "m-bpcccccccccccccccekw4cd", "IpInfo": { "PrivateIpAddress": { "IpAddress": [ "100.16.1.208" ] }, "PublicIpAddress": { "IpAddress": [ "" ] } }, "TotalResources": { "Cpu": 2, "Memory": 16384 }, "InstanceInfo": { "ImageId": "m-bpcccccccccccccccccccc2ekw4cd", "VlanId": "", "EipAddress": { "IpAddress": "", "AllocationId": "", "InternetChargeType": "" }, "ZoneId": "cn-hangzhou-g", "IoOptimized": true, "SerialNumber": "adb22432-ccccccccccccccccccccc219f784bfc7", "Cpu": 2, "Memory": 16384, "DeviceAvailable": true, "SecurityGroupIds": { "SecurityGroupId": [ "sg-bp1ecccccccccoi6dtz" ] }, "SaleCycle": "", "AutoReleaseTime": "", "ResourceGroupId": "", "OSType": "linux", "OSName": "CentOS 7.2 64位", "InstanceNetworkType": "vpc", "HostName": "compute0", "CreationTime": "2019-04-22T11:53Z", "EcsCapacityReservationAttr": { "CapacityReservationPreference": "none", "CapacityReservationId": "" }, "RegionId": "cn-hangzhou", "DeletionProtection": false, "OperationLocks": { "LockReason": [] }, "ExpiredTime": "2099-12-31T15:59Z", "InnerIpAddress": { "IpAddress": [] }, "InstanceTypeFamily": "ecs.r5", "InstanceId": "i-bpccccccccc9v788g", "NetworkInterfaces": { "NetworkInterface": [ { "MacAddress": "00:16:3e:11:8e:dd", "PrimaryIpAddress": "172.16.1.208", "NetworkInterfaceId": "eni-bp1ccccccccccccccueuoggzn5" } ] }, "InternetMaxBandwidthIn": 0, "CreditSpecification": "", "InternetChargeType": "PayByTraffic", "SpotStrategy": "NoSpot", "StoppedMode": "Not-applicable", "InternetMaxBandwidthOut": 0, "VpcAttributes": { "NatIpAddress": "", "PrivateIpAddress": { "IpAddress": [ "172.16.1.208" ] }, "VSwitchId": "vsw-bp16ccccccccced144r", "VpcId": "vpc-bp1ccccccccq4txlicvt" }, "SpotPriceLimit": 0, "StartTime": "2019-04-22T14:29Z", "InstanceName": "ehpc-hz-5ccccc28c_compute0", "Description": "", "OSNameEn": "CentOS 7.2 64 bit", "PublicIpAddress": { "IpAddress": [] }, "InstanceType": "ecs.r5.large", "Status": "Running", "Recyclable": false, "ClusterId": "", "GPUSpec": "", "InstanceChargeType": "PostPaid", "GPUAmount": 0, "DedicatedHostAttribute": { "DedicatedHostId": "", "DedicatedHostName": "" }, "DeploymentSetId": "" }, "Location": "public_cloud", "ZoneId": "cn-hangzhou-g", "ImageOwnerAlias": "self", "VSwitchId": "vsw-bpccccccz6ted144r", "HostName": "compute0", "SpotStrategy": "NoSpot", "CreateMode": "manual", "VpcId": "vpc-bcccccccccubaq4txlicvt", "UsedResources": { "Cpu": 0, "Memory": 0 }, "Status": "running", "Id": "i-bp1ccccccv6e9v788g", "LockReason": "", "AddTime": "2019-04-22T11:53:01.000Z" }, ] } } 错误码 查询 E-HPC 接口错误码请访问 错误码。更多错误码,请访问 API 错误中心。 更新队列配置信息。 描述 为集群中的队列更新资源组和计算节点实例的信息。 请求参数 字段 类型 是否必须 默认值 描述 Action String 是 - 操作接口名,系统规定参数,取值:UpdateQueueConfig ClusterId String 是 - 集群ID RegionId String 是 - 地域ID QueueName String 是 - 任务队列名 ResourceGroupId String 是 - 资源组ID ComputeInstanceType String 否 - 计算节点实例类型 返回参数 返回公共返回参数。 示例 请求示例 https://ehpc.cn-hangzhou.aliyuncs.com/?Action=UpdateQueueConfig&RegionId=cn-hangzhou&ClusterId=<集群ID>&QueueName=workq&ResourceGroupId=<资源组ID>&<公共请求参数> 返回示例 XML格式 5198C3E8-85F5-4280-8547-687C1710FE08 JSON格式 { "requestId": "5198C3E8-85F5-4280-8547-687C1710FE08", } 错误码 查询E-HPC接口错误码请访问 错误码。更多错误码,请访问 API 错误中心。

1934890530796658 2020-03-23 18:25:01 0 浏览量 回答数 0

回答

本入门教程采用ecs.g6.large实例规格,在CentOS 8.0系统上配置了Apache服务,结合ECS管理控制台展示如何快速使用云服务器ECS。 准备工作 创建账号,以及完善账号信息。 注册阿里云账号,并完成实名认证。具体操作,请参见阿里云账号注册流程。 本入门教程创建的是按量付费实例,您的账号的可用余额(含现金、代金券、优惠券等)不得少于100元人民币。充值方式请参见如何充值。 可选: 阿里云提供一个默认的专有网络VPC,如果您不想使用默认的,可以在目标地域创建一个专有网络和交换机。 具体操作,请参见搭建IPv4专有网络。 可选: 阿里云提供一个默认的安全组,如果您不想使用默认的,可以在目标地域创建一个安全组。 具体操作,请参见创建安全组。 步骤一:创建ECS实例 前往实例创建页。 在购买页面的前四个配置页面,完成实例启动配置。 本入门教程采用以下配置,未提及的配置保持默认选项。 配置页面 配置项 示例 说明 基础配置 付费模式 按量付费 按量付费模式操作相对灵活。详情请参见计费概述。 说明 如果您需要为网站域名备案,必须选择包年包月。 地域与可用区 地域:华东1(杭州) 可用区:随机分配 实例创建后,无法直接更改地域和可用区,请谨慎选择。 实例 规格族:通用型g6 规格:ecs.g6.large 可供选择的实例规格由您所选择的地域以及库存供应决定。 您可以前往ECS实例可购买地域,查看实例的可购情况。 镜像 类型:公共镜像 版本:CentOS 8.0 64位 实例启动后,系统盘将完整复制镜像的操作系统和应用数据。 网络和安全组 专有网络 [默认]vpc-bp1opxu1zkhn00g****** 带[默认]前缀的资源由ECS控制台自动创建。 分配公网IPv4地址 勾选 勾选后,自动分配一个公网IP(v4)地址。 带宽计费模式 按使用流量 按使用流量模式只需为所消耗的公网流量付费。详情请参见公网带宽计费方式。 峰值带宽 2 Mbps 无。 安全组 安全组:[默认]sg-bp1bhjjsoiyx44****** 安全组规则:勾选ICMP协议、SSH 22、RDP 3389、HTTP 80和HTTPS 443端口 带[默认]前缀的资源由ECS控制台自动创建。 系统配置 登录凭证 自定义密码 请记录该配置,连接ECS实例时,您需要输入root密码。 实例名称 EcsQuickStart 本文中的实例一律使用EcsQuickStart指代。 分组设置 标签 ECS:Documentation 有多台实例时,建议添加标签,方便管理。 单击下一步:确认订单,在该页面确认所选配置,或者单击编辑图标编辑-图标返回修改配置。 快速入门-Linux版 可选: 单击保存为启动模板,然后设置模板名称和描述。 快速入门-启动模板 说明 将当前实例所选配置保存为启动模板,方便您下次通过模板一键下单。 勾选《云服务器ECS服务条款》,然后单击创建实例。 单击创建成功提示框里的管理控制台,前往实例列表页面查看创建进度。 实例状态进入运行中后表示已成功创建。复制实例的公网IP地址,便于下文连接ECS实例时使用。快速入门-Linux版-创建成功 步骤二:添加安全组规则 如果创建ECS实例时,您没有在默认安全组中勾选添加安全组规则,或者ECS实例加入的是一个全新的安全组,请按以下步骤继续操作。 单击实例ID,进入实例详情页。 在左侧导航栏,单击本实例安全组,然后单击安全组ID,进入安全组详情页。 在安全组规则页面的右上角,单击快速创建规则。 按以下设置添加安全组规则,未提及的配置保持页面默认选项。 规则方向 授权策略 常用端口 授权类型 授权对象 入方向 允许 SSH 22 RDP 3389 HTTP 80 HTTPS 443 IPv4地址段访问 0.0.0.0/0 说明 常用端口处勾选的是ECS实例上运行的应用需开放的端口。例如步骤四:配置Apache服务时使用的SSH服务和Apache服务,未开启SSH 22端口和HTTP 80端口会导致实例无响应。 0.0.0.0/0表示允许全网段设备访问指定的端口。如果您知晓请求端的IP地址,建议设置为具体的IP范围。 快速入门-Linux版-添加安全组规则 单击确定。 步骤三:连接ECS实例 单击下一步骤中的cloud-shell-try-it按钮,等待初始化CloudShell客户端。 使用ssh命令连接实例。 试用 ssh root@<实例公网IP地址> 提示ECS实例此次授信登录需要存储密钥指纹时,输入yes。 输入ECS实例的root用户名密码,并回车。 输入密码阶段,password:处保持黑屏,无提示信息。提示以下信息则表示您已连接ECS实例。 Welcome to Alibaba Cloud Elastic Compute Service ! 步骤四:配置Apache服务 安装Apache服务。 试用 yum install -y httpd 启动Apache服务。 试用 systemctl start httpd 设置Apache服务开机自启动。 试用 systemctl enable httpd 查询Apache服务是否处于运行中状态。 试用 systemctl status httpd 返回active (running)则表示已开始运行Apache服务。 在当前浏览器页面,新开启一个网页,在地址栏输入实例的公网IP地址,并回车。 试用 http://<实例公网IP地址> 快速入门-Linux版-测试网站 步骤五:(可选)解析网站域名 直接通过实例公网IP地址访问Apache服务会降低服务端安全性。如果您已有域名或者想为Apache网站注册一个域名,请参见以下步骤。 注册域名。 详情请参见注册通用域名。 如果域名指向的网站托管在阿里云中国大陆境内节点服务器,您需要备案域名。 首次备案,请参见首次备案,其他情况请参见ICP备案流程概述。 解析域名,将域名指向实例公网IP。 域名解析是使用域名访问您的网站的必备环节。具体操作流程,请参见设置域名解析。 使用解析后的域名访问Apache服务,例如,https://ecs-quickstarts.info。 步骤六:(可选)释放ECS实例 如果您不再需要这台实例,可以将其释放。释放后,实例停止计费,数据不可恢复。 说明 本小节操作仅适用于按量付费实例,不支持手动释放包年包月实例。如果您需要提前释放包年包月实例,请参见退款规则及退款流程。 返回实例列表页面,找到实例EcsQuickStart。 在操作列中,单击更多 > 实例状态 > 释放设置。 选择立即释放,并单击下一步。 确认要释放的实例,并单击确定。 输入您收到的手机验证码,单击确认。 步骤七:查看费用账单 账单明细数据延迟一天更新,且不含万网和云通信数据。 在ECS管理控制台顶部工具栏处,选择费用 > 用户中心。 ECS快速入门-查看费用账单 在左侧导航栏,单击费用账单,然后单击页面中的账单明细页签。 在实例名称处,输入实例名称EcsQuickStart,并回车开始搜索。 后续步骤 了解云服务器ECS在售的实例规格族:实例规格族 了解更多创建ECS实例的方式:创建方式导航 了解镜像的相关概念:镜像概述 了解安全组的相关概念:安全组概述 了解专有网络VPC的相关概念:什么是专有网络 了解云服务器ECS的常见操作:常用操作导航 了解云服务器ECS提供的API:API概览

1934890530796658 2020-03-24 14:02:43 0 浏览量 回答数 0

问题

弹性创建 ECS 实例

chenchuan 2019-12-01 21:36:37 401 浏览量 回答数 0

问题

云服务器 ECS 使用OpenAPI管理ECS:使用OpenAPI弹性创建ECS实例

李沃晟 2019-12-01 21:21:32 1202 浏览量 回答数 0

问题

Swarm API参考&nbsp;&nbsp;集群API列表&nbsp;&nbsp;创建集群实例

青蛙跳 2019-12-01 21:38:00 695 浏览量 回答数 0

问题

Kubernetes API 参考&nbsp;&nbsp;集群 API 调用方式&nbsp;&nbsp;签名机制

青蛙跳 2019-12-01 21:37:32 449 浏览量 回答数 0

问题

【精品问答】Java技术1000问(1)

问问小秘 2019-12-01 21:57:43 39926 浏览量 回答数 17

问题

ECS云服务器产品优化

ecs优化 2019-12-01 21:34:28 13425 浏览量 回答数 0

回答

Cromwell 是 Broad Institute 开发的工作流管理系统,当前已获得阿里云批量计算服务的支持。通过 Cromwell 可以将 WDL 描述的 workflow 转化为批量计算的作业(Job)运行。用户将为作业运行时实际消耗的计算和存储资源付费,不需要支付资源之外的附加费用。本文将介绍如何使用 Cromwell 在阿里云批量计算服务上运行工作流。 准备工作 A) 开通批量计算服务 要使用批量计算服务,请根据官方文档里面的指导开通批量计算和其依赖的相关服务,如OSS等。 注意:创建 OSS Bucket 的区域,需要和使用批量计算的区域一致。 B) 下载 Cromwell Cromwell 官方下载 注意:为了确保所有的特性可用,建议下载45及之后的最新版本。 C) 开通 ECS 作为 Cromwell server 当前批量计算提供了 Cromwell server 的 ECS 镜像,用户可以用此镜像开通一台 ECS 作为 server。镜像中提供了 Cromwell 官网要求的基本配置和常用软件。在此镜像中,Cromwell 的工作目录位于/home/cromwell,上一步下载的 Crowwell jar 包可以放置在 /home/cromwell/cromwell 目录下。 注意:用户也可以自己按照 Cromwell 官方的要求自己搭建 Cromwell server, 上面的镜像只是提供了方便的方式,不是强制要求。 使用 Cromwell 配置文件 Cromwell 运行的配置文件,包括: Cromwell 公共配置。 批量计算相关配置,包含了批量计算作为后端需要的存储、计算等资源配置。 关于配置参数的详细介绍请参考 Cromwell 官方文档。如下是一个批量计算配置文件的例子 bcs.conf: include required(classpath("application")) database { profile = "slick.jdbc.MySQLProfile$" db { driver = "com.mysql.jdbc.Driver" url = "jdbc:mysql://localhost/db_cromwell?rewriteBatchedStatements=true&useSSL=false&allowPublicKeyRetrieval=true" user = "user_cromwell" #Your mysql password password = "" connectionTimeout = 5000 } } workflow-options { workflow-log-dir = "/home/cromwell/cromwell/logs/" } call-caching { # Allows re-use of existing results for jobs you've already run # (default: false) enabled = false # Whether to invalidate a cache result forever if we cannot reuse them. Disable this if you expect some cache copies # to fail for external reasons which should not invalidate the cache (e.g. auth differences between users): # (default: true) invalidate-bad-cache-results = true } docker { hash-lookup { enabled = false # Set this to match your available quota against the Google Container Engine API #gcr-api-queries-per-100-seconds = 1000 # Time in minutes before an entry expires from the docker hashes cache and needs to be fetched again #cache-entry-ttl = "20 minutes" # Maximum number of elements to be kept in the cache. If the limit is reached, old elements will be removed from the cache #cache-size = 200 # How should docker hashes be looked up. Possible values are "local" and "remote" # "local": Lookup hashes on the local docker daemon using the cli # "remote": Lookup hashes on docker hub and gcr method = "remote" #method = "local" alibabacloudcr { num-threads = 5 #aliyun CR credentials auth { #endpoint = "cr.cn-shanghai.aliyuncs.com" access-id = "" access-key = "" } } } } engine { filesystems { oss { auth { endpoint = "oss-cn-shanghai.aliyuncs.com" access-id = "" access-key = "" } } } } backend { default = "BCS" providers { BCS { actor-factory = "cromwell.backend.impl.bcs.BcsBackendLifecycleActorFactory" config { root = "oss://your-bucket/cromwell_dir" region = "cn-shanghai" access-id = "" access-key = "" filesystems { oss { auth { endpoint = "oss-cn-shanghai.aliyuncs.com" access-id = "" access-key = "" } caching { # When a cache hit is found, the following duplication strategy will be followed to use the cached outputs # Possible values: "copy", "reference". Defaults to "copy" # "copy": Copy the output files # "reference": DO NOT copy the output files but point to the original output files instead. # Will still make sure than all the original output files exist and are accessible before # going forward with the cache hit. duplication-strategy = "reference" } } } default-runtime-attributes { failOnStderr: false continueOnReturnCode: 0 autoReleaseJob: true cluster: "OnDemand ecs.sn1.medium img-ubuntu-vpc" #cluster: cls-6kihku8blloidu3s1t0006 vpc: "192.168.0.0/16" } } } } } 如果使用前面章节中的镜像开通 ECS 作为 Cromwell server,配置文件位于 /home/cromwell/cromwell/bcs_sample.conf,只需要填写自己的配置即可使用 Cromwell。 注意:Cromwell 可以在公网环境(如本地服务器、配置了公网 IP 的阿里云 ECS 等)运行,也可以在阿里云 VPC 环境下运行。在 VPC 环境下使用时,有如下几处要修改为 VPC 内网下的配置: OSS 的内网 endpoint : engine.filesystems.oss.auth.endpoint = "oss-cn-shanghai-internal.aliyuncs.com" backend.providers.BCS.config.filesystems.oss.auth.endpoint = "oss-cn-shanghai-internal.aliyuncs.com" 添加批量计算的内网 endpoint: backend.providers.BCS.config.user-defined-region = "cn-shanghai-vpc" backend.providers.BCS.config.user-defined-domain = "batchcompute-vpc.cn-shanghai.aliyuncs.com" 添加容器镜像服务的内网 endpoint: docker.hash-lookup.alibabacloudcr.auth.endpoint = "cr-vpc.cn-shanghai.aliyuncs.com" 运行模式 Cromwell支持两种模式: run 模式 server 模式 关于两种模式的详细描述,请参考 Cromwell 官网文档。下面重点介绍这两种模式下如何使用批量计算。 A) run模式 run模式适用于本地运行一个单独的 WDL 文件描述的工作流,命令行如下:java -Dconfig.file=bcs.conf -jar cromwell.jar run echo.wdl --inputs echo.inputs WDL 文件:描述详细的工作流。工作流中每个 task 对应批量计算的一个作业(Job)。 inputs文件:是 WDL 中定义的工作流的输入信息inputs 文件是用来描述 WDL 文件中定义的工作流及其 task 的输入文件。如下所示: { "workflow_name.task_name.input1": "xxxxxx" } 运行成功后,WDL 文件中描述的工作流中的一个 task 会作为批量计算的一个作业(Job)来提交。此时登录批量计算的控制台就可以看到当前的 Job 状态。 show_bcs_job 当 workflow 中所有的 task 对应的作业运行完成后,工作流运行完成。 B) server 模式 启动 server 相比 run 模式一次运行只能处理一个 WDL 文件,server 模式可以并行处理多个 WDL 文件。关于 server 模式的更多信息,请参考 Cromwell 官方文档。可以采用如下命令行启动 server:java -Dconfig.file=bsc.conf -jar cromwell.jar serverserver 启动成功后,就可以接收来自 client 的工作流处理请求。下面分别介绍如何使用 API 和 CLI 的方式向 server 提交工作流。 使用 API 提交工作流 server 启动后,可以通过浏览器访问 Cromwell Server,比如 Server 的 IP 为39.105.xxx.yyy,则在浏览器中输入http://39.105.xxx.yyy:8000,通过如下图所示的界面提交任务:cromwell_server更多API接口及用法,请参考 Cromwell 官网文档。 使用 CLI 提交工作流[推荐] 除了可以使用 API 提交工作流以外,Cromwell 官方还提供了一个开源的 CLI 命令行工具 widder。可以使用如下的命令提交一个工作流: python widdler.py run echo.wdl echo.inputs -o bcs_workflow_tag:tagxxx -S localhost 其中-o key:value是用于设置option,批量计算提供了 bcs_workflow_tag:tagxxx 选项,用于配置作业输出目录的tag(下一节查看运行结果中会介绍)。 如果使用前面章节中的镜像开通 ECS 作为 Cromwell server,镜像中已经安装了 widdler,位于 /home/cromwell/widdler。可以使用如下的命令提交工作流: widdler run echo.wdl echo.inputs -o bcs_workflow_tag:tagxxx -S localhost 更多命令用法可使用widdler -h命令查看,或参考官方文档。 查看运行结果 工作流运行结束后,输出结果被上传到了配置文件或 WDL 中定义的 OSS 路径下。在OSS路径上面的目录结构如下: cromwell_output_dir如上图所示,在配置文件中的config.root目录下有如下输出目录: 第一层:workflowname 工作流的名称 第二层:通过上一节中 CLI 命令的-o设置的目录tag 第三层:workflow id,每次运行会生成一个 第四层:workflow 中每个 task 的运行输出,比如上图中的 workflow 15e45adf-6dc7-4727-850c-89545faf81b0 有两个 task,每个task对应的目录命名是call-taskname,目录中包含三部分内容: 批量计算的日志,包括 bcs-stdout 和 bcs-stderr 当前 task 的输出,比如图中的 output1/output2 等 当前 task 执行的 stdout 和 stderr 4. 使用建议 在使用过程中,关于 BCS 的配置,有如下的建议供参考: 使用集群 批量计算提供了两种使用集群的方式: 自动集群 固定集群 A) 自动集群 在config配置文件中指定默认的资源类型、实例类型以及镜像类型,在提交批量计算 Job 时就会使用这些配置自动创建集群,比如: default-runtime-attributes { cluster : "OnDemand ecs.sn1ne.large img-ubuntu-vpc" } 如果在某些 workflow 中不使用默认集群配置,也可以通过inputs文件中指定 workflow 中某个 task 的对应的批量计算的集群配置(将 cluster_config 作为 task 的一个输入),比如: { "workflow_name.task_name.cluster_config": "OnDemand ecs.sn2ne.8xlarge img-ubuntu-vpc" } 然后在 task 中重新设置运行配置: task task_demo { String cluster_config runtime { cluster: cluster_config } } 就会覆盖默认配置,使用新的配置信息创建集群。 B) 固定集群 使用自动集群时,需要创建新集群,会有一个等待集群的时间。如果对于启动时间有要求,或者有了大量的作业提交,可以考虑使用固定集群。比如: default-runtime-attributes { cluster : "cls-xxxxxxxxxx" } 注意:使用固定集群时,如果使用完毕,请及时释放集群,否则集群中的实例会持续收费。 Cromwell Server 配置建议 大压力作业时,建议使用较高配置的机器作为 Cromwell Server,比如ecs.sn1ne.8xlarge等32核64GB的机器。 大压力作业时,修改 Cromwell Server 的最大打开文件数。比如在ubuntu下可以通过修改/etc/security/limits.conf文件,比如修改最大文件数为100万: root soft nofile 1000000 root hard nofile 1000000 * soft nofile 1000000 * hard nofile 1000000 确认 Cromwell Server 有配置数据库,防止作业信息丢失。 设置 bcs.conf 里面的并发作业数,比如 system.max-concurrent-workflows = 1000 开通批量计算相关配额 如果有大压力场景,可能需要联系批量计算服务开通对应的配额,比如: 一个用户所有作业的数量(包括完成的、运行的、等待的等多种状态下); 同时运行的作业的集群的数量(包括固定集群和自动集群); 使用 NAS 使用 NAS 时要注意以下几点: NAS 必须在 VPC 内使用,要求添加挂载点时,必须指定 VPC; 所以要求在 runtime 中必须包含: VPC 信息 mounts 信息 下面的例子可供参考: runtime { cluster: cluster_config mounts: "nas://1f****04-xkv88.cn-beijing.nas.aliyuncs.com:/ /mnt/ true" vpc: "192.168.0.0/16 vpc-2zexxxxxxxx1hxirm" } 高级特性支持 Glob Cromwell 支持使用 glob 来指定工作流中多个文件作为 task 的输出,比如: task globber { command <<< for i in seq 1 5 do mkdir out-$i echo globbing is my number $i best hobby out-$i/$i.txt done output { Array[File] outFiles = glob("out-/.txt") } } workflow test { call globber } 当 task 执行结束时,通过 glob 指定的多个文件会作为输出,上传到 OSS 上。 Call Caching Call Caching 是 Cromwell 提供的高级特性,如果检测到工作流中某个 task (对应一个批量计算的 job )和之前已经执行过的某个 task 具有相同的输入和运行时等条件,则不需要再执行,直接取之前的运行结果,这样可以为客户节省时间和费用。一个常见的场景是如果一个工作流有 n 个 task,当执行到中间某一个 task 时由于某些原因失败了,排除了错误之后,再次提交这个工作流运行后,Cromwell 判断如果满足条件,则已经完成的几个 task 不需要重新执行,只需要从出错的 task 开始继续运行。 配置 Call Caching 要在 BCS 后端情况下使用 Call Caching 特性,需要如下配置项: database { profile = "slick.jdbc.MySQLProfile$" db { driver = "com.mysql.jdbc.Driver" url = "jdbc:mysql://localhost/db_cromwell?rewriteBatchedStatements=true&useSSL=false" user = "user_cromwell" password = "xxxxx" connectionTimeout = 5000 } } call-caching { # Allows re-use of existing results for jobs you have already run # (default: false) enabled = true # Whether to invalidate a cache result forever if we cannot reuse them. Disable this if you expect some cache copies # to fail for external reasons which should not invalidate the cache (e.g. auth differences between users): # (default: true) invalidate-bad-cache-results = true } docker { hash-lookup { enabled = true # How should docker hashes be looked up. Possible values are local and remote # local: Lookup hashes on the local docker daemon using the cli # remote: Lookup hashes on alibab cloud Container Registry method = remote alibabacloudcr { num-threads = 10 auth { access-id = "xxxx" access-key = "yyyy" } } } } engine { filesystems { oss { auth { endpoint = "oss-cn-shanghai.aliyuncs.com" access-id = "xxxx" access-key = "yyyy" } } } } backend { default = "BCS" providers { BCS { actor-factory = "cromwell.backend.impl.bcs.BcsBackendLifecycleActorFactory" config { #其他配置省略 filesystems { oss { auth { endpoint = "oss-cn-shanghai.aliyuncs.com" access-id = "xxxx" access-key = "yyyy" } caching { # When a cache hit is found, the following duplication strategy will be followed to use the cached outputs # Possible values: copy, reference. Defaults to copy # copy: Copy the output files # reference: DO NOT copy the output files but point to the original output files instead. # Will still make sure than all the original output files exist and are accessible before # going forward with the cache hit. duplication-strategy = "reference" } } } default-runtime-attributes { failOnStderr: false continueOnReturnCode: 0 cluster: "OnDemand ecs.sn1.medium img-ubuntu-vpc" vpc: "192.168.0.0/16" } } } } } database 配置:Cromwell 将 workflow 的执行元数据存储在数据库中,所以需要添加数据库配置,详细情况参考Cromwell 官网指导。 call-caching 配置:Call Caching 的开关配置等; docker.hash-lookup 配置: 设置 Hash 查找开关及阿里云 CR 等信息,用于查找镜像的 Hash 值。 backend.providers.BCS.config.filesystems.oss.caching 配置:设置 Call Caching命中后,使用原来输出的方式,批量计算在这里支持 reference 模式,不需要拷贝原有的结果,节省时间和成本。 命中条件 使用批量计算作为后端时,Cromwell 通过如下条件判断一个 task 是否需要重新执行: 条件 解释 inputs task 的输入,比如 OSS 上的样本文件 command task 定义中的命令行 continueOnReturnCode 公共运行时参数,可以继续执行的返回码 docker 公共运行时参数,后端的Docker配置 failOnStderr 公共运行时参数,stderr非空时是否失败 imageId 批量计算后端运行时参数,标识作业运行的 ECS 镜像,如果使用的官方镜像如img-ubuntu-vpc可不用填写此项 userData 批量计算后端,用户自定义数据 如果一个 task 的上述参数未发生改变,Cromwell 会判定为不需要执行的 task,直接获取上次执行的结果,并继续工作流的执行。

1934890530796658 2020-03-28 20:47:14 0 浏览量 回答数 0

问题

词汇表是什么样的?(S-V)

轩墨 2019-12-01 22:06:08 2089 浏览量 回答数 0

回答

背景 Cromwell 的 Call Caching 功能如何开启和关闭? 在一些场景下,提交工作流时不想使用 Call Caching,需要无条件执行,该如何设置? 工作流重新提交后,有一些 task 预期不需要重新执行,但依然执行了,Call Caching 疑似没有生效,怎么查看原因? 本篇文档将对 Call Caching 的使用做一个详细的介绍,包括功能的开启和关闭、如何通过查看元数据的方式,确认 Call Caching 未生效的原因等。 Call Caching 设置 配置文件中设置全局 Call Caching 开关状态 如果要使用 Cromwell 的 Call Caching 功能,需要在 Server 的配置文件中设置: call-caching { # Allows re-use of existing results for jobs you have already run # (default: false) enabled = true # Whether to invalidate a cache result forever if we cannot reuse them. Disable this if you expect some cache copies # to fail for external reasons which should not invalidate the cache (e.g. auth differences between users): # (default: true) invalidate-bad-cache-results = true } call-caching.enabled 是 Call Caching 功能的开关,可以按照自己的需求开启和关闭。 在 Option 中设置单个 Workflow 是否使用 Call Caching 在 Call Caching 功能全局开启的状态下,提交工作流时,可以通过携带如下两个 option 选项设置本次执行是否使用 Call Caching: { "write_to_cache": true, "read_from_cache": true } write_to_cache: 表示本次 workflow 执行结果是否写入 Cache,实际上就是是否给后面的工作流复用。默认是 true。 read_from_cache: 表示本次 workflow 执行是否从 Cache 中读取之前的结果,也就是是否复用以前的结果,默认是 true,如果设置为 false,表示本次执行不使用 Call Caching,强制执行。 查看元数据 工作流执行时,每一个 task 的每一个 call(对应批量计算的一个作业)都会有 metadata,记录了这个步骤的运行过程,当然也包括 Call Caching 的详细信息,通过下面的命令可以查询一个工作流的 metadata: widdler query -m [WorkflowId] 在元数据信息中找到对应的 task 的详细信息,比如: { "callRoot": "oss://gene-test/cromwell_test/GATK4_VariantDiscovery_pipeline_hg38/53cfd3fc-e9d5-4431-83ec-be6c51ab9365/call-HaplotypeCaller/shard-10", "inputs": { "gatk_path": "/gatk/gatk", "ref_fasta": "oss://genomics-public-data-shanghai/broad-references/hg38/v0/Homo_sapiens_assembly38.fasta", "cluster_config": "OnDemand ecs.sn2ne.xlarge img-ubuntu-vpc", "input_bam_index": "oss://gene-test/cromwell_test/GATK4_VariantDiscovery_pipeline_hg38/cf55a2d1-572c-4490-8edf-07656802a79b/call-GatherBamFiles/NA12878.hg38.ready.bam.bai", "output_filename": "NA12878.hg38.vcf.gz", "contamination": null, "ref_fasta_index": "oss://genomics-public-data-shanghai/broad-references/hg38/v0/Homo_sapiens_assembly38.fasta.fai", "ref_dict": "oss://genomics-public-data-shanghai/broad-references/hg38/v0/Homo_sapiens_assembly38.dict", "interval_list": "/home/data/GATK_human_genome_resource_bundle/hg38_from_GCP/hg38_wgs_scattered_calling_intervals/temp_0047_of_50/scattered.interval_list", "input_bam": "oss://gene-test/cromwell_test/GATK4_VariantDiscovery_pipeline_hg38/cf55a2d1-572c-4490-8edf-07656802a79b/call-GatherBamFiles/NA12878.hg38.ready.bam.bam", "docker_image": "registry.cn-shanghai.aliyuncs.com/wgs_poc/poc:4.0.10.1" }, "returnCode": 0, "callCaching": { "allowResultReuse": true, "hashes": { "output expression": { "File output_vcf_index": "A162250CB6F52CC32CB75F5C5793E8BB", "File output_vcf": "7FD061EEA1D3C63912D7B5FB1F3C5218" }, "runtime attribute": { "userData": "N/A", "docker": "F323AFFA030FBB5B352C60BD7D615255", "failOnStderr": "68934A3E9455FA72420237EB05902327", "imageId": "N/A", "continueOnReturnCode": "CFCD208495D565EF66E7DFF9F98764DA" }, "output count": "C81E728D9D4C2F636F067F89CC14862C", "input count": "D3D9446802A44259755D38E6D163E820", "command template": "9104DF40289AB292A52C2A753FBF58D2", "input": { "File interval_list": "04dc2cb895d13a40657d5e2aa7d31e8c", "String output_filename": "2B77B986117FC94D088273AD4D592964", "File ref_fasta": "9A513FB0533F04ED87AE9CB6281DC19B-400", "File input_bam_index": "D7CA83047E1B6B8269DF095F637621FE-1", "String gatk_path": "EB83BBB666B0660B076106408FFC0A9B", "String docker_image": "0981A914F6271269D58AA49FD18A6C13", "String cluster_config": "B4563EC1789E5EB82B3076D362E6D88F", "File ref_dict": "3884C62EB0E53FA92459ED9BFF133AE6", "File input_bam": "9C0AC9A52F5640AA06A0EBCE6A97DF51-301", "File ref_fasta_index": "F76371B113734A56CDE236BC0372DE0A" }, "backend name": "AE9178757DD2A29CF80C1F5B9F34882E" }, "effectiveCallCachingMode": "ReadAndWriteCache", "hit": false, "result": "Cache Miss" }, "stderr": "oss://gene-test/cromwell_test/GATK4_VariantDiscovery_pipeline_hg38/53cfd3fc-e9d5-4431-83ec-be6c51ab9365/call-HaplotypeCaller/shard-10/stderr", "shardIndex": 10, "stdout": "oss://gene-test/cromwell_test/GATK4_VariantDiscovery_pipeline_hg38/53cfd3fc-e9d5-4431-83ec-be6c51ab9365/call-HaplotypeCaller/shard-10/stdout", "outputs": { "output_vcf": "oss://gene-test/cromwell_test/GATK4_VariantDiscovery_pipeline_hg38/53cfd3fc-e9d5-4431-83ec-be6c51ab9365/call-HaplotypeCaller/shard-10/NA12878.hg38.vcf.gz", "output_vcf_index": "oss://gene-test/cromwell_test/GATK4_VariantDiscovery_pipeline_hg38/53cfd3fc-e9d5-4431-83ec-be6c51ab9365/call-HaplotypeCaller/shard-10/NA12878.hg38.vcf.gz.tbi" }, "commandLine": "set -e\n\n /gatk/gatk --java-options "-Xmx4g -Xmx4g" \\n HaplotypeCaller \\n -R /cromwell_inputs/73a7571e/Homo_sapiens_assembly38.fasta \\n -I /cromwell_inputs/02f1b5ca/NA12878.hg38.ready.bam.bam \\n -L /home/data/GATK_human_genome_resource_bundle/hg38_from_GCP/hg38_wgs_scattered_calling_intervals/temp_0047_of_50/scattered.interval_list \\n -O NA12878.hg38.vcf.gz \\n -contamination 0", "attempt": 1, "jobId": "job-000000005DB051A800006F970001CAC8", "start": "2019-10-25T02:38:03.522Z", "backendStatus": "Finished", "runtimeAttributes": { "cluster": "Right(AutoClusterConfiguration(OnDemand,ecs.sn2ne.xlarge,img-ubuntu-vpc,None,None,None))", "continueOnReturnCode": "0", "failOnStderr": "false", "vpc": "BcsVpcConfiguration(Some(10.20.200.0/24),Some(vpc-uf61zj30k0ebuen0xi7ci))", "mounts": "BcsInputMount(Right(nas://10.20.66.4:/data/ali_yun_test/),Left(/home/data),true)", "docker": "BcsDockerWithoutPath(registry.cn-shanghai.aliyuncs.com/wgs_poc/poc:4.0.10.1)", "autoReleaseJob": "false", "maxRetries": "0" }, "executionStatus": "Done", "end": "2019-10-25T03:22:23.481Z", "executionEvents": [ { "endTime": "2019-10-25T03:22:21.626Z", "description": "RunningJob", "startTime": "2019-10-25T02:38:03.645Z" }, { "endTime": "2019-10-25T03:22:22.481Z", "description": "UpdatingCallCache", "startTime": "2019-10-25T03:22:21.626Z" }, { "endTime": "2019-10-25T02:38:03.645Z", "description": "CallCacheReading", "startTime": "2019-10-25T02:38:03.643Z" }, { "endTime": "2019-10-25T02:38:03.522Z", "description": "Pending", "startTime": "2019-10-25T02:38:03.522Z" }, { "endTime": "2019-10-25T02:38:03.542Z", "description": "WaitingForValueStore", "startTime": "2019-10-25T02:38:03.542Z" }, { "endTime": "2019-10-25T03:22:23.481Z", "description": "UpdatingJobStore", "startTime": "2019-10-25T03:22:22.481Z" }, { "endTime": "2019-10-25T02:38:03.643Z", "description": "PreparingJob", "startTime": "2019-10-25T02:38:03.542Z" }, { "endTime": "2019-10-25T02:38:03.542Z", "description": "RequestingExecutionToken", "startTime": "2019-10-25T02:38:03.522Z" } ], "backend": "BCS" } 在上面的元数据中,有一项 callCaching,主要记录了如下信息: allowResultReuse:是否允许其他工作流复用。 如果当前工作流设置了不允许写入 Cache,则不可以复用 如果当前工作流设置了允许写入 Cache,则只有任务执行成功,才允许复用 hashes:当前任务的输入、输出、运行时等参数的 hash 记录,用于比对两次运行条件是否一样。 effectiveCallCachingMode:Call Caching 的模式,比如是否从 Cache 中读取,或者是否写入 Cache 等。 hit:当前任务在 Cache 是否命中。 result:当前任务在 Cache 中命中的详情,比如哪个工作流的哪个 task 的哪个 shard。 综合上面的解释,我们看到实例中的这个 call, 是 GATK4_VariantDiscovery_pipeline_hg38 这个工作流的 HaplotypeCaller 这个 task 的10号 shard,Call Cache 情况如下: 未在 Cache 中命中,完整的执行了一次 执行成功,可以允许后的流程复用 Call Caching 未生效问题排查 如果遇到不符合预期的 task,可以通过如下步骤排查原因: 查看当前 workflow 重新执行的 task 的 Call Caching 元数据 如果当前 task 的 Call Caching 的模式是不使用Cache(可能是提交作业时设置了不使用 Call Caching 的选项),则不会去利用之前的结果,确实会强制重新执行,是符合预期的 如果当前 task 未命中 Cache,则需要查看之前的 workflow, 进一步确认未命中的原因 查看之前的 workflow 的 task 的 CalCaching 元数据,确认之前的 task 是否执行成功,是否可以复用 如果之前的 task 的 不允许复用,可能是执行失败了,或者虽然执行成功,但 Cache 模式设置的不写入 Cache,即不允许复用 如果之前的 task 允许复用,但未命中,则需要比较两次的 hash 记录,可能是由于 Call Caching 相关的参数变化引起的 背景 Cromwell server 的启动需要以下组件配合: 启动 Mysql 的 docker 容器作为 Crowmell 的持久化数据库,包括配置用户名,密码等 填写 Cromwell 配置文件,包括 BCS 后端配置及数据库等配置 使用 Cromwell 的 jar 包,启动 server 实际上 Cromwell 除了发布 jar 包,也会发布对应的 docker 镜像,我们可以考虑使用 docker-compose来简化以上步骤。docker-compose 是 Docker 官方的开源项目,其定位是定义和运行多个 Docker 容器的应用(Defining and running multi-container Docker applications)。 使用docker-compose 可以将容器化的 Cromwell 和 Mysql 两个 service 拉起,作为一个应用来运行。再配合脚本来简化配置,可以将 Cromwell 的服务做成一键启停。 开通 ECS 作为 Crowmell server 首先使用 Cromwell server 镜像开通一台 ECS,ssh 登入机器后,可以运行目录下的cromwell-server.sh,进行Cromwell Server的管理: ./cromwell-server.sh cromwell-server.sh - init cromwell config and start/stop service Usage: cromwell-server.sh [options...] [init/start/stop/status] Options: --id=STRING Access id --key=STRING Access key --root=STRING Oss root for cromwell, e.g: oss://my-bucket/cromwell/ --instance=STRING default runtime: instance type [ecs.sn1.medium] --image=STRING default runtime: image id [img-ubuntu-vpc] 第一次配置与启动服务 初次使用,需要做一些初始配置,可以使用下面的命令完成一键初始化与启动: ./cromwell-server.sh init --id=LTAI8xxxxx --key=vVGZVE8qUNjxxxxxxxx --root=oss://gtx-wgs-demo/cromwell/ 上面的命令完成了以下配置: --id: 批量计算的 Access Id --key: 批量计算的 Access Key --root: Crowmell 运行时在 OSS 上的工作根目录 --instance: Cromwell 默认运行时参数,实例类型 --image: Cromwell 默认运行时参数,镜像ID执行完以上命令后,会根据 Crowmell 配置文件模板生成配置文件,并通过 docker-compose 启动 Cromwell server,并在后台运行。 服务启动后,就可以通过镜像中的命令行工具 widdler 执行工作流的提交: cd /home/cromwell/cromwell/ widdler run echo.wdl inputs.json -o bcs_workflow_tag:test_echo 停止服务 使用下面的命令可以一键停止服务: ./cromwell-server stop 再次启动服务 在已经完成配置的情况下,使用下面的命令,可以完成服务启动: ./cromwell-server start 重新配置并启动服务 如果需要修改配置,在服务停止的情况下,再次使用 init 命令可以完成新配置重新启动: ./cromwell-server.sh init --id=LTAI8xxxxx --key=vVGZVE8qUNjxxxxxxxx --root=oss://gtx-wgs-demo/cromwell/ 使用option文件设置默认运行时参数 在 Crowmell 的配置文件中,可以设置每个 backend 的默认运行时参数 default-runtime-attibutes,也可以在提交工作流时通过 option 覆盖原有设置。 所以如果您在提交工作流时用到了数据盘、NAS等,都可以在 option 文件中设置: { "default_runtime_attributes": { "vpc": "192.168.0.0/24", "autoReleaseJob": true, "mounts": "nas://1f****04-xkv88.cn-beijing.nas.aliyuncs.com:/ /mnt/ true", "dataDisk": "cloud_ssd 250 /home/mount/" }, "bcs_workflow_tag": "Tagxxx", "read_from_cache": true } 使用 widdler 命令行的 -O (大写的O)参数提交 option 文件: widdler run echo.wdl inputs.json -O options.json 在 Cromwell Server 配置完成后,如何快捷的进行提交、停止工作流、流程失败后如何快速定位问题以及工作流完成后如何如何快速查看运行日志、查看工作流的 Metrics 信息、工作流产生的费用等手段,这些问题就变成了 server 运维工作的基本诉求。 Cromwell 以 server 的方式运行后是支持通过 API 接口获取以上信息的,但是有二次开发的工作量;而 widdler 是针对 Cromwell Server API 接口开发的命令行工具,通过 widdler 命令行工具减少运维成本。 本文主要介绍阿里云对 widdler 工具的扩展,通过 widdler 工具查询指定工作流的作业运行状态、后端引擎的运行时信息、费用查询、问题定位调查以及子任务日志查看等功能。 widdler 安装 widdler 默认在阿里云批量计算提供的 Cromwell server 镜像中安装。可以直接使用,无需做安装操作。 配置 widdler 由于涉及到个人阿里云运行数据的查询,需要在使用之前设置对应账号的 AK 信息、以及后端执行引擎所部署的region信息。 config 命令格式: widdler config -i id -k key -r cn-zhangjiakou 3. 校验 WDL 提交工作流之前对 WDL 做语法校验,排除部分低级问题;减少后续提交工作流后由于低级问题导致的流程失败。 validate 命令格式: widdler validate echo.wdl inputs.json 4. 提交工作流 run 命令格式: widdler run echo.wdl inputs.json -l test 其中:test 为 label,可以根据样本进行打标签,后续可以按 label 做过滤。 终止工作流 命令格式: widdler abort workflowId abort 获取工作流 6.1 获取工作流列表 命令格式: widdler query query 其中:默认获取当前 user 7 天内的工作流信息;可以根据 user label等信息来筛选工作流信息;其他使用方法参考 help 信息。 6.2 获取工作流 Meta 命令格式: widdler query workflowId 7. 获取工作流运行状态 命令格式: widdler describe workflowId describe 其中:”stepName” 表示工作流的某个自步骤的名称;”status” 表示当前步骤的运行状态”成功、失败、运行中”;”progress” 表示当前步骤的进度,如”4/4” 表示当前步骤存在4个子任务全部执行完成; 若是”2/4” 则表示当前步骤存在4个任务,已经完成2个。”elapse”表示当前步骤的所有子任务执行总耗时时间(不包括机器的启动时间); “coretime”表示当前步骤所有子任务消耗的核时时间(不包括机器的启动时间)。 命令格式: widdler describe workflowId -t stepName subdescribe shardIndex 是 Cromwell 将每个 task 的子任务按 shardIndex 做索引,对应的是批量计算的一个作业。通过该命令可以看到指定 task 对应的统计信息。 获取工作流统计信息 命令格式: widdler stat workflowId stat 其中:”cpuCore” 表示当前步骤中使用对应实例的 CPU 核数,”cpuUsage” 表示当前步骤所有任务从开始到当前(若当前任务结束状态则表示从开始到结束)的 CPU 平均利用率;”memSize” 表示当前步骤中使用对应实例的内存大小,”memUsage” 表示当前步骤中所有任务从开始到当前的MEM平均利用率;”sysDisk” 表示当前步骤实例的系统盘大小(默认 40GB),”sysDiskUsage” 表示当前步骤的所有任务在当前时间点的磁盘平均利用率;”dataDisk” 表示实例的数据盘大小(默认没有),”dataDiskUsage” 表示当前步骤的所有任务在当前时间点的磁盘平均利用率。 命令格式: widdler stat workflowId -t stepName substat 查询某个步骤对应的 Metrics 信息;可能某个步骤存在多个 scatter,那么每个 scatter 运行情况如何,则可以通过本命令获取到。 获取工作流费用 命令格式: widdler billing workflowId newbill 获取工作流运行日志 命令格式: widdler log workflowId 通过 log 查询命令,可以查看工作流的实际运行情况,执行过程是否符合预期可以通过该命令做到一键查看。stdout 以及 stderr 日志小于 1MB 的,会直接在屏幕上显示出来;超过 1MB 的需要借助 OSS 工具查看。 log 工作流问题定位 命令格式: widdler explain workflowId 通过该命令可以一键查询工作流失败的原因,展示出现问题的步骤,输出该步骤的对应失败任务的 stdout 以及 stderr 信息,快速排查问题。 explain 更多其他功能请参考 widdler 的帮助信息

1934890530796658 2020-03-28 21:40:48 0 浏览量 回答数 0

回答

你好,这里有208份资料,详情请参考:https://github.com/ty4z2008/Qix/blob/master/ds.md 《Reconfigurable Distributed Storage for Dynamic Networks》介绍:这是一篇介绍在动态网络里面实现分布式系统重构的paper.论文的作者(导师)是MIT读博的时候是做分布式系统的研究的,现在在NUS带学生,不仅仅是分布式系统,还有无线网络.如果感兴趣可以去他的主页了解. 《Distributed porgramming liboratory》介绍:分布式编程实验室,他们发表的很多的paper,其中不仅仅是学术研究,还有一些工业界应用的论文. 《MIT Theory of Distributed Systems》介绍:麻省理工的分布式系统理论主页,作者南希·林奇在2002年证明了CAP理论,并且著《分布式算法》一书. 《Notes on Distributed Systems for Young Bloods》介绍:分布式系统搭建初期的一些建议 《Principles of Distributed Computing》介绍:分布式计算原理课程 《Google's Globally-Distributed Database》介绍:Google全球分布式数据介绍,中文版 《The Architecture Of Algolia’s Distributed Search Network》介绍:Algolia的分布式搜索网络的体系架构介绍 《Build up a High Availability Distributed Key-Value Store》介绍:构建高可用分布式Key-Value存储系统 《Distributed Search Engine with Nanomsg and Bond》介绍:Nanomsg和Bond的分布式搜索引擎 《Distributed Processing With MongoDB And Mongothon》介绍:使用MongoDB和Mongothon进行分布式处理 《Salt: Combining ACID and BASE in a Distributed Database》介绍:分布式数据库中把ACID与BASE结合使用. 《Makes it easy to understand Paxos for Distributed Systems》介绍:理解的Paxos的分布式系统,参考阅读:关于Paxos的历史 《There is No Now Problems with simultaneity in distributed systems》介绍:There is No Now Problems with simultaneity in distributed systems 《Distributed Systems》介绍:伦敦大学学院分布式系统课程课件. 《Distributed systems for fun and profit》介绍:分布式系统电子书籍. 《Distributed Systems Spring 2015》介绍:卡内基梅隆大学春季分布式课程主页 《Distributed Systems: Concepts and Design (5th Edition)》介绍: 电子书,分布式系统概念与设计(第五版) 《走向分布式》介绍:这是一位台湾网友 ccshih 的文字,短短的篇幅介绍了分布式系统的若干要点。pdf 《Introduction to Distributed Systems Spring 2013》介绍:清华大学分布式系统课程主页,里面的schedule栏目有很多宝贵的资源 《Distributed systems》介绍:免费的在线分布式系统书籍 《Some good resources for learning about distributed computing》介绍:Quora上面的一篇关于学习分布式计算的资源. 《Spanner: Google’s Globally-Distributed Database》介绍:这个是第一个全球意义上的分布式数据库,也是Google的作品。其中介绍了很多一致性方面的设计考虑,为了简单的逻辑设计,还采用了原子钟,同样在分布式系统方面具有很强的借鉴意义. 《The Chubby lock service for loosely-coupled distributed systems》介绍:Google的统面向松散耦合的分布式系统的锁服务,这篇论文详细介绍了Google的分布式锁实现机制Chubby。Chubby是一个基于文件实现的分布式锁,Google的Bigtable、Mapreduce和Spanner服务都是在这个基础上构建的,所以Chubby实际上是Google分布式事务的基础,具有非常高的参考价值。另外,著名的zookeeper就是基于Chubby的开源实现.推荐The google stack,Youtube:The Chubby lock service for loosely-coupled distributed systems 《Sinfonia: a new paradigm for building scalable distributed systems》介绍:这篇论文是SOSP2007的Best Paper,阐述了一种构建分布式文件系统的范式方法,个人感觉非常有用。淘宝在构建TFS、OceanBase和Tair这些系统时都充分参考了这篇论文. 《Data-Intensive Text Processing with MapReduce》介绍:Ebook:Data-Intensive Text Processing with MapReduce. 《Design and Implementation of a Query Processor for a Trusted Distributed Data Base Management System》介绍:Design and Implementation of a Query Processor for a Trusted Distributed Data Base Management System. 《Distributed Query Processing》介绍:分布式查询入门. 《Distributed Systems and the End of the API》介绍:分布式系统和api总结. 《Distributed Query Reading》介绍:分布式系统阅读论文,此外还推荐github上面的一个论文列表The Distributed Reader。 《Replication, atomicity and order in distributed systems》介绍:Replication, atomicity and order in distributed systems 《MIT course:Distributed Systems》介绍:2015年MIT分布式系统课程主页,这次用Golang作为授课语言。6.824 Distributed Systems课程主页 《Distributed systems for fun and profit》介绍:免费分布式系统电子书。 《Ori:A Secure Distributed File System》介绍:斯坦福开源的分布式文件系统。 《Availability in Globally Distributed Storage Systems》介绍:Google论文:设计一个高可用的全球分布式存储系统。 《Calvin: Fast Distributed Transactions For Partitioned Database Systems》介绍:对于分区数据库的分布式事务处理。 《Distributed Systems Building Block: Flake Ids》介绍:Distributed Systems Building Block: Flake Ids. 《Introduction to Distributed System Design》介绍:Google Code University课程,如何设计一个分布式系统。 《Sheepdog: Distributed Storage System for KVM》介绍:KVM的分布式存储系统. 《Readings in Distributed Systems Systems》介绍:分布式系统课程列表,包括数据库、算法等. 《Tera》介绍:来自百度的分布式表格系统. 《Distributed systems: for fun and profit》介绍:分布式系统的在线电子书. 《Distributed Systems Reading List》介绍:分布式系统资料,此外还推荐Various articles about distributed systems. 《Designs, Lessons and Advice from Building Large Distributed Systems》介绍:Designs, Lessons and Advice from Building Large Distributed Systems. 《Testing a Distributed System》介绍:Testing a distributed system can be trying even under the best of circumstances. 《The Google File System》介绍: 基于普通服务器构建超大规模文件系统的典型案例,主要面向大文件和批处理系统, 设计简单而实用。 GFS是google的重要基础设施, 大数据的基石, 也是Hadoop HDFS的参考对象。 主要技术特点包括: 假设硬件故障是常态(容错能力强), 64MB大块, 单Master设计,Lease/链式复制, 支持追加写不支持随机写. 《Bigtable: A Distributed Storage System for Structured Data》介绍:支持PB数据量级的多维非关系型大表, 在google内部应用广泛,大数据的奠基作品之一 , Hbase就是参考BigTable设计。 Bigtable的主要技术特点包括: 基于GFS实现数据高可靠, 使用非原地更新技术(LSM树)实现数据修改, 通过range分区并实现自动伸缩等.中文版 《PacificA: Replication in Log-Based Distributed Storage Systems》介绍:面向log-based存储的强一致的主从复制协议, 具有较强实用性。 这篇文章系统地讲述了主从复制系统应该考虑的问题, 能加深对主从强一致复制的理解程度。 技术特点: 支持强一致主从复制协议, 允许多种存储实现, 分布式的故障检测/Lease/集群成员管理方法. 《Object Storage on CRAQ, High-throughput chain replication for read-mostly workloads》介绍:分布式存储论文:支持强一直的链式复制方法, 支持从多个副本读取数据,实现code. 《Finding a needle in Haystack: Facebook’s photo storage》介绍:Facebook分布式Blob存储,主要用于存储图片. 主要技术特色:小文件合并成大文件,小文件元数据放在内存因此读写只需一次IO. 《Windows Azure Storage: A Highly Available Cloud Storage Service with Strong Consistency》介绍: 微软的分布式存储平台, 除了支持类S3对象存储,还支持表格、队列等数据模型. 主要技术特点:采用Stream/Partition两层设计(类似BigTable);写错(写满)就封存Extent,使得副本字节一致, 简化了选主和恢复操作; 将S3对象存储、表格、队列、块设备等融入到统一的底层存储架构中. 《Paxos Made Live – An Engineering Perspective》介绍:从工程实现角度说明了Paxo在chubby系统的应用, 是理解Paxo协议及其应用场景的必备论文。 主要技术特点: paxo协议, replicated log, multi-paxo.参考阅读:关于Paxos的历史 《Dynamo: Amazon’s Highly Available Key-Value Store》介绍:Amazon设计的高可用的kv系统,主要技术特点:综和运用一致性哈希,vector clock,最终一致性构建一个高可用的kv系统, 可应用于amazon购物车场景.新内容来自分布式存储必读论文 《Efficient Replica Maintenance for Distributed Storage Systems》介绍:分布式存储系统中的副本存储问题. 《PADS: A Policy Architecture for Distributed Storage Systems》介绍:分布式存储系统架构. 《The Chirp Distributed Filesystem》介绍:开源分布式文件系统Chirp,对于想深入研究的开发者可以阅读文章的相关Papers. 《Time, Clocks, and the Ordering of Events in a Distributed System》介绍:经典论文分布式时钟顺序的实现原理. 《Making reliable distributed systems in the presence of sodware errors》介绍:面向软件错误构建可靠的分布式系统,中文笔记. 《MapReduce: Simplified Data Processing on Large Clusters》介绍:MapReduce:超大集群的简单数据处理. 《Distributed Computer Systems Engineering》介绍:麻省理工的分布式计算课程主页,里面的ppt和阅读列表很多干货. 《The Styx Architecture for Distributed Systems》介绍:分布式系统Styx的架构剖析. 《What are some good resources for learning about distributed computing? Why?》介绍:Quora上面的一个问答:有哪些关于分布式计算学习的好资源. 《RebornDB: The Next Generation Distributed Key-Value Store》介绍:下一代分布式k-v存储数据库. 《Operating System Concepts Ninth Edition》介绍:分布式系统归根结底还是需要操作系统的知识,这是耶鲁大学的操作系统概念书籍首页,里面有提供了第8版的在线电子版和最新的学习操作系统指南,学习分布式最好先学习操作系统. 《The Log: What every software engineer should know about real-time data's unifying abstraction》介绍:分布式系统Log剖析,非常的详细与精彩. 中文翻译 | 中文版笔记. 《Operating Systems Study Guide》介绍:分布式系统基础之操作系统学习指南. 《分布式系统领域经典论文翻译集》介绍:分布式系统领域经典论文翻译集. 《Maintaining performance in distributed systems》介绍:分布式系统性能维护. 《Computer Science from the Bottom Up》介绍:计算机科学,自底向上,小到机器码,大到操作系统内部体系架构,学习操作系统的另一个在线好材料. 《Operating Systems: Three Easy Pieces》介绍:<操作系统:三部曲>在线电子书,虚拟、并发、持续. 《Database Systems: reading list》介绍:数据库系统经典论文阅读列,此外推送github上面的db reading. 《Unix System Administration》介绍:Unix System Administration ebook. 《The Amoeba Distributed Operating System》介绍:分布式系统经典论文. 《Principles of Computer Systems》介绍:计算机系统概念,以分布式为主.此外推荐Introduction to Operating Systems笔记 《Person page of EMİN GÜN SİRER》介绍:推荐康奈尔大学的教授EMİN GÜN SİRER的主页,他的研究项目有分布式,数据存储。例如HyperDex数据库就是他的其中一个项目之一. 《Scalable, Secure, and Highly Available Distributed File Access》介绍:来自卡内基梅隆如何构建可扩展的、安全、高可用性的分布式文件系统,其他papers. 《Distributed (Deep) Machine Learning Common》介绍:分布式机器学习常用库. 《The Datacenter as a Computer》介绍:介绍了如何构建仓储式数据中心,尤其是对于现在的云计算,分布式学习来说很有帮助.本书是Synthesis Lectures on Computer Architecture系列的书籍之一,这套丛书还有 《The Memory System》,《Automatic Parallelization》,《Computer Architecture Techniques for Power Efficiency》,《Performance Analysis and Tuning for General Purpose Graphics Processing Units》,《Introduction to Reconfigurable Supercomputing》,Memory Systems Cache, DRAM, Disk 等 《helsinki:Distributed Systems Course slider》介绍:来自芬兰赫尔辛基的分布式系统课程课件:什么是分布式,复制,一致性,容错,同步,通信. 《TiDB is a distributed SQL database》介绍:分布式数据库TiDB,Golang开发. 《S897: Large-Scale Systems》介绍:课程资料:大规模系统. 《Large-scale L-BFGS using MapReduce》介绍:使用MapReduce进行大规模分布式集群环境下并行L-BFGS. 《Twitter是如何构建高性能分布式日志的》介绍:Twitter是如何构建高性能分布式日志的. 《Distributed Systems: When Limping Hardware Is Worse Than Dead Hardware》介绍:在分布式系统中某个组件彻底死了影响很小,但半死不活(网络/磁盘),对整个系统却是毁灭性的. 《Tera - 高性能、可伸缩的结构化数据库》介绍:来自百度的分布式数据库. 《SequoiaDB is a distributed document-oriented NoSQL Database》介绍:SequoiaDB分布式文档数据库开源. 《Readings in distributed systems》介绍:这个网址里收集了一堆各TOP大学分布式相关的课程. 《Paxos vs Raft》介绍:这个网站是Raft算法的作者为教授Paxos和Raft算法做的,其中有两个视频链接,分别讲上述两个算法.参考阅读:关于Paxos的历史 《A Scalable Content-Addressable Network》介绍:A Scalable Content-Addressable Network. 《500 Lines or Less》介绍:这个项目其实是一本书( The Architecture of Open Source Applications)的源代码附录,是一堆大牛合写的. 《MIT 6.824 Distributed System》介绍:这只是一个课程主页,没有上课的视频,但是并不影响你跟着它上课:每一周读两篇课程指定的论文,读完之后看lecture-notes里对该论文内容的讨论,回答里面的问题来加深理解,最后在课程lab里把所看的论文实现。当你把这门课的作业刷完后,你会发现自己实现了一个分布式数据库. 《HDFS-alike in Go》介绍:使用go开发的分布式文件系统. 《What are some good resources for learning about distributed computing? Why?》介绍:Quora上关于学习分布式的资源问答. 《SeaweedFS is a simple and highly scalable distributed file system》介绍:SeaweedFS是使用go开发的分布式文件系统项目,代码简单,逻辑清晰. 《Codis - yet another fast distributed solution for Redis》介绍:Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有明显的区别 《Paper: Coordination Avoidance In Distributed Databases By Peter Bailis》介绍:Coordination Avoidance In Distributed Databases. 《从零开始写分布式数据库》介绍:本文以TiDB 源码为例. 《what we talk about when we talk about distributed systems》介绍:分布式系统概念梳理,为分布式系统涉及的主要概念进行了梳理. 《Distributed locks with Redis》介绍:使用Redis实现分布式锁. 《CS244b: Distributed Systems》介绍: 斯坦福2014年秋季分布式课程. 《RAMP Made Easy》介绍: 分布式的“读原子性”. 《Strategies and Principles of Distributed Machine Learning on Big Data》介绍: 大数据分布式机器学习的策略与原理. 《Distributed Systems: What is the CAP theorem?》介绍: 分布式CAP法则. 《How should I start to learn distributed storage system as a beginner?》介绍: 新手如何步入分布式存储系统. 《Cassandra - A Decentralized Structured Storage System》介绍: 分布式存储系统Cassandra剖析,推荐白皮书Introduction to Apache Cassandra. 《What is the best resource to learn about distributed systems?》介绍: 分布式系统学习资源. 《What are some high performance TCP hacks?》介绍: 一些高性能TCP黑客技巧. 《Maintaining performance in distributed systems》介绍:分布式系统性能提升. 《A simple totally ordered broadcast protocol》介绍:Benjamin Reed 和 Flavio P.Junqueira 所著论文,对Zab算法进行了介绍,zab算法是Zookeeper保持数据一致性的核心,在国内有很多公司都使用zookeeper做为分布式的解决方案.推荐与此相关的一篇文章ZooKeeper’s atomic broadcast protocol: Theory and practice. 《zFS - A Scalable Distributed File System Using Object Disk》介绍:可扩展的分布式文件系统ZFS,The Zettabyte File System,End-to-end Data Integrity for File Systems: A ZFS Case Study. 《A Distributed Haskell for the Modern Web》介绍:分布式Haskell在当前web中的应用. 《Reasoning about Consistency Choices in Distributed Systems》介绍:POPL2016的论文,关于分布式系统一致性选择的论述,POPL所接受的论文,github上已经有人整理. 《Paxos Made Simple》介绍:Paxos让分布式更简单.译文.参考阅读:关于Paxos的历史,understanding Paxos part1,Understanding Paxos – Part 2.Quora: What is a simple explanation of the Paxos algorithm?,Tutorial Summary: Paxos Explained from Scratch,Paxos algorithm explained, part 1: The essentials,Paxos algorithm explained, part 2: Insights 《Consensus Protocols: Paxos》介绍:分布式系统一致性协议:Paxos.参考阅读:关于Paxos的历史 《Consensus on Transaction Commit》介绍:事务提交的一致性探讨. 《The Part-Time Parliaments》介绍:在《The Part-Time Parliament》中描述了基本协议的交互过程。在基本协议的基础上完善各种问题得到了最终的议会协议。 为了让人更容易理解《The Part-Time Parliament》中描述的Paxos算法,Lamport在2001发表了《Paxos Made Simple》,以更平直的口头语言描述了Paxos,而没有包含正式的证明和数学术语。《Paxos Made Simple》中,将算法的参与者更细致的划分成了几个角色:Proposer、Acceptor、Learner。另外还有Leader和Client.参考阅读:关于Paxos的历史 《Paxos Made Practical》介绍:看这篇论文时可以先看看理解Paxos Made Practical. 《PaxosLease: Diskless Paxos for Leases》介绍:PaxosLease:实现租约的无盘Paxos算法,译文. 《Paxos Made Moderately Complex》介绍:Paxos算法实现,译文,同时推荐42 Paxos Made Moderately Complex. 《Hadoop Reading List》介绍:Hadoop学习清单. 《Hadoop Reading List》介绍:Hadoop学习清单. 《2010 NoSQL Summer Reading List》介绍:NoSQL知识清单,里面不仅仅包含了数据库阅读清单还包含了分布式系统资料. 《Raft: Understandable Distributed Consensus》介绍:Raft可视化图帮助理解分布式一致性 《Etcd:Distributed reliable key-value store for the most critical data of a distributed system》介绍:Etcd分布式Key-Value存储引擎 《Understanding Availability》介绍:理解peer-to-peer系统中的可用性究竟是指什么.同时推荐基于 Peer-to-Peer 的分布式存储系统的设计 《Process structuring, synchronization, and recovery using atomic actions》介绍:经典论文 《Programming Languages for Parallel Processing》介绍:并行处理的编程语音 《Analysis of Six Distributed File Systems》介绍:此篇论文对HDFS,MooseFS,iRODS,Ceph,GlusterFS,Lustre六个存储系统做了详细分析.如果是自己研发对应的存储系统推荐先阅读此篇论文 《A Survey of Distributed File Systems》介绍:分布式文件系统综述 《Concepts of Concurrent Programming》介绍:并行编程的概念,同时推荐卡内基梅隆FTP 《Concurrency Control Performance Modeling:Alternatives and Implications》介绍:并发控制性能建模:选择与意义 《Distributed Systems - Concepts and Design 5th Edition》介绍:ebook分布式系统概念与设计 《分布式系统设计的形式方法》介绍:分布式系统设计的形式方法 《互斥和选举算法》介绍:互斥和选举算法 《Actors:A model Of Concurrent Cornputation In Distributed Systems》介绍:经典论文 《Security Engineering: A Guide to Building Dependable Distributed Systems》介绍:如何构建一个安全可靠的分布式系统,About the Author,Bibliography:文献资料,章节访问把链接最后的01换成01-27即可 《15-712 Advanced and Distributed Operating Systems》介绍:卡内基梅隆大学的分布式系统博士生课程主页,有很丰富的资料 《Dapper, Google's Large-Scale Distributed Systems Tracing Infrastructure》介绍:Dapper,大规模分布式系统的跟踪系统,译文,译文对照 《CS262a: Advanced Topics in Computer Systems》介绍:伯克利大学计算机系统进阶课程,内容有深度,涵盖分布式,数据库等内容 《Egnyte Architecture: Lessons Learned In Building And Scaling A Multi Petabyte Distributed System》介绍:PB级分布式系统构建/扩展经验 《CS162: Operating Systems and Systems Programming》介绍:伯克利大学计算机系统课程:操作系统与系统编程 《MDCC: Multi-Data Center Consistency》介绍:MDCC主要解决跨数据中心的一致性问题中间件,一种新的协议 《Research at Google:Distributed Systems and Parallel Computing》介绍:google公开对外发表的分布式系统与并行计算论文 《HDFS Architecture Guide》介绍:分布式文件系统HDFS架构 《ActorDB distributed SQL database》介绍:分布式 Key/Value数据库 《An efficient data location protocol for self-organizing storage clusters》介绍:是著名的Ceph的负载平衡策略,文中提出的几种策略都值得尝试,比较赞的一点是可以对照代码体会和实践,如果你还需要了解可以看看Ceph:一个 Linux PB 级分布式文件系统,除此以外,论文的引用部分也挺值得阅读的,同时推荐Ceph: A Scalable, High-Performance Distributed File System 《A Self-Organizing Storage Cluster for Parallel Data-Intensive Applications》介绍:Surrento的冷热平衡策略就采用了延迟写技术 《HBA: Distributed Metadata Management for Large Cluster-Based Storage Systems》介绍:对于分布式存储系统的元数据管理. 《Server-Side I/O Coordination for Parallel File Systems》介绍:服务器端的I/O协调并行文件系统处理,网络,文件存储等都会涉及到IO操作.不过里面涉及到很多技巧性的思路在实践时需要斟酌 《Distributed File Systems: Concepts and Examples》介绍:分布式文件系统概念与应用 《CSE 221: Graduate Operating Systems》介绍:加利福尼亚大学的研究生操作系统课程主页,论文很值得阅读 《S4: Distributed Stream Computing Platform》介绍:Yahoo出品的流式计算系统,目前最流行的两大流式计算系统之一(另一个是storm),Yahoo的主要广告计算平台 《Pregel: a system for large-scale graph processing》介绍:Google的大规模图计算系统,相当长一段时间是Google PageRank的主要计算系统,对开源的影响也很大(包括GraphLab和GraphChi) 《GraphLab: A New Framework for Parallel Machine Learning》介绍:CMU基于图计算的分布式机器学习框架,目前已经成立了专门的商业公司,在分布式机器学习上很有两把刷子,其单机版的GraphChi在百万维度的矩阵分解都只需要2~3分钟; 《F1: A Distributed SQL Database That Scales》介绍:这篇论文是Google 2013年发表的,介绍了F1的架构思路,13年时就开始支撑Google的AdWords业务,另外两篇介绍文章F1 - The Fault-Tolerant Distributed RDBMS Supporting Google's Ad Business .Google NewSQL之F1 《Cockroach DB:A Scalable, Survivable, Strongly-Consistent SQL Database》介绍:CockroachDB :一个可伸缩的、跨地域复制的,且支持事务的数据存储,InfoQ介绍,Design and Architecture of CockroachDb 《Multi-Paxos: An Implementation and Evaluation》介绍:Multi-Paxos实现与总结,此外推荐Paxos/Multi-paxos Algorithm,Multi-Paxos Example,地址:ftp://ftp.cs.washington.edu/tr/2009/09/UW-CSE-09-09-02.PDF 《Zab: High-performance broadcast for primary-backup systems》介绍:一致性协议zab分析 《A Distributed Hash Table》介绍:分布式哈希算法论文,扩展阅读Introduction to Distributed Hash Tables,Distributed Hash Tables 《Comparing the performance of distributed hash tables under churn》介绍:分布式hash表性能的Churn问题 《Brewer’s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web》介绍:分布式系统的CAP问题,推荐Perspectives on the CAP Theorem.对CAP理论的解析文章,PODC ppt,A plain english introduction to CAP Theorem,IEEE Computer issue on the CAP Theorem 《F2FS: A New File System for Flash Storage》介绍:闪存存储文件系统F2FS 《Better I/O Through Byte-Addressable, Persistent Memory》介绍:微软发表的关于i/o访问优化论文 《tmpfs: A Virtual Memory File System》介绍:虚拟内存文件系统tmpfs 《BTRFS: The Linux B-tree Filesystem》介绍:Linux B-tree文件系统. 《Akamai technical publication》介绍:Akamai是全球最大的云计算机平台之一,承载了全球15-30%网络流量,如果你是做CDN或者是云服务,这个里面的论文会给你很有帮助.例如这几天看facebook开源的osquery。找到通过db的方式运维,找到Keeping Track of 70,000+ Servers: The Akamai Query System这篇论文,先看论文领会思想,然后再使用工具osquery实践 《BASE: An Acid Alternative》介绍:来自eBay 的解决方案,译文Base: 一种Acid的替代方案,应用案例参考保证分布式系统数据一致性的6种方案 《A Note on Distributed Computing》介绍:Jim Waldo和Sam Kendall等人共同撰写了一篇非常有名的论文“分布式计算备忘录”,这篇论文在Reddit上被人推荐为“每个程序员都应当至少读上两篇”的论文。在这篇论文中,作者表示“忽略本地计算与分布式计算之间的区别是一种危险的思想”,特别指出了Emerald、Argus、DCOM以及CORBA的设计问题。作者将这些设计问题归纳为“三个错误的原则”: “对于某个应用来说,无论它的部署环境如何,总有一种单一的、自然的面向对象设计可以符合其需求。” “故障与性能问题与某个应用的组件实现直接相关,在最初的设计中无需考虑这些问题。” “对象的接口与使用对象的上下文无关”. 《Distributed Systems Papers》介绍:分布式系统领域经典论文列表. 《Consistent Hashing and Random Trees: Distributed Caching Protocols for Relieving Hot Spots on the World Wide Web》介绍:Consistent Hashing算法描述. 《SIGMOD 2016: Accepted Research Papers》介绍:SIGMOD是世界上最有名的数据库会议之一,最具有权威性,收录论文审核非常严格.2016年的SIGMOD 会议照常进行,上面收录了今年SIGMOD收录的论文,把题目输入google中加上pdf就能找到,很多论文值得阅读,SIGMOD 2015 《Notes on CPSC 465/565: Theory of Distributed Systems》介绍:耶鲁大学的分布式系统理论课程笔记 《Distributed Operating System Doc PDF》介绍:分布式系统文档资源(可下载) 《Anatomy of a database system》介绍:数据库系统剖析,这本书是由伯克利大学的Joseph M. Hellerstein和M. Stonebraker合著的一篇论文.对数据库剖析很有深度.除此以外还有一篇文章Architecture of a Database System。数据库系统架构,厦门大学的数据库实验室教授林子雨组织过翻译 《A Relational Model of Data for Large Shared Data Banks》介绍:数据库关系模型论文 《RUC Innovative data systems reaserch lab recommand papers》介绍:中国人民大学数据研究实验室推荐的数据库领域论文 《A Scalable Distributed Information Management System》介绍:构建可扩展的分布式信息管理系统 《Distributed Systems in Haskell》介绍:Haskell中的分布式系统开发 《Large-scale cluster management at Google with Borg》介绍:Google使用Borg进行大规模集群的管理,伯克利大学ppt介绍,中文版 《Lock Free Programming Practice》介绍:并发编程(Concurrency Programming)资料,主要涵盖lock free数据结构实现、内存回收方法、memory model等备份链接 密码: xc5j 《Distributed Algorithms Lecture Notes for 6.852》介绍:Nancy Lynch's的分布式算法研究生课程讲义 《Distributed Algorithms for Topic Models》介绍:分布式算法主题模型. 《RecSys - ACM Recommender Systems》介绍:世界上非常有名的推荐系统会议,我比较推荐接收的PAPER 《All Things Distributed》介绍:推荐一个博客,博主是Amazon CTO Werner Vogels,这是一个关注分布式领域的博客.大部分博文是关于在工业界应用. 《programming, database, distributed system resource list》介绍:这个Git是由阿里(alibaba)的技术专家何登成维护,主要是分布式数据库. 《Making reliable distributed systems in the presence of sodware errors》介绍:Erlang的作者Joe Armstrong撰写的论文,面对软件错误构建可靠的分布式系统.中文译版 《CS 525: Advanced Distributed Systems[Spring 2016]》介绍:伊利诺伊大学的Advanced Distributed Systems 里把各个方向重要papers(updated Spring 2015)列举出来,可以参考一下 《Distributed Algorithms》介绍:这是一本分布式算法电子书,作者是Jukka Suomela.讲述了多个计算模型,一致性,唯一标示,并发等. 《TinyLFU: A Highly Efficient Cache Admission Policy》介绍:当时是在阅读如何设计一个缓存系统时看到的,然后通过Google找到了这一篇关于缓存策略的论文,它是LFU的改良版,中文介绍.如果有兴趣可以看看Golang实现版。结合起来可能会帮助你理解 《6.S897: Large-Scale Systems》介绍:斯坦福大学给研究生开的分布式系统课程。教师是 spark 作者 matei. 能把这些内容真正理解透,分布式系统的功力就很强了。 《学习分布式系统需要怎样的知识?》介绍:[怎么学系列]学习分布式系统需要怎样的知识? 《Distributed systems theory for the distributed systems engineer》介绍:分布式系统工程师的分布式系统理论 《A Distributed Systems Reading List》介绍:分布式系统论文阅读列表 《Distributed Systems Reading Group》介绍:麻省理工大学分布式系统小组,他们会把平时阅读到的优秀论文分享出来。虽然有些论文本页已经收录,但是里面的安排表schedule还是挺赞的 《Scalable Software Architecture》介绍:分布式系统、可扩展性与系统设计相关报告、论文与网络资源汇总. 《MapReduce&Hadoop resource》介绍:MapReduce&Hadoop相关论文,涉及分布式系统设计,性能分析,实践,优化等多个方面 《Distributed Systems: Principles and Paradigms(second edtion)》介绍:分布式系统原理与范型第二版,课后解答 《Distributed Systems Seminar's reading list for Spring 2017》介绍:分布式系统研讨会论文阅读列表 《A Critique of the CAP Theorem》介绍:这是一篇评论CAP定理的论文,学习CAP很有帮助,推荐阅读评论文章"A Critique of the CAP Theorem" 《Evolving Distributed Systems》介绍:推荐文章不断进化的分布式系统.

suonayi 2019-12-02 03:17:27 0 浏览量 回答数 0
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 企业建站模板