云服务器内容精选

  • 如何修改HDFS主备倒换类? 当 MRS 3.x版本集群使用HDFS连接NameNode报类org.apache.hadoop.hdfs.server.namenode.ha.AdaptiveFailoverProxyProvider无法找到时,是由于MRS 3.x版本集群HDFS的主备倒换类默认为该类,可通过如下方式解决。 方式一:添加hadoop-plugins-xxx.jar到程序的classpath或者lib目录中。 hadoop-plugins-xxx.jar包一般在HDFS客户端目录下:$HADOOP_HOME/share/hadoop/common/lib/hadoop-plugins-8.0.2-302023.jar 方式二:将HDFS的如下配置项修改为开源类: dfs.client.failover.proxy.provider.hacluster=org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider 父主题: 组件配置类
  • 操作步骤 登录CAE控制台。 在左侧导航栏中选择“组件配置”。 在“组件配置”页面上方的下拉框中选择需要操作的组件。 图1 选择组件 单击“云数据库RDS”模块中的“配置”。 首次配置RDS实例时,需要在您开发的代码中配置RDS环境变量,为您提供如下变量参数: 变量名 变量说明 RDS_ADDRESS RDS数据库实例的内网地址 RDS_DB_NAME 数据库名字 RDS_USER_NAME 数据库的用户名 RDS_PASSWORD 数据库的密码 RDS_PORT 数据库端口 配置生效后,用户代码就能通过环境变量来获取RDS数据库的参数,然后通过这些参数来连接数据库进行增删改查。 例:用gorm连接postgreg: func initDB() (*gorm.DB, error) { //从环境变量中获取参数 dbAddress := os.Getenv("RDS_ADDRESS") dbName := os.Getenv("RDS_DB_NAME") dbUserName := os.Getenv("RDS_USER_NAME") dbPassword := os.Getenv("RDS_PASSWORD") dbPort := os.Getenv("RDS_PORT") //用获取的参数构建DSN dbDSN := fmt.Sprintf("host=%s port=%s user=%s dbname=%s sslmode=disable password=%s",dbAddress, 5432, dbUserName, dbName, dbPassword) //连接数据库 instance, err := gorm.Open("postgres", dbDSN) if err != nil { log.Println("connect db failed : " + err.Error()) return nil, err } return instance, nil } 在右侧页面中选择RDS实例。 已存在的RDS实例不满足业务需求时: 1、单击“前往云数据库RDS控制台”,进入云数据库控制台创建RDS实例。 2、单击“购买”,根据需求配置购买实例。 参考表1进行参数配置。 表1 云数据RDS配置 参数 参数说明 RDS实例 选择RDS数据库实例,用户可选择跟CAE相同vpc下的RDS数据库实例。 数据库名称 选择要配置的数据库。 数据库用户名 选择数据库下的用户。 数据库密码 数据库的密码。密码不能为空。 确认密码 再次输入数据库密码并确认。 数据库端口 输入数据库端口。 单击“保存”完成配置。 使配置生效。 如已完成组件部署,单击页面上方“生效配置”。在右侧弹框中确认配置信息,并单击“确定”,使配置生效。 如未完成组件部署,单击页面上方“配置并部署组件”,在右侧弹框中单击“确定”待部署执行完成后,配置生效。
  • 响应示例 状态码: 200 请求成功。 { "api_version" : "v1", "kind" : "ComponentConfiguration", "items" : [ { "type" : "env", "data" : { "spec" : { "envs" : { "TZ" : "Asia/Shanghai" }, "env_references" : [ { "env_name" : "test", "value_from" : { "name" : "test", "reference_type" : "dewSecret" } } ] } }, "operation_id" : "68e82e30-190d-40b2-9680-98a66ccb2f8f", "operated_at" : "2023-02-16T06:35:46.23126Z", "is_activated" : true }, { "type" : "volume", "data" : { "spec" : { "volumes" : [ { "volume_id" : "bef119d0-c7d1-4b58-9794-8b74faf80a59", "resource_name" : "test-nacos", "resource_type" : "", "resource_sub_type" : "object_bucket", "mount_info" : [ { "path" : "/tmp", "access_mode" : "ReadWriteMany", "create_time" : "2023-02-16T03:22:59.599Z" } ] }, { "volume_id" : "a061934d-52e3-4b36-aea7-6c51879f84c9", "resource_name" : "test", "resource_type" : "", "resource_sub_type" : "parallel_file_system", "mount_info" : [ { "path" : "/temp", "access_mode" : "ReadWriteMany", "create_time" : "2023-02-16T03:25:08.841Z" } ] } ] } }, "operation_id" : "68e82e30-190d-40b2-9680-98a66ccb2f8f", "operated_at" : "2023-02-16T06:35:46.23126Z", "is_activated" : true }, { "type" : "rds", "data" : { "spec" : { "rds_id" : "a5fdee4cf88c4277a68688a014f444bdin01", "rds_port" : "", "rds_address" : "100.xx.xx.xxx", "rds_db_name" : "cae", "rds_password" : "xxx", "rds_username" : "cae" } }, "operation_id" : "b4ce410c-3ac3-40ae-9f11-0c8b98c2df19", "operated_at" : "2023-02-16T02:14:03.416282Z", "is_activated" : true }, { "type" : "scaling", "data" : { "spec" : { "scale_strategy" : "mix", "max_replica_count" : 2, "min_replica_count" : 1, "advanced" : { "scaledown_stabilization_seconds" : 300, "scaledown_rate" : 99, "scaleup_stabilization_seconds" : 0, "scaleup_rate" : 4, "disable_scaledown" : false }, "triggers" : [ { "metadata" : { "period_type" : "day", "schedulers" : [ { "cron" : "00 01 * * *", "target_replica" : 2 }, { "cron" : "00 02 * * *", "target_replica" : 1 } ] }, "type" : "cron" }, { "metadata" : { "type" : "Utilization", "value" : "10" }, "type" : "cpu" }, { "metadata" : { "type" : "Utilization", "value" : "20" }, "type" : "memory" } ] } }, "operation_id" : "02c81e5a-251b-4921-878e-a8f78efbadd1", "operated_at" : "2023-02-16T07:03:07.711734Z", "is_activated" : true }, { "type" : "access", "data" : { "metadata" : { "annotations" : { "deployBackend" : "k8s", "kubernetes.io/elb.health-check-flag" : "off", "kubernetes.io/elb.lb-algorithm" : "ROUND_ROBIN" } }, "spec" : { "ip" : "100.xx.xx.xxx", "items" : [ { "type" : "ClusterIP", "domain_names" : [ "test-test-config" ], "ports" : [ { "ip" : "", "name" : "loadBalancer-5x095cix5deo", "target_port" : 80, "port" : 8080, "protocol" : "TCP" } ] }, { "type" : "LoadBalancer", "access_control" : { "type" : "white", "ip_list" : [ "1.1.1.1" ] }, "elb_id" : "f5de88cc-64be-4f70-ac17-db745eb12345", "ports" : [ { "ip" : "", "name" : "loadBalancer-0yzp5ud3w2pa", "target_port" : 80, "port" : 8080, "protocol" : "TCP" } ] } ] }, "ref" : { "id" : "f5de88cc-64be-4f70-ac17-db745eb76e67" } }, "operation_id" : "68e82e30-190d-40b2-9680-98a66ccb2f8f", "operated_at" : "2023-02-16T06:35:46.23126Z", "is_activated" : true }, { "type" : "lifecycle", "data" : { "api_version" : "v1", "kind" : "lifecycle", "spec" : { "postStart" : { "exec" : { "command" : [ "/bin/sh", "-c", "echo service start" ] } }, "preStop" : { "exec" : { "command" : [ "/bin/sh", "-c", "echo service end" ] } } } }, "operation_id" : "69bcf986-6f83-4f43-9ca1-595684ba0748", "operated_at" : "2023-02-16T07:05:05.610439Z", "is_activated" : true }, { "type" : "cse", "data" : { "spec" : { "cse_id" : "25779525-1aac-44be-abda-f9164f1b41b8", "config_center_addr" : "https://192.168.1.xxx:30103,https://192.168.1.xxx:30103", "service_center_addr" : "https://192.168.1.xxx:30100,https://192.168.1.xxx:30100" } }, "operation_id" : "945305ee-8be5-4826-9215-45a0b545ed13", "operated_at" : "2023-02-16T07:10:38.937075Z", "is_activated" : true }, { "type" : "healthCheck", "data" : { "spec" : { "livenessProbe" : { "httpGet" : { "path" : "", "port" : 80, "scheme" : "HTTP" }, "initialDelaySeconds" : 0, "timeoutSeconds" : 1, "periodSeconds" : 10, "successThreshold" : 1, "failureThreshold" : 3 }, "readinessProbe" : { "httpGet" : { "path" : "", "port" : 80, "scheme" : "HTTP" }, "initialDelaySeconds" : 0, "timeoutSeconds" : 1, "periodSeconds" : 10, "successThreshold" : 1, "failureThreshold" : 3 }, "startupProbe" : { "httpGet" : { "path" : "", "port" : 80, "scheme" : "HTTP", "httpHeaders" : [ { "name" : "x-auth-token", "value" : "xxx" } ] }, "initialDelaySeconds" : 0, "timeoutSeconds" : 1, "periodSeconds" : 10, "successThreshold" : 1, "failureThreshold" : 3 } } }, "operation_id" : "2361fba9-ee7e-405d-8b05-afc945a43e65", "operated_at" : "2023-02-16T07:07:23.193231Z", "is_activated" : true }, { "type" : "customMetric", "data" : { "metadata" : { "annotations" : { "deployBackend" : "k8s" }, "created_at" : "0001-01-01T00:00:00Z", "updated_at" : "0001-01-01T00:00:00Z" }, "spec" : { "port" : 2112, "path" : "/metrics", "metrics" : [ "myapp_processed_ops_total" ] }, "ref" : { "id" : "17b7f411-5a34-4319-abfc-34f6cf774a44" } }, "operation_id" : "a79a7c8d-6d5e-41ec-892b-973d11f5e835", "operated_at" : "2023-08-30T11:21:22.222476Z", "is_activated" : false } ] }
  • URI GET /v1/{project_id}/cae/applications/{application_id}/components/{component_id}/configurations 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取项目ID请参见获取项目ID。 application_id 是 String 应用ID。 component_id 是 String 组件ID。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 获取Token ,请参考《 统一身份认证 服务API参考》的“获取用户Token”章节。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 最大长度:16384 X-Enterprise-Project-ID 否 String 企业项目ID。 创建环境时,环境会绑定企业项目ID。 最大长度36字节,带“-”连字符的UUID格式,或者是字符串“0”。 该字段不传(或传为字符串“0”)时,则查询默认企业项目下的资源。 说明: 关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理服务用户指南》。 X-Environment-ID 是 String 环境ID。 获取环境ID,通过《云应用引擎API参考》的“获取环境列表”章节获取环境信息。 请求响应成功后在响应体的items数组中的一个元素即为一个环境的信息,其中id字段即是环境ID。
  • 绑定微服务引擎 只支持绑定状态为可用的微服务引擎。 不支持同时绑定多个微服务引擎。 绑定的微服务引擎需与环境在同一VPC内。 登录CAE控制台。 在左侧导航栏中选择“组件配置”。 在“组件配置”页面上方的下拉框中选择待操作的组件。 图1 选择组件 单击“ 微服务引擎CSE ”模块中的“配置”。 选择微服务引擎 CS E。 单击“ServiceComb引擎专享版”,根据需求在列表中选择ServiceComb引擎。 图2 ServiceComb引擎专享版 单击“注册配置中心”,根据需求在列表中选择Nacos引擎。 图3 Nacos引擎 若已存在的微服务引擎CSE不满足业务需求时: 请单击“前往微服务引擎CSE控制台”,进入CSE控制台创建微服务引擎,具体步骤请参考创建ServiceCombl引擎或创建Nacos引擎。 选择创建的微服务引擎。 单击“保存”完成配置。 使配置生效。 如已完成组件部署,单击页面上方“生效配置”。在右侧弹框中确认配置信息,并单击“确定”,使配置生效。 如未完成组件部署,单击页面上方“配置并部署组件”,在右侧弹框中单击“确定”待部署执行完成后,配置生效。 绑定ServiceComb引擎后,可查看微服务运行相关的指标,根据丰富实时的仪表盘数据,对微服务做相应的治理动作。具体操作请参考使用ServiceComb引擎。 绑定Nacos引擎后,可对注册在Nacos上的服务进行管理。具体操作请参考使用Nacos引擎。
  • 如何重置Kafka数据? 删除Kafka topic信息即重置Kafka数据,具体命令请参考: 删除topic:kafka-topics.sh --delete --zookeeper ZooKeeper集群业务IP:2181/kafka --topic topicname 查询所有topic:kafka-topics.sh --zookeeper ZooKeeper集群业务IP:2181/kafka --list 执行删除命令后topic数据为空则此topic会立刻被删除,如果有数据则会标记删除,后续Kafka会自行进行实际删除。 父主题: 组件配置类
  • 添加环境变量 登录CAE控制台。 在左侧导航栏中选择“组件配置”。 在“组件配置”页面上方的下拉框中选择需要操作的组件。 图1 选择组件 单击“环境变量”模块中的“编辑”,在右侧页面中单击“新增环境变量”。 参考表1进行参数配置。 表1 环境变量配置 参数 参数说明 类型 支持“手工添加”和“凭据导入”。 变量名称 环境变量的名称,必须唯一。 变量/变量引用 变量的值。 当“类型”选择“凭据导入”时,可在下拉框中选择已创建的凭据配置,具体操作请参考添加凭据配置。 例如,设置“变量名称”为“TZ”,“变量/变量引用”为“Asia/Shanghai”。即当程序代码读取“TZ”环境变量时,获取值为“Asia/Shanghai”。可以查看上海的时区,可以比较当地时间与上海的时差。实际执行效果视代码而定。 图2 环境变量配置 (可选)您还可以通过单击“导入”,导入自定义的环境变量文件。 导入的文件应为字符串形式的键值对映射,一次性最多上传200个环境变量,且仅支持json与yaml格式。例如:{ "key1": "value1", "key2": "value2"... }。 在“操作”列单击“保存”,,并在“环境变量配置”页面单击“确定”,完成环境变量配置添加。 使配置生效。 如已完成组件部署,单击页面上方“生效配置”。在右侧弹框中确认配置信息,并单击“确定”,使配置生效。 如未完成组件部署,单击页面上方“配置并部署组件”,在右侧弹框中单击“确定”待部署执行完成后,配置生效。
  • 更新环境变量 登录CAE控制台。 在左侧导航栏中选择“组件配置”。 在“组件配置”页面上方的下拉框中选择需要操作的组件。 图3 选择组件 单击“环境变量”模块中的“编辑”,进入“环境变量配置”界面。 选择待操作配置,在“操作”列单击“编辑”,参考表2更新环境变量信息。 表2 环境变量配置 参数 参数说明 类型 支持“手工添加”和“凭据导入”。 变量名称 环境变量的名称,必须唯一。 变量/变量引用 变量的值。 当“类型”选择“凭据导入”时,可在下拉框中选择已创建的凭据配置,具体操作请参考添加凭据配置。 在“操作”列的“保存”,并在“环境变量配置”页面单击“确定”,完成环境变量配置更新。 使配置生效。 如已完成组件部署,单击页面上方“生效配置”。在右侧弹框中确认配置信息,并单击“确定”,使配置生效。 如未完成组件部署,单击页面上方“配置并部署组件”,在右侧弹框中单击“确定”待部署执行完成后,配置生效。
  • 删除环境变量 登录CAE控制台。 在左侧导航栏中选择“组件配置”。 在“组件配置”页面上方的下拉框中选择需要操作的组件。 图4 选择组件 单击“环境变量”模块中的“编辑”,进入“环境变量配置”界面。 选择待操作配置,在“操作”列单击“删除”,并在弹框中单击“是”。 图5 删除环境变量 在“环境变量配置”页面单击“确定”,完成环境变量配置删除。 使配置生效。 如已完成组件部署,单击页面上方“生效配置”。在右侧弹框中确认配置信息,并单击“确定”,使配置生效。 如未完成组件部署,单击页面上方“配置并部署组件”,在右侧弹框中单击“确定”待部署执行完成后,配置生效。
  • 配置示例 select配置示例如下,配置后效果如图1所示。 { "type": "select", "name": "commProps.mySelect", "value": "Border", "label": { "zh_CN": "边框", "en_US": "Border" }, "options": [{ "value": "Full", "label": { "zh_CN": "全边框", "en_US": "Full" } }, { "value": "Corner", "label": { "zh_CN": "角边框", "en_US": "Corner" } }, { "value": "No Border", "label": { "zh_CN": "无边框", "en_US": "No Border" } } ] } 图1 配置后效果
  • 配置示例 textarea配置示例如下,设置后效果如图1所示。 { "type": "textarea", "name": "commProps.myTextarea", "value": "我是text的类型", "label": { "zh_CN": "textarea的类型", "en_US": "textarea Type Example" }, "rows": 3 } 图1 设置后效果
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 获取Token,请参考《统一身份认证服务API参考》的“获取用户Token”章节。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 最大长度:16384 X-Enterprise-Project-ID 否 String 企业项目ID。 创建环境时,环境会绑定企业项目ID。 最大长度36字节,带“-”连字符的UUID格式,或者是字符串“0”。 该字段不传(或传为字符串“0”)时,则查询默认企业项目下的资源。 说明: 关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理服务用户指南》。 X-Environment-ID 是 String 环境ID。 获取环境ID,通过《云应用引擎API参考》的“获取环境列表”章节获取环境信息。 请求响应成功后在响应体的items数组中的一个元素即为一个环境的信息,其中id字段即是环境ID。
  • URI DELETE /v1/{project_id}/cae/applications/{application_id}/components/{component_id}/configurations 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取项目ID请参见获取项目ID。 application_id 是 String 应用ID。 component_id 是 String 组件ID。
  • 操作步骤 登录CSE控制台。选择“注册配置中心”。 单击需要注册的Nacos名称,在基础信息页面获取Nacos“内网地址”和“虚拟私有云”。 图1 获取内网地址和VPC 登录DNS控制台。选择“内网 域名 ”。 在内网域名列表中筛选域名“nacos.cse.com”,单击关联2中获取VPC的域名名称。 图2 Nacos引擎域名 在“解析记录”页面,选择2中内网地址记录,获取域名对应的ip。 图3 获取Nacos引擎域名对应ip 登录CAE控制台。 在“组件配置”页面,配置环境变量。 图4 配置环境变量 变量名称根据实际代码填写。