华为云用户手册

  • 响应示例 { "dedicated_host": { "dedicated_host_id": "d465d0ae-f859-4a83-a508-8db654c05e7e", "name": "DEH001", "auto_placement": "off", "availability_zone": "cn-east-3a", "host_properties": { "vcpus": 74, "cores": 22, "sockets": 2, "memory": 151552, "host_type": "c6", "host_type_name": "dedicated_general_purpose", "available_instance_capacities": [ { "flavor": "c6.large.2" }, { "flavor": "c6.xlarge.2" }, { "flavor": "c6.2xlarge.2" }, { "flavor": "c6.3xlarge.2" }, { "flavor": "c6.6xlarge.2" }, { "flavor": "c6.16xlarge.2" } ] }, "state": "available", "project_id": "9c53a566cb3443ab910cf0daebca90c4", "available_vcpus": 20, "available_memory": 40960, "instance_total": 5, "allocated_at": "2016-10-10T14:35:47Z", "released_at": "", "instance_uuids": [ "erf5th66cb3443ab912ff0daebca3456", "23457h66cb3443ab912ff0daebcaer45" ] } }
  • 请求示例 按标签查询专属主机列表,按标签过滤专属主机,从第一条数据开始查询,搜索名称为resource1的专属主机,标签键为key1值为value1。 POST https://{Endpoint}/v1.0/9c53a566cb3443ab910cf0daebca90c4/dedicated-host-tags/resource_instances/action { "offset": "0", "limit": "100", "action": "filter", "matches": [ { "key": "resource_name", "value": "resource1" } ], "tags": [ { "key": "key1", "values": ["value1"] } ] }
  • 请求消息 表2 请求参数 参数 参数类型 是否必选 描述 tags Array of objects 否 查询包含所有指定标签的专属主机。更多信息,请参见表3。 最多包含10个key,每个key下面的value最多10个。 结构体不能缺失。 key不能为空或者空字符串。 key不能重复。 同一个key中value不能重复。 not_tags Array of objects 否 查询不包含所有指定标签的专属主机。更多信息,请参见表3。 最多包含10个key,每个key下面的value最多10个。 结构体不能缺失。 key不能为空或者空字符串。 Key不能重复。 同一个key中value不能重复。 limit Integer 否 查询返回的专属主机数量限制,最多为1000,不能为负数。 如果action的值为count,此参数无效。 如果action的值为filter,limit默认为1000。 offset Integer 否 索引位置,从offset指定的下一条数据开始查询。必须为数字,不能为负数。 查询第一页数据时,不需要传入此参数。查询后续页码数据时,将查询前一页数据时响应体中的值带入此参数。 如果action的值为count,此参数无效。 如果action的值为filter,offset默认为0。 action String 是 操作标识,包括filter和count两种。 filter:表示按标签过滤专属主机,返回符合条件的专属主机列表。此时,为分页查询。 count:表示按标签搜索专属主机,返回符合条件的专属主机个数。 tags_any Array of objects 否 包含任意标签。更多信息,请参见表3。 最多包含10个key,每个key下面的value最多10个,每个key对应的value可以为空数组但结构体不能缺失。 key不能重复,同一个key中value不能重复。 结果返回包含标签的资源列表,key之间是“或”的关系,key-value结构中value是“或”的关系。 无过滤条件时返回全量数据。 not_tags_any Array of objects 否 不包含任意标签。更多信息,请参见表3。 最多包含10个key,每个key下面的value最多10个,每个key对应的value可以为空数组但结构体不能缺失。 key不能重复,同一个key中value不能重复。 结果返回不包含标签的资源列表,key之间是“或”的关系,key-value结构中value是或的关系。 无过滤条件时返回全量数据。 matches Array of objects 否 搜索字段,用于按条件搜索专属主机。 当前仅支持按resource_name进行搜索。更多信息,请参见表4。 表3 tag字段数据结构说明 参数 参数类型 是否必选 描述 key String 是 键。 最大长度127个unicode字符。 key不能为空。 values Array of strings 否 值列表。 最多10个value。 value不允许重复。 每个值最大长度255个unicode字符。 如果value缺失则表示any_value。 value之间为“或”的关系。 表4 match字段数据结构说明 参数 参数类型 是否必选 描述 key String 是 键,表示要匹配的字段。 key不能重复,value为匹配的值。 此字段为固定字典值。 不允许为空字符串。 说明: 当前key的参数值仅支持resource_name,此时value的参数值为专属主机名称。 value String 是 值。 每个值最大长度为255个unicode字符。 不可以为空 。
  • 响应示例 action为filter时的响应体: { "resources": [ { "resource_detail": null, "resource_id": "cdfs_cefs_wesas_12_dsad", "resource_name": "resource1", "tags": [ { "key": "key1", "value": "value1" } ] } ], "total_count": 1 } action为count时的响应体: { "total_count": 100 }
  • 请求示例 批量添加专属主机标签,键为key1对应的值为value1,键为key2对应的值为value2。 POST https://{Endpoint}/v1.0/9c53a566cb3443ab910cf0daebca90c4/dedicated-host-tags/74259164-e63a-4ad9-9c77-a1bd2c9aa187/tags/action { "action": "create", "tags": [ { "key": "key1", "value": "value1" }, { "key": "key2", "value": "value2" } ] }
  • URI POST /v1.0/{project_id}/dedicated-host-tags/{dedicated_host_id}/tags/action 参数说明请参见表1。 表1 参数说明 参数 参数类型 是否必选 描述 project_id String 是 项目ID。 获取方式请参见获取项目ID。 dedicated_host_id String 是 专属主机ID。 可以从专属主机控制台查询,或者通过调用查询专属主机列表API获取。
  • 响应示例 { "versions": [ { "id": "v1.0", "links": [ { "href": "https//deh.xxx.com/v1.0/", "rel": "self" } ], "min_version": "", "status": "SUPPORTED", "updated": "2016-12-01T11:33:21Z", "version": "" } ] }
  • 响应消息 表1 响应参数 参数 参数类型 描述 versions Array of objects 专属主机API版本信息列表。 表2 versions字段数据结构说明 参数 参数类型 描述 id String API版本ID。 links Array of objects API的url地址。 min_version String 若该版本API支持微版本,则为支持的最小微版本号;如果不支持微版本,则为空。 status String API版本状态: CURRENT:表示该版本为主推版本。 SUPPORTED:表示为老版本,但是现在还在继续支持。 DEPRECATED:表示为废弃版本,存在后续删除的可能。 updated String API版本更新时间,用UTC时间表示。 version String 若该版本API支持微版本,则为支持的最大微版本号;如果不支持微版本,则为空。 表3 links字段数据结构说明 参数 参数类型 描述 href String API的url地址。 rel String API的url地址依赖。
  • URI GET /v1.0/{project_id}/dedicated-hosts/{dedicated_host_id}/servers 参数说明请参见表1。 表1 参数说明 参数 参数类型 是否必选 描述 project_id String 是 项目ID。 获取方式请参见获取项目ID。 dedicated_host_id String 是 专属主机ID。 可以从专属主机控制台查询,或者通过调用查询专属主机列表API获取。
  • 响应示例 { "servers": [ { "addresses": { "68269e6e-4a27-441b-8029-35373ad50bd9": [ { "addr": "192.168.0.3", "version": 4, "OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:1b:35:78", "OS-EXT-IPS:type": "fixed" } ] }, "created": "2012-09-07T16:56:37Z", "flavor": { "id": "1" }, "id": "05184ba3-00ba-4fbc-b7a2-03b62b884931", "metadata": { "os_type": "Linux" }, "name": "new-server-test", "status": "ACTIVE", "tenant_id": "a90b2728805d4240a72cc2eeb4e1244d", "updated": "2012-09-07T16:56:37Z", "user_id": "fake", "task_state": "", "image": { "id": "1ce5800a-e487-4c1b-b264-3353a39e2b4b" } } ] }
  • 到期后影响 图1描述了包年/包月专属主机资源各个阶段的状态。购买后,在计费周期内资源正常运行,此阶段为有效期;资源到期而未续费时,将陆续进入宽限期和保留期。 图1 包年/包月专属主机资源生命周期 到期预警 包年/包月专属主机资源在到期前第7天内,系统将向用户推送到期预警消息。预警消息将通过邮件、短信和站内信的方式通知到华为云账号的创建者。 到期后影响 当您的包年/包月专属主机资源到期未续费,首先会进入宽限期,资源状态变为“已过期”。宽限期内您可以正常访问专属主机,但以下操作将受到限制: 切换操作系统 扩容或增加云硬盘 修改带宽大小 扩容或增加云备份 如果您在宽限期内仍未续费包年/包月专属主机资源,那么就会进入保留期,资源状态变为“已冻结”,您将无法对处于保留期的包年/包月资源执行任何操作。 保留期到期后,若包年/包月专属主机资源仍未续费,那么专属主机及其内的计算资源(vCPU和内存)、弹性公网IP、云硬盘和云备份都将被释放,数据无法恢复。 华为云根据客户等级定义了不同客户的宽限期和保留期时长。 关于续费的详细介绍请参见续费概述。
  • 计费示例 假设您在2023/03/08 15:50:04购买了一台包年/包月专属主机,购买时长为一个月,并在到期前手动续费1个月,则: 第一个计费周期为:2023/03/08 15:50:04 ~ 2023/04/08 23:59:59 第二个计费周期为:2023/04/08 23:59:59 ~ 2023/05/08 23:59:59 您需要为每个计费周期预先付费,各项ECS资源单独计费,计费公式如表1所示。 表1 计费公式 资源类型 计费公式 资源单价 专属主机 专属主机类型单价 * 购买时长 以专属主机价格详情中的价格为准。
  • 续费简介 包年/包月专属主机到期后,会影响专属主机正常运行。如果您想继续使用,需要在指定的时间内为专属主机续费,否则专属主机中的云服务器会自动释放,数据丢失且不可恢复。 续费操作仅适用于包年/包月专属主机,专属主机内的ECS关联的镜像、弹性公网IP、云硬盘、云备份等按需计费资源不需要续费,只需要保证账户余额充足即可。若账户余额不足可进行充值,详细内容,请参见账户充值。 专属主机在到期前续费成功,所有资源得以保留,且专属主机的运行不受影响。专属主机到期后的状态说明,请参见到期后影响。
  • 续费相关的功能 包年/包月专属主机续费相关的功能如表1所示。 表1 续费相关的功能 功能 说明 手动续费 包年/包月专属主机从购买到被自动删除之前,您可以随时在DeH控制台为专属主机续费,以延长专属主机的使用时间。 自动续费 开通自动续费后,专属主机会在每次到期前自动续费,避免因忘记手动续费而导致资源被自动删除。 在一台包年/包月专属主机生命周期的不同阶段,您可以根据需要选择一种方式进行续费,具体如图1所示。 图1 专属主机生命周期 专属主机从购买到到期前,处于正常运行阶段,资源状态为“运行中”。 到期后,资源状态变为“已过期”。 到期未续费时,专属主机首先会进入宽限期,宽限期到期后仍未续费,资源状态变为“已冻结”。 超过宽限期仍未续费将进入保留期,如果保留期内仍未续费,资源将被自动删除。 华为云根据客户等级定义了不同客户的宽限期和保留期时长。 在专属主机到期前均可开通自动续费,到期前7日凌晨3:00首次尝试自动续费,如果扣款失败,每天凌晨3:00尝试一次,直至专属主机到期或者续费成功。到期前7日自动续费扣款是系统默认配置,您也可以根据需要修改此扣款日。
  • 成本优化 成本控制 企业可以在成本中心的“预算管理”页面创建精细粒度的预算来管理成本和使用量,在实际或预测超过预算阈值时,自动发送通知给指定消息接收人。企业还可以创建预算报告,定期将指定预算进展通知给指定消息接收人。 例如企业需要创建一个弹性云服务器的按需成本预算,每月预算金额为2000元,当预测金额高于预算金额的80%时发送预算告警。那么,创建的预算如下: 图3 预算基本信息 图4 设置成本范围 图5 设置提醒 详细介绍请参见使用预测和预算来跟踪成本和使用量。 资源优化 成本中心可以通过监控专属主机的历史消费情况和CPU使用率,为客户提供专属主机资源的空闲识别和优化建议,寻找节约成本的机会。您还可以根据成本分析阶段的分析结果识别成本偏高的资源,通过云监控服务监控资源的使用情况,确定成本偏高的原因,然后采取针对性的优化措施。 监控资源利用率,评估当前配置是否过高。例如:CPU、内存、云硬盘、带宽等资源的利用率。 监控闲置的资源,避免浪费。例如:未挂载的云硬盘、未绑定的EIP等。 实现自动化运维 华为云也提供了丰富的运维类产品,帮助您提升运维效率,降低运维的人力成本。例如: 弹性伸缩:持续维护跨计费模式、跨可用区、跨实例规格的实例集群。适合业务负载存在峰谷波动的场景。 智能购买组:一键部署跨计费模式、跨可用区和跨实例规格的实例集群。适合需要快速交付稳定算力,同时使用竞价实例降低成本的场景。 资源编排:一键部署并维护包含多种云资源和依赖关系的资源栈。适合交付整体系统、克隆环境等场景。 自动化运维:以服务化的方式定义一组运维操作,高效执行运维任务。适合定时运维、批量运维、跨地域运维等场景。
  • 成本分配 成本管理的基础是树立成本责任制,让各部门、各业务团队、各责任人参与进来,为各自消耗专属主机中ECS产生的成本负责。企业可以通过成本分配的方式,将云上成本分组,归集到特定的团队或项目业务中,让各责任组织及时了解各自的成本情况。 华为云成本中心支持通过多种不同的方式对成本进行归集和重新分配,您可以根据需要选择合适的分配工具。 通过关联账号进行成本分配 企业主客户可以使用关联账号对子客户的成本进行归集,从而对子账号进行财务管理。详细介绍请参见通过关联账号维度查看成本分配。 通过企业项目进行成本分配 在进行成本分配之前,建议开通企业项目并做好企业项目的规划,可以根据企业的组织架构或者业务项目来划分。在购买云资源时选择指定企业项目,新购云资源将按此企业项目进行成本分配。详细介绍请参见通过企业项目维度查看成本分配。 图1 为云服务器选择企业项目 通过成本标签进行成本分配 标签是华为云为了标识云资源,按各种维度(例如用途、所有者或环境)对云资源进行分类的标记。推荐企业使用预定义标签进行成本归集,具体流程如下: 图2 为云服务器添加标签 详细介绍请参见通过成本标签维度查看成本分配。 使用成本单元进行成本分配 企业可以使用成本中心的“成本单元”来拆分公共成本。公共成本是指多个部门共享的计算、网络、存储或资源包产生的云成本,或无法直接通过企业项目、成本标签分配的云成本。这些成本不能直接归属于单一所有者,因此不能直接归属到某一类别。使用拆分规则,可以在各团队或业务部门之间公平地分配这些成本。详细介绍请参见使用成本单元查看成本分配。
  • 包年/包月资源 对于包年/包月计费模式的专属主机资源,用户在购买时会一次性付费,服务将在到期后自动停止使用。 如果在计费周期内不再使用包年/包月资源,您可以执行退订操作,系统将根据资源是否属于五天无理由退订、是否使用代金券和折扣券等条件返还一定金额到您的账户。详细的退订规则请参见云服务退订规则概览。 如果您已开启“自动续费”功能,为避免继续产生费用,请在自动续费扣款日(默认为到期前7日)之前关闭自动续费。
  • 计费示例 假设您在2023/04/18 9:59:30创建了一台ECS(镜像:Windows Server 2019 标准版),计费资源包括镜像、云硬盘(系统盘和数据盘)以及带宽(6Mbit/s),然后在2023/04/18 10:45:46将其删除,则: 第一个计费周期为9:00:00 ~ 10:00:00,在9:59:30 ~ 10:00:00间产生费用,该计费周期内的计费时长为30秒。 第二个计费周期为10:00:00 ~ 11:00:00,在10:00:00 ~ 10:45:46间产生费用,该计费周期内的计费时长为2746秒。 您需要为每个计费周期付费,各项资源单独计费,计费公式如表1所示。产品价格详情中标出了资源的每小时价格,您需要将每小时价格除以3600,得到每秒价格。 表2 计费公式 资源类型 计费公式 资源单价 镜像 镜像单价 * 计费时长 以售卖页和云市场镜像显示的价格为准。 云硬盘(系统盘和数据盘) 云硬盘单价 * 计费时长 请参见弹性云服务器价格详情中的“磁盘价格”,或者云硬盘价格详情。 公网带宽 按固定带宽值采用阶梯计费 0Mbit/s~5Mbit/s(含):均为一个统一的单价 大于5Mbit/s:按每Mbit/s计费 请参见弹性云服务器价格详情中的“带宽价格”,或者弹性公网IP价格详情。 图1给出了上述示例配置的费用计算过程。 图中价格仅供参考,实际计算请以弹性云服务器价格详情中的价格为准。 图1 按需计费资源费用计算示例
  • 适用计费项 在专属主机中创建ECS涉及如下计费项。 表1 适用计费项 计费项 说明 镜像 随ECS创建的镜像,包括按需计费的市场镜像。 云硬盘 随ECS创建的云硬盘,包括系统盘和数据盘。 公网带宽 ECS搭配“按带宽计费”的弹性公网IP时,带宽的计费模式同为按需计费。 弹性公网IP流量 ECS搭配“按流量计费”的弹性公网IP时,按实际使用的流量计费。 云备份 随ECS创建的云备份。 假设您计划创建一台Windows镜像的ECS,并同时购买一块数据盘,且选择“按带宽计费”的弹性公网IP。在创建ECS页面底部,您将看到所需费用的明细。配置费用将包括以下部分: 云硬盘:系统盘和额外购买的数据盘费用。 公网带宽:根据所选带宽大小计算的费用。 镜像费用:基于Windows镜像的市场价格。
  • 计费周期 按需计费资源按秒计费,每一个小时整点结算一次费用(以UTC+8时间为准),结算完毕后进入新的计费周期。计费的起点以ECS实例创建成功的时间点为准,终点以实例删除时间为准。 ECS从创建到启动需要一定时长,计费的起点是创建成功的时间点,而非创建时间。您可以在云服务器详情页“基本信息”页签查看这两个时间,创建成功的时间点对应界面上的“启动时间”。 例如,您在8:45:30创建了一台ECS,相关资源包括镜像和云硬盘(系统盘),然后在8:55:30将ECS删除。则镜像和云硬盘(系统盘)计费周期为8:00:00 ~ 9:00:00,在8:45:30 ~ 8:55:30间产生费用,该计费周期内的计费时长为600秒。
  • 数据迁移模型样例 一个离线分析平台的客户业务系统,由Spark Streaming消费Kafka数据存入HDFS,HDFS上进行小文件合并后加载到Hive表中,运营人员可以通过Presto进行Hive数据查询。 图1 源集群业务图 针对大数据离线平台包括HDFS和Hive数据需要迁移,Kafka、Spark Streaming、HDFS、Hive、Presto的业务程序要在目的端集群上部署。 图2 迁移示意图
  • 大数据组件信息 使用的大数据组件信息和规划的新版本大数据集群版本信息比较,主要识别版本差异可能对迁移过程的影响,以及对迁移后业务兼容性的影响。 表3 大数据组件信息 大数据组件 源端集群版本 目的端集群版本(以MRS集群版本为准) 说明 HDFS/OBS(或其他文件存储系统) Hadoop 2.8.3 Hadoop 3.3.1 - Hive 1.2.1 2.3.3 存储元数据的数据库:MySQL HBase 1.3.1 1.3.1 - Spark 2.2.2 3.1.1 - Kafka 1.1.0 2.11-2.4.0 - Oozie 2.x 5.1.0 - MySQL 5.7.1 RDS - Flink 1.7 1.15 - ... ... ... -
  • 待迁移的存量数据及数据量统计 如果使用HDFS作为文件存储系统,可以通过客户端执行hadoop fs -du -h HDFS文件目录命令统计路径下的文件大小。 表4 现有数据量统计 大数据组件 待迁移数据的路径 数据量大小 文件个数或表个数 HDFS/OBS(或其他文件存储系统) /user/helloworld XXX 总共:XXX个文件 小于2 MB的文件数量:XXX个 Hive /user/hive/warehouse/ XXX 表个数:XXX HBase /hbase XXX 表个数:XXX Region个数:XXX
  • 每天新增数据量统计 每天新增数据量主要评估数据增长速度(可以按天/小时等周期维度)。在第一次全量迁移数据后,后续可以定期搬迁老集群新增数据,直到业务完成最终割接。 表5 新增数据量统计 大数据组件 待迁移的数据路径 新增数据量大小 HDFS/OBS(或其他文件存储系统) /user/helloworld XXX Hive /user/hive/warehouse/ XXX HBase /hbase XXX
  • 流式Kafka集群信息收集 表6 流式Kafka集群信息 收集信息项 描述 Kafka的Topic数量和名称 - Kafka的本地数据暂存时间 如果每个Topic配置不一样,按Topic粒度收集。 每个Topic的副本数和Partition数量 默认为2,副本数越多数据越可靠,也会消耗磁盘空间。 如果每个Topic配置不一样,按Topic粒度收集。 Kafka生产和消费的流量大小 细化到Topic级别。 Kafka客户端ACK配置Acks -
  • 业务信息调研 大数据平台及业务的架构图。 大数据平台和业务的数据流图(包括峰值和均值流量等)。 识别平台数据接入源、大数据平台数据流入方式(实时数据上报、批量数据抽取)、分析平台数据流向。 数据在平台内各个组件间的流向,比如使用什么组件采集数据,采集完数据后数据如何流向下一层组件,使用什么组件存储数据,数据处理过程中的工作流等。 业务作业类型Hive SQL、Spark SQL、Spark Python等,是否需要使用MRS的第三方包,参考MRS应用开发样例。 调度系统,需要考虑调度系统对接MRS集群。 迁移后,业务割接允许中断时长,识别平台业务优先级。 识别在迁移过程中不能中断的业务、可短时中断的业务、整体业务迁移可接受的迁移时长,梳理业务迁移顺序。 客户端部署要求。 业务执行时间段和高峰时间段。 大数据集群的数量和大数据集群功能划分,分析平台业务模型。 各个集群或各个组件分别负责什么业务,处理什么类型的数据。比如实时/离线数据分别使用什么组件处理、数据格式类型、压缩算法等。
  • 集群基本信息收集 表1 集群基本信息 参数 说明 集群名称 - 集群版本 MRS、CDM等集群的版本信息。 节点数及规格 调研现有集群节点数和节点规格。 如果集群硬件异构,请收集多种规格和对应节点数,参见表2。 例如: 2台32U64G机器部署NameNode + ResourceManager 2台32U64G机器部署HiveServer 20台16U32G机器部署DataNode和NodeManager 是否开启Kerberos认证 是或否 权限控制及说明 调研各个开启ACL权限控制的组件和配置,通常涉及Yarn、Hive、Impala、HBase等组件。 使用Ranger、Sentry或组件开源的权限能力进行权限控制。 所在Region/AZ 云上资源填写项 虚拟私有云 云上资源填写项 子网 云上资源填写项 安全组 云上资源填写项 表2 硬件信息调研表 节点组 CPU和内存信息 磁盘和网络(按节点组统计) HDFS Yarn - - 磁盘信息(数据盘大小、磁盘IO、当前磁盘使用率和IO情况) 网络(网卡带宽大小、网络读写速度和峰值) NameNode DataNode JournalNode NodeManager ResourceManager master1 (16U64G) - - 1 - 1 - 1 master2 (16U64G) - - 1 - 1 - 1 master3 (16U64G) - - - - 1 - - Core-group1 (32U128G)*数量 - - - 1 - 1 - Core-group1 (32U129G) - - - - - - - Core-group1 (32U130G) - - - - - - -
  • HBase组件端口 表5 HBase组件端口 配置参数 默认端口(HBase1.x和HBase 2.x版本) 端口说明 hbase.master.port 16000 HMaster RPC端口。该端口用于HBase客户端连接到HMaster。 hbase.regionserver.port 16020 RS (RegoinServer) RPC端口。该端口用于HBase客户端连接到RegionServer。
  • Snapshots 对表执行snapshot操作生成快照,既可以作为原表的备份,当原表出现问题的时候可以回滚恢复,也可以作为跨集群的数据备份工具。执行快照会在当前HBase上的根目录(默认为/hbase)生成“ .hbase-snapshot”目录,里面有每个快照的详细信息。当执行ExportSnapshot导出快照时,会在本地提交MR任务,将快照信息以及表的HFile分别拷贝到备集群的/hbase/.hbase-snapshot和/hbase/archive中。详情请参考http://hbase.apache.org/2.2/book.html#ops.snapshots。 该方式数据备份的优点: 单表备份效率高,在线数据本地/远程备份,不中断主集群和备集群业务,可以灵活配置map的个数和限制流量,MapReduce的执行节点可不在主备集群(不占资源)。 该方式数据备份的缺点和限制: 只能单表操作,备份的表名在snapshot中已经指定无法更改,且无法增量备份,运行MR需要占用本地集群资源。 在主集群执行如下操作: 对表创建快照。例如对表member创建快照member_snapshot。 snapshot 'member','member_snapshot' 将快照拷贝到备集群上。 hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshot member_snapshot -copy-to hdfs://备集群HDFS服务主NameNode节点IP:端口号/hbase -mappers 3 备集群的数据目录必须为HBASE根目录(/hbase) mappers表示MR任务需要提交的map个数 在备集群执行如下操作: 使用restore命令在备集群自动新建表,以及与archive里的HFile建立link。 restore_snapshot 'member_snapshot' 如果只是备份表数据的话,建议使用此种方式备份,SnapshotExport会在本地提交MR任务,将Snapshot和HFile拷贝到备集群,之后可以在备集群直接加载数据,效率比其他方式高很多。
  • CopyTable 拷贝表功能与导出功能类似,拷贝表也使用HBase API创建了一个MapReduce任务,以便从源表读取数据。不同的地方是拷贝表的输出是hbase中的另一张表,这张表可以在本地集群,也可以在远程集群。详情请参考http://hbase.apache.org/2.2/book.html#copy.table。 该方式数据备份的优点: 操作简单,在线拷贝不中断业务,可以指定备份数据的startrow/endrow/timestamp。 该方式数据备份的缺点和限制: 只能单表操作,远程拷贝数据量大时效率较低,MapReduce需要占用本地资源,MapReduce的map个数以表region的个数划分。 在备集群执行如下操作: 执行create命令在备集群上新建与主集群相同结构的表,例如member_copy。 在主集群执行如下操作: 执行CopyTable的命令拷贝表。 hbase org.apache.hadoop.hbase.mapreduce.CopyTable [--starttime=xxxxxx] [--endtime=xxxxxx] --new.name=member_copy --peer.adr=server1,server2,server3:2181:/hbase [--families=myOldCf:myNewCf,cf2,cf3] TestTable starttime/endtime为待拷贝数据的时间戳。 new.name为备集群中目的表的表名,默认为和原来表名相同。 peer.adr为备集群zookeeper节点的信息,格式为quorumer:port:/hbase。 families为待拷贝的表的family列。 如果是拷贝数据到远端集群,此种方式导入数据会在主机群上提交MapReduce任务,读取原始表的全量/部分数据之后采用put的方式写入远端集群,所以如果表的数据量很大(远程拷贝不支持bulkload),则效率会比较低。
共100000条