tencent cloud

对象存储

动态与公告
产品动态
产品公告
产品简介
产品概述
功能概览
应用场景
产品优势
基本概念
地域和访问域名
规格与限制
产品计费
计费概述
计费方式
计费项
免费额度
计费示例
查看和下载账单
欠费说明
常见问题
快速入门
控制台快速入门
COSBrowser 快速入门
用户指南
创建请求
存储桶
对象
数据管理
批量处理
全球加速
监控与告警
运维中心
数据处理
内容审核
智能工具箱
数据工作流
应用集成
工具指南
工具概览
环境安装与配置
COSBrowser 工具
COSCLI 工具
COSCMD 工具
COS Migration 工具
FTP Server 工具
Hadoop 工具
COSDistCp 工具
HDFS TO COS 工具
GooseFS-Lite 工具
在线辅助工具
自助诊断工具
实践教程
概览
访问控制与权限管理
性能优化
使用 AWS S3 SDK 访问 COS
数据容灾备份
域名管理实践
图片处理实践
COS 音视频播放器实践
工作流实践
数据直传
内容审核实践
数据安全
数据校验
大数据实践
COS 成本优化解决方案
在第三方应用中使用 COS
迁移指南
本地数据迁移至 COS
第三方云存储数据迁移至 COS
以 URL 作为源地址的数据迁移至 COS
COS 之间数据迁移
Hadoop 文件系统与 COS 之间的数据迁移
数据湖存储
云原生数据湖
元数据加速
数据加速器 GooseFS
数据处理
数据处理概述
图片处理
媒体处理
内容审核
文件处理
文档处理
故障处理
获取 RequestId 操作指引
通过外网上传文件至 COS 缓慢
访问 COS 时返回403错误码
资源访问异常
POST Object 常见异常
API 文档
简介
公共请求头部
公共响应头部
错误码
请求签名
操作列表
Service 接口
Bucket 接口
Object 接口
批量处理接口
数据处理接口
任务与工作流
内容审核接口
云查毒接口
SDK 文档
SDK 概览
准备工作
Android SDK
C SDK
C++ SDK
.NET(C#) SDK
Flutter SDK
Go SDK
iOS SDK
Java SDK
JavaScript SDK
Node.js SDK
PHP SDK
Python SDK
React Native SDK
小程序 SDK
错误码
鸿蒙(Harmony) SDK
终端 SDK 质量优化
安全与合规
数据容灾
数据安全
访问管理
常见问题
热门问题
一般性问题
计费计量问题
域名合规问题
存储桶配置问题
域名和 CDN 问题
文件操作问题
日志监控问题
权限管理问题
数据处理问题
数据安全问题
预签名 URL 问题
SDK 类问题
工具类问题
API 类问题
服务协议
Service Level Agreement
隐私政策
数据处理和安全协议
联系我们
词汇表

HDFS TO COS 工具

PDF
聚焦模式
字号
最后更新时间: 2024-01-06 10:43:44

功能说明

HDFS TO COS 工具用于将 HDFS 上的数据拷贝到腾讯云对象存储(Cloud Object Storage,COS)上。

使用环境

系统环境

Linux 或 Windows 系统。

软件依赖

JDK 1.7或1.8。

安装与配置

具体环境安装与配置请参见 Java 安装与配置

配置方法

1. 安装 Hadoop-2.7.2 及以上版本,具体安装步骤请参见 Hadoop 安装与测试
2. GitHub 下载 HDFS TO COS 工具并解压缩。
3. 将要同步的 HDFS 集群的 core-site.xml 拷贝到 conf 文件夹中,其中 core-site.xml 中包含 NameNode 的配置信息。
4. 编辑配置文件 cos_info.conf , 存储桶(Bucket)、地域(Region)以及 API 密钥信息,其中存储桶名称,由用户自定义字符串和系统生成 APPID 数字串以及中划线连接而成,例如 examplebucket-1250000000。
5. 在命令行参数中指定配置文件位置, 默认位置 conf/cos_info.conf。
注意
当命令行参数中的参数与配置文件重合时,以命令行为准。

使用方法

说明
下面以 Linux 为例介绍如何使用。

查看帮助

./hdfs_to_cos_cmd -h

文件拷贝

从 HDFS 拷贝到 COS,若 COS 上已存在同名文件,则会覆盖原文件。
./hdfs_to_cos_cmd --hdfs_path=/tmp/hive --cos_path=/hdfs/20170224/
从 HDFS 拷贝到 COS,若 COS 上已存在同名且长度一致的文件时,则忽略上传(适用于拷贝一次后,重新拷贝)。
./hdfs_to_cos_cmd --hdfs_path=/tmp/hive --cos_path=/hdfs/20170224/ -skip_if_len_match
这里只对长度进行判断,因为如果将 Hadoop 上的文件摘要进行计算,开销较大。
从 HDFS 拷贝到 COS,若 HDFS 中存在 Har 目录(Hadoop Archive 归档文件),通过指定 --decompress_har 参数可以自动解压 har 文件:
./hdfs_to_cos_cmd --decompress_har --hdfs_path=/tmp/hive --cos_path=/hdfs/20170224/
若未指定 --decompress_har 参数,默认按照普通的 HDFS 目录进行拷贝,即 .har 目录下的 index 和 masterindex 等文件原样拷贝。

目录信息

conf : 配置文件, 用于存放 core-site.xml 和 cos_info.conf
log : 日志目录
src : Java 源程序
dep : 编译生成的可运行的 JAR 包

问题与帮助

关于配置信息

请确保填写的配置信息正确,包括存储桶(Bucket)、地域(Region)以及 API 密钥信息,其中,存储桶的名字,由用户自定义字符串和系统生成 APPID 数字串由中划线连接而成,例如 examplebucket-1250000000。并保证机器的时间和本地时间一致(相差1分钟左右是正常的),如果相差较大,请重新设置机器时间。

关于 DataNode

请保证对于 DataNode,拷贝程序所在的机器也可以连接。NameNode 有外网 IP 可以连接,但获取的 block 所在的 DateNode 机器是内网 IP,是无法直接连接上的。因此建议同步程序放在 Hadoop 的某个节点上执行,保证对 NameNode 和 DataNode 皆可访问。

关于权限

请使用 Hadoop 命令下载文件,检查是否正常,再使用同步工具同步 Hadoop 上的数据支持。

关于文件覆盖

对于 COS 上已存在的文件,默认进行重传覆盖。除非用户明确的指定 -skip_if_len_match,当文件长度一致时,则跳过上传。

关于 cos path

cos path 默认为是目录,最终从 HDFS 上拷贝的文件都会存放在该目录下。

关于从腾讯云 EMR HDFS 拷贝数据

从腾讯云 EMR HDFS 拷贝数据到 COS,建议使用高性能 Distcp 工具,请参见 Hadoop 文件系统与 COS 之间的数据迁移

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈