# HADOOP-COS
## 功能说明
Hadoop-COS实现了以腾讯云 COS 作为底层文件系统运行上层计算任务的功能,支持使用Hadoop、Spark以及Tez等处理存储在腾讯云COS对象存储系统上的数据。
## 使用限制
只适用于 COS V5 版本
## 使用环境
### 系统环境
Linux 或 Windows 系统
### 软件依赖
Hadoop-2.6.0及以上版本
**NOTE**:
1. 目前hadoop-cos已经正式被Apache Hadoop-3.3.0官方集成:[https://hadoop.apache.org/docs/r3.3.0/hadoop-cos/cloud-storage/index.html](https://hadoop.apache.org/docs/r3.3.0/hadoop-cos/cloud-storage/index.html)。
2. 在Apache Hadoop-3.3.0 之前版本或CDH集成Hadoop-cos jar 包后,需要重启NameNode才能加载到jar包。
3. 需要编译具体Hadoop版本的jar包可更改pom文件中hadoop.version进行编译。
## 安装方法
### 获取 hadoop-cos 分发包及其依赖
下载地址:[hadoop-cos release](https://github.com/tencentyun/hadoop-cos/releases)
### 安装hadoop-cos
1. 将hadoop-cos-{hadoop.version}-x.x.x.jar和cos_api-bundle-5.x.x.jar 拷贝到 `$HADOOP_HOME/share/hadoop/tools/lib`下。
NOTE: 根据hadoop的具体版本选择对应的jar包,若release中没有提供匹配版本的jar包,可自行通过修改pom文件中hadoop版本号,重新编译生成。
2. 修改 hadoop_env.sh
在 `$HADOOP_HOME/etc/hadoop`目录下,进入 hadoop_env.sh,增加如下内容,将 cosn 相关 jar 包加入 Hadoop 环境变量:
```shell
for f in $HADOOP_HOME/share/hadoop/tools/lib/*.jar; do
if [ "$HADOOP_CLASSPATH" ]; then
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$f
else
export HADOOP_CLASSPATH=$f
fi
done
```
## 使用方法
### HADOOP配置
修改 $HADOOP_HOME/etc/hadoop/core-site.xml,增加 COS 相关用户和实现类信息,例如:
```xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>cosn://examplebucket-1250000000000</value>
</property>
<property>
<name>fs.cosn.credentials.provider</name>
<value>org.apache.hadoop.fs.auth.SimpleCredentialProvider</value>
<description>
This option allows the user to specify how to get the credentials.
Comma-separated class names of credential provider classes which implement
com.qcloud.cos.auth.COSCredentialsProvider:
1.org.apache.hadoop.fs.auth.SessionCredentialProvider: Obtain the secretId and secretKey from the URI:cosn://secretId:secretKey@example-1250000000000/;
2.org.apache.hadoop.fs.auth.SimpleCredentialProvider: Obtain the secret id and secret key
from fs.cosn.userinfo.secretId and fs.cosn.userinfo.secretKey in core-site.xml;
3.org.apache.hadoop.fs.auth.EnvironmentVariableCredentialProvider: Obtain the secret id and secret key
from system environment variables named COS_SECRET_ID and COS_SECRET_KEY.
If unspecified, the default order of credential providers is:
1. org.apache.hadoop.fs.auth.SessionCredentialProvider
2. org.apache.hadoop.fs.auth.SimpleCredentialProvider
3. org.apache.hadoop.fs.auth.EnvironmentVariableCredentialProvider
4. org.apache.hadoop.fs.auth.SessionTokenCredentialProvider
5. org.apache.hadoop.fs.auth.CVMInstanceCredentialsProvider
6. org.apache.hadoop.fs.auth.CPMInstanceCredentialsProvider
7. org.apache.hadoop.fs.auth.EMRInstanceCredentialsProvider
</description>
</property>
<property>
<name>fs.cosn.userinfo.secretId</name>
<value>xxxxxxxxxxxxxxxxxxxxxxxxx</value>
<description>Tencent Cloud Secret Id</description>
</property>
<property>
<name>fs.cosn.userinfo.secretKey</name>
<value>xxxxxxxxxxxxxxxxxxxxxxxx</value>
<description>Tencent Cloud Secret Key</description>
</property>
<property>
<name>fs.cosn.bucket.region</name>
<value>ap-xxx</value>
<description>The region where the bucket is located</description>
</property>
<property>
<name>fs.cosn.bucket.endpoint_suffix</name>
<value>cos.ap-xxx.myqcloud.com</value>
<description>COS endpoint to connect to.
For public cloud users, it is recommended not to set this option, and only the correct area field is required.</description>
</property>
<property>
<name>fs.cosn.impl</name>
<value>org.apache.hadoop.fs.CosFileSystem</value>
<description>The implementation class of the CosN Filesystem</description>
</property>
<property>
<name>fs.AbstractFileSystem.cosn.impl</name>
<value>org.apache.hadoop.fs.CosN</value>
<description>The implementation class of the CosN AbstractFileSystem.</description>
</property>
<property>
<name>fs.cosn.tmp.dir</name>
<value>/tmp/hadoop_cos</value>
<description>Temporary files will be placed here.</description>
</property>
<property>
<name>fs.cosn.upload.buffer</name>
<value>mapped_disk</value>
<description>The type of upload buffer. Available values: non_direct_memory, direct_memory, mapped_disk</description>
</property>
<property>
<name>fs.cosn.upload.buffer.size</name>
<value>33554432</value>
<description>The total size of the upload buffer pool. -1 means unlimited.</description>
</property>
<property>
<name>fs.cosn.upload.part.size</name>
<value>8388608</value>
<description>The part size for MultipartUpload.
Considering the COS supports up to 10000 blocks, user should estimate the maximum size of a single file.
For example, 8MB part size can allow writing a 78GB single file.</description>
</property>
<property>
<name>fs.cosn.maxRetries</name>
<value>3</value>
<description>The maximum number of retries for reading or writing files to
COS, before we signal failure to the application.</description>
</property>
<property>
<name>fs.cosn.retry.interval.seconds</name>
<value>3</value>
<description>The number of seconds to sleep between each COS retry.</description>
</property>
<property>
<name>fs.cosn.read.ahead.block.size</name>
<value>1048576</value>
<description>
Bytes to read ahead during a seek() before closing and
re-opening the cosn HTTP connection.
</description>
</property>
<property>
<name>fs.cosn.read.ahead.queue.size</name>
<value>8</value>
<description>The length of the pre-read queue.</description>
</property>
<property>
<name>fs.cosn.customer.domain</name>
<value></value>
<description>The customer domain.</description>
</property>
<property>
<name>fs.cosn.server-side-encryption.algorithm</name>
<value></value>
<description>The server side encryption algorithm.</description>
</property>
<property>
<name>fs.cosn.server-side-encryption.key</name>
<value></value>
<description>The SSE-C server side encryption key.</description>
</property>
<property>
<name>fs.cosn.client-side-encryption.enabled</name>
<value></value>
<description>Enable or disable the client encryption function</description>
</property>
<property>
<name>fs.cosn.client-side-encryption.public.key.path</name>
<value>/xxx/xxx.key</value>
<description>The absolute path to the public key</description>
</property>
<property>
<name>fs.cosn.client-side-encryption.private.key.path</name>
<value>/xxx/xxx.key</value>
<description>The absolute path to the private key</description>
</property>
</configuration>
```
**配置项说明**:
| 属性键 | 说明
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
hadoop-cos(CosN文件系统)为Apache Hadoop、Spark以及Tez等大数据计算框架集成提供支持,可以像访问HDFS一样读写存储在腾讯云COS上的数据。同时也支持作为Druid等查询与分析引擎的Deep Storage. 各领域数据集,工具源码,适合毕业设计、课程设计作业,所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答! 软件开发设计:PHP、QT、应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、存储设备、移动设备等 操作系统:LInux、IOS、树莓派、安卓开发、微机操作系统、网络操作系统、分布式操作系统等。此外,还有嵌入式操作系统、智能操作系统等。 云计算与大数据:数据集、包括云计算平台、大数据分析、人工智能、机器学习等,云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备。
资源推荐
资源详情
资源评论
收起资源包目录
hadoop-cos(CosN文件系统)为Apache Hadoop、Spark以及Tez等大数据计算框架集成提供支持,可以像访问HDFS一样读写存储在腾讯云COS上的数据。同时也支持作为Druid等查询与分析引擎的Deep Storage.zip (81个子文件)
cm
compile.sh 751B
pom.xml 9KB
.github
ISSUE_TEMPLATE
feature_request.md 595B
bug_report.md 834B
src
test
resources
log4j.properties 871B
main
java
hadoopCosPluginVersionInfo.properties 33B
org
apache
hadoop
fs
CosNFileSystem.java 63KB
FileMetadata.java 3KB
cosn
ResettableFileInputStream.java 3KB
BufferInputStream.java 2KB
BufferOutputStream.java 2KB
Abortable.java 411B
CrcUtils.java 2KB
CRC64Checksum.java 2KB
Unit.java 312B
MD5Utils.java 1KB
LocalRandomAccessMappedBufferPool.java 6KB
CosNPartListing.java 893B
CustomerDomainEndpointResolver.java 1KB
Constants.java 3KB
TencentCloudL5EndpointResolver.java 306B
ConsistencyChecker.java 9KB
BufferPool.java 11KB
TencentCloudL5EndpointResolverImpl.java 3KB
CRC32CCheckSum.java 2KB
multipart
upload
MultipartManager.java 25KB
UploadPartCopy.java 1KB
UploadPart.java 2KB
buffer
CosNByteBuffer.java 3KB
CosNDirectBufferFactory.java 1KB
CosNRandomAccessMappedBufferFactory.java 4KB
CosNDirectBuffer.java 566B
CosNNonDirectBuffer.java 430B
CosNRandomAccessMappedBuffer.java 4KB
CosNNonDirectBufferFactory.java 891B
CosNMappedBuffer.java 3KB
CosNBufferFactory.java 169B
CosNBufferType.java 830B
CosNMappedBufferFactory.java 4KB
CosNDeleteFileTask.java 1KB
CosNCopyFileTask.java 1KB
CosNXAttr.java 428B
CosNCopyFileContext.java 1KB
CosNConfigKeys.java 12KB
CosNPartialListing.java 1KB
CosFileSystem.java 27KB
CosNativeFileSystemStore.java 93KB
CosNFileStatus.java 2KB
NativeFileSystemStore.java 5KB
CosNEncryptionSecrets.java 6KB
CosNFSDataOutputStream.java 27KB
CosNFileReadTask.java 5KB
CosNUtils.java 14KB
CosNSymlinkMetadata.java 708B
CosNExtendedFSDataOutputStream.java 7KB
CosNDeleteFileContext.java 2KB
CosNEncryptionMethods.java 1KB
CosNSeekableFSDataOutputStream.java 8KB
CosN.java 477B
auth
NoAuthWithCOSException.java 1KB
CVMInstanceCredentialsProvider.java 2KB
COSCredentialProviderList.java 4KB
SimpleCredentialProvider.java 2KB
DLFInstanceCredentialsProvider.java 3KB
SessionTokenCredentialProvider.java 2KB
CPMInstanceCredentialsProvider.java 2KB
SessionCredentialProvider.java 2KB
EMRInstanceCredentialsProvider.java 3KB
RangerCredentialsProvider.java 5KB
EnvironmentVariableCredentialProvider.java 2KB
CustomDefinedCredentialsProvider.java 3KB
package-info.java 35B
AbstractCOSCredentialProvider.java 764B
RangerCredentialsClient.java 9KB
CosNFSInputStream.java 14KB
CosNResultInfo.java 649B
com
qcloud
chdfs
permission
RangerAccessType.java 155B
LICENSE 1KB
deploy.sh 3KB
.gitignore 654B
README.md 52KB
共 81 条
- 1
资源评论
妄北y
- 粉丝: 9638
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- YOLOV4-TINY权重文件
- 以下是一个使用贪心算法解决多机调度问题的基本步骤0.txt
- 基于大数据的房产估价是近年来随着技术的发展而兴起的一种新型估价方法.txt
- 企业供应链管理系统v3.rar
- 富芮坤FR8016HA蓝牙开发板使用手册+硬件PCB图+封装库+DEMO演示软件源代码.zip
- 基于YOLOv7的芯片表面缺陷检测系统
- 京东物流 数字化供应链综合研究报告2018.rar
- 基于YOLOv7的植物虫害识别&防治系统
- 2000.1-2023.8中国经济政策不确定性指数月度数据.xlsx
- Screenshot_2024-04-21-20-42-15-443_com.tencent.mm.jpg
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功