详情页标题前

腾讯云对象存储将 HDFS 数据迁移到已开启元数据加速功能的存储桶

详情页1

简介

元数据加速是由腾讯云对象存储(Cloud Object Storage,COS)服务提供的高性能文件系统功能。元数据加速底层采用了云 HDFS 卓越的元数据管理功能,支持用户通过文件系统语义访问对象存储服务,系统设计指标可以达到百 GB 级别带宽、10万级 QPS 以及 ms 级延迟。存储桶在开启元数据加速后,可以广泛应用于大数据、高性能计算、机器学习、AI 等场景。有关元数据加速的详细介绍,请参见 元数据加速通过元数据加速服务,COS 提供了 Hadoop 文件系统的语义,因此利用 Hadoop Distcp 工具 可以方便地在对象存储 COS 与其他 Hadoop 文件系统之间进行双向的数据迁移,本文重点介绍如何通过 Hadoop Distcp 工具将本地 HDFS 中的文件迁移到 COS 元数据加速存储桶中。

迁移环境准备

迁移工具准备

1. 下载下表中的 jar 包工具,并且放置到迁移集群提交机的本地目录下,例如 /data01/jars。腾讯云 EMR 环境安装说明

jar 包文件名 说明 下载地址
cos-distcp-1.12-3.1.0.jar COSDistCp 相关包,拷贝数据到 COSN 可参见 COSDistCp 工具
chdfs_hadoop_plugin_network-2.8.jar OFS 插件 点击下载

自建 Hadoop/CDH 等环境软件依赖Hadoop-2.6.0及以上版本、Hadoop-COS 插件8.1.5及以上版本,同时 cos_api-bundle 插件版本与 Hadoop-COS 版本对应,详情请参见 COSN github releases 确认。安装说明在 Hadoop 环境下,安装以下插件:

jar 包文件名 说明 下载地址
cos-distcp-1.12-3.1.0.jar COSDistCp 相关包,拷贝数据到 COSN 可参见 COSDistCp 工具
chdfs_hadoop_plugin_network-2.8.jar OFS 插件 点击下载
Hadoop-COS Version >= 8.1.5 可参见 Hadoop-COS 工具
cos_api-bundle 版本需与 Hadoop-COS 对应 点击下载


注意Hadoop-cos 自8.1.5版本开始支持 cosn://bucketname-appid/ 方式访问元数据加速桶;元数据加速功能只能在创建存储桶时开启,开启后不支持关闭,请结合您的业务情况慎重考虑是否开启,同时注意旧版本的 Hadoop-cos 包不能正常访问已开启元数据加速功能的存储桶。2. 创建元数据加速存储桶,并配置元数据加速桶 HDFS 协议。详细步骤可参见 使用 HDFS 协议访问已开启元数据加速的存储桶 中的“创建存储桶并配置 HDFS 协议”章节。3. 修改迁移集群core-site.xml ,修改完成后下发配置到所有的节点上。如果只是迁移数据,则不用重启大数据组件。

key value 配置文件 说明
fs.cosn.trsf.fs.ofs.impl com.qcloud.chdfs.fs.CHDFSHadoopFileSystemAdapter core-site.xml COSN 实现类,必填
fs.cosn.trsf.fs.AbstractFileSystem.ofs.impl com.qcloud.chdfs.fs.CHDFSDelegateFSAdapter core-site.xml COSN 实现类,必填
fs.cosn.trsf.fs.ofs.tmp.cache.dir 格式形如 /data/emr/hdfs/tmp/ core-site.xml 临时目录,必填。MRS 各节点均会创建,需保证有足够的空间和权限
fs.cosn.trsf.fs.ofs.user.appid 客户 COS bucket 对应的 appid core-site.xml 必填
fs.cosn.trsf.fs.ofs.ranger.enable.flag false core-site.xml 必填,确认是否为 false
fs.cosn.trsf.fs.ofs.bucket.region bucket 对应 region core-site.xml 必填,可选值:eu-frankfurt(法兰克福)、ap-chengdu(成都)、ap-singapore(新加坡)

4. 验证迁移集群可以通过内网访问元数据加速存储桶,详细步骤可参见 使用 HDFS 协议访问已开启元数据加速的存储桶 中的“配置计算集群访问 COS”章节。通过迁移集群提交验证是否能成功访问 COS。

存量迁移

1. 确定迁移目录

一般情况下,迁移数据会先从 HDFS 存储数据开始迁移,会选定源 HDFS 集群待迁移的目录,目标段保持和源路径相同,如下所示:假设需要将 HDFS 路径 hdfs:///data/user/target 迁移到 cosn://{bucketname-appid}/data/user/target为了保证迁移过程中,源端目录的文件不发生改变,会采用 HDFS 的快照功能,先给待迁移的目录打上快照,以当前日期作为快照文件名。

hdfs dfsadmin -disallowSnapshot hdfs:///data/user/hdfs dfsadmin -allowSnapshot hdfs:///data/user/targethdfs dfs -deleteSnapshot hdfs:///data/user/target {当前日期}hdfs dfs -createSnapshot hdfs:///data/user/target {当前日期}

参考成功示例:

腾讯云对象存储将 HDFS 数据迁移到已开启元数据加速功能的存储桶

如果不想做快照,可直接以源端 target 文件进行迁移。

2. 使用 COSDistCp 迁移

启动 COSDistCp 任务,将文件从源 HDFS 复制到目标 COS 桶上。COSDistCp 为 MapReduce 任务,MapReduce 任务打印日志中会提示 MR 任务执行成功与否。如果失败可查看 YARN 页面,将日志或异常信息提供到 COS 进行排查。通过 COSDistCp 工具执行迁移任务分为如下几个步骤:
(1)创建临时目录
(2)运行 COSDistCp 任务
(3)失败文件重迁移

(1)创建临时目录

hadoop fs -libjars /data01/jars/chdfs_hadoop_plugin_network-2.8.jar -mkdir cosn://bucket-appid/distcp-tmp

(2)运行 COSDistCp 任务

nohup hadoop jar /data01/jars/cos-distcp-1.10-2.8.5.jar -libjars  /data01/jars/chdfs_hadoop_plugin_network-2.8.jar --src=hdfs:///data/user/target/.snapshot/{当前日期}  --dest=cosn://{bucket-appid}/data/user/target   --temp=cosn://bucket-appid/distcp-tmp/ --preserveStatus=ugpt  --skipMode=length-checksum --checkMode=length-checksum --cosChecksumType=CRC32C --taskNumber 6 --workerNumber 32 --bandWidth 200 >> ./distcp.log &

参数说明如下,您可根据实际情况进行调整:–taskNumber=VALUE 指定拷贝进程数,示例:–taskNumber=10。–workerNumber=VALUE 指定拷贝线程数,COSDistCp 在每个拷贝进程中创建该参数大小的拷贝线程池。示例:–workerNumber=4。–bandWidth 限制读取每个迁移文件的带宽,单位为:MB/s,默认-1,不限制读取带宽。示例:–bandWidth=10。–cosChecksumType=CRC32C, 默认采用 CRC32C,但是需要 HDFS 集群支持 COMPOSITE_CRC32 校验,依赖 Hadoop 版本3.1.1+,如果 HDFS 版本低于3.1.1,此参数需要改为–cosChecksumType=CRC64。注意COSDistCp 迁移的总带宽限制计算公式为:taskNumber x workerNumber x bandWidth,您可以将 workerNumber 设置为 1,通过参数 taskNumber 控制迁移并发数,以及参数 bandWidth 控制单个并发的带宽。在拷贝任务结束时,任务日志会输出文件拷贝的统计信息,相关计数器如下:
其中 FILES_FAILED 代表失败的个数,若无 FILES_FAILED 统计项则说明全部迁移成功。

CosDistCp Counters        BYTES_EXPECTED=10198247        BYTES_SKIPPED=10196880        FILES_COPIED=1        FILES_EXPECTED=7        FILES_FAILED=1        FILES_SKIPPED=5

具体输出结果统计项说明如下:

统计项 说明
BYTES_EXPECTED 根据源目录统计的需拷贝的文件总大小,单位:字节
FILES_EXPECTED 根据源目录统计的需拷贝文件数,包含目录文件
BYTES_SKIPPED 长度或校验和值相等,不拷贝的文件总大小,单位:字节
FILES_SKIPPED 长度或校验和值相等,不拷贝的源文件数
FILES_COPIED 拷贝成功的源文件数
FILES_FAILED 拷贝失败的源文件数
FOLDERS_COPIED 拷贝成功的目录数
FOLDERS_SKIPPED 跳过的目录数

(3)失败文件重迁移

COSDistCp 工具不但可以解决大部分文件的迁移效率问题,同时也可以采用 --delete 参数支持 HDFS 和 COS 数据的完全一致。使用 --delete 参数时,需要携带 --deleteOutput=/xxx(自定义) 参数,但不可以携带 --diffMode参数。

nohup hadoop jar /data01/jars/cos-distcp-1.10-2.8.5.jar -libjars /data01/jars/chdfs_hadoop_plugin_network-2.8.jar --src=--src=hdfs:///data/user/target/.snapshot/{当前日期} --dest=cosn://{bucket-appid}/data/user/target --temp=cosn://bucket-appid/distcp-tmp/ --preserveStatus=ugpt --skipMode=length-checksum --checkMode=length-checksum --cosChecksumType=CRC32C --taskNumber 6 --workerNumber 32 --bandWidth 200 --delete --deleteOutput=/dele-xx >> ./distcp.log &

运行完成后,会将 HDFS 和 COS 的差异数据移动到 trash 目录下,并且在 /xxx/failed 目录下生成移动文件清单。删除 trash 目录下的数据可以采用 hadoop fs -rm URL 或者hadoop fs -rmr URL

增量迁移

如果每一轮迁移过后,还存在更新的增量数据需要迁移,只需要重复执行全量迁移中的步骤即可,直到数据均已完成迁移。
对象存储官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

转转请注明出处:http://www.yunxiaoer.com/144830.html

(0)
上一篇 2023年12月9日 上午1:52
下一篇 2023年12月9日 上午1:52
详情页2

相关推荐

  • 阿里云RDS数据库重置密码-云淘科技

    在使用RDS过程中,如果忘记数据库账号密码,可以通过控制台重新设置密码。 操作步骤 说明 为了数据安全,建议您定期更换密码。 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。 在左侧导航栏单击账号管理。 在待重置密码的账号的操作列,单击重置密码。 在弹出的对话框中输入新密码并确认,然后单击确定。 密码要求如下: 长度为8~32个字符。 由大写字母、…

    阿里云数据库 2023年12月9日
  • 腾讯云云函数(SCF)在云函数中使用自定义字体-云淘科技

    应用场景 通过在云函数中使用 Puppeteer,可按需完成针对特定网页的截图、保存、录屏、生成 PDF 等操作。该功能延续了云函数按需拉起的特性,在需要时才去实际启动实例执行,无需使用虚拟机或容器去持续运行服务,方便封装为通用能力。云函数的运行环境目前仅内置了单一字体,本文提供在云函数中使用自定义字体的最佳实践来解决单一字体不能满足定制化需求的问题。本文以…

    2023年12月9日
  • 腾讯云计算加速套件TACO KitTACO Infer 安装

    操作场景 本文介绍如何在服务器上安装 TACO Infer。TACO Infer 的安装包包括 Python Wheel 包和推理 SDK 包两个部分。Python Wheel 包用于在具有目标加速芯片的机器环境中对模型进行优化,SDK 则用于 C++开发模型推理部署。 使用环境要求 具体项 说明 操作系统 TACO Infer 针对 CentOS 7.9进…

    腾讯云 2023年12月9日
  • 腾讯云负载均衡域名化负载均衡快速入门

    腾讯云负载均衡支持 TCP、UDP、TCP SSL、QUIC、HTTP 和 HTTPS 协议,提供基于域名和 URL 路径的灵活转发能力。本文将引导您如何快速创建一个域名化负载均衡(CLB)实例,并将来自客户端的访问请求转发到后端服务器上(本文中的后端服务器以 CVM 为例)。 前提条件 1. 已创建两个云服务器实例(本文以 rs-1 和 rs-2 实例为例…

    2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云日志服务SLS使用前须知-云淘科技

    阿里云日志服务与消息服务(MNS)联合推出MNS操作日志管理功能,支持将队列、主题的消息操作日志推送到日志服务,帮助您了解完整的消息轨迹。本文介绍MNS操作日志管理功能相关的资产详情、费用说明以及使用限制。 资产详情 自定义日志服务Project和Logstore 重要 请勿删除MNS日志管理功能对应的日志服务Project和Logstore,否则将无法正常…

    阿里云日志服务SLS 2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。