Hadoop 代码中可使用如下参数配置:
属性名 | 默认值 | 说明 |
fs.oss.accessKeyId | 无 | 访问 OSS 所需的 AccessKey ID(可选) |
fs.oss.accessKeySecret | 无 | 访问 OSS 所需的 AccessKey Secret(可选) |
fs.oss.securityToken | 无 | 访问 OSS 所需的 STS token(可选) |
fs.oss.endpoint | 无 | 访问 OSS 的 endpoint(可选) |
fs.oss.multipart.thread.number | 5 | 并发进行 OSS 的 upload part copy 的并发度 |
fs.oss.copy.simple.max.byte | 134217728 | 使用普通接口进行 OSS 内部 copy 的文件大小上限 |
fs.oss.multipart.split.max.byte | 67108864 | 使用普通接口进行 OSS 内部 copy 的文件分片大小上限 |
fs.oss.multipart.split.number | 5 | 使用普通接口进行 OSS 内部 copy 的文件分片数目,默认和拷贝并发数目保持一致 |
fs.oss.impl | com.aliyun.fs.oss.nat.NativeOssFileSystem | OSS 文件系统实现类 |
fs.oss.buffer.dirs | /mnt/disk1,/mnt/disk2,… | OSS 本地临时文件目录,默认使用集群的数据盘 |
fs.oss.buffer.dirs.exists | false | 是否确保 OSS 临时目录已经存在 |
fs.oss.client.connection.timeout | 50000 | OSS Client 端的连接超时时间(单位毫秒) |
fs.oss.client.socket.timeout | 50000 | OSS Client 端的 socket 超时时间(单位毫秒) |
fs.oss.client.connection.ttl | -1 | 连接存活时间 |
fs.oss.connection.max | 1024 | 最大连接数目 |
io.compression.codec.snappy.native | false | 标识 Snappy 文件是否为标准 Snappy 文件,Hadoop 默认识别的是 Hadoop 修改过的 Snappy 格式文件 |
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
您提到的这些配置参数是用于在Hadoop环境中集成阿里云对象存储服务(OSS)时进行细粒度控制的关键设置。下面是对这些参数更详细的解释和建议:
访问凭据:
fs.oss.accessKeyId
: 设置访问OSS所需的AccessKey ID,这是身份验证的一部分。fs.oss.accessKeySecret
: 设置访问OSS所需的AccessKey Secret,与AccessKey ID一起使用以验证请求。fs.oss.securityToken
: 如果使用STS临时凭证访问OSS,需要设置此参数。连接与端点:
fs.oss.endpoint
: 指定OSS服务的访问地址,例如oss-cn-hangzhou.aliyuncs.com
,根据您的OSS实例所在区域选择合适的endpoint。并发与性能优化:
fs.oss.multipart.thread.number
: 控制上传或复制大文件时的并发线程数,提高效率。fs.oss.multipart.split.max.byte
, fs.oss.multipart.split.number
: 这些参数影响大文件分片处理的策略,可以调整以适应不同的网络环境和性能需求。本地缓存与目录:
fs.oss.buffer.dirs
: 指定OSS操作时使用的本地临时文件目录,可以指定多个路径以分散I/O压力。fs.oss.buffer.dirs.exists
: 确保指定的临时目录存在,避免运行时错误。超时与连接管理:
fs.oss.client.connection.timeout
, fs.oss.client.socket.timeout
: 调整客户端连接和socket超时时间,有助于应对网络不稳定情况。fs.oss.client.connection.ttl
: 控制连接存活时间,-1表示使用默认值。fs.oss.connection.max
: 限制最大连接数,防止过多连接导致资源耗尽。压缩与兼容性:
io.compression.codec.snappy.native
: 配置是否使用原生Snappy压缩库,这取决于您的Hadoop环境和压缩需求。在实际应用中,根据您的具体需求和环境条件,合理调整这些参数可以显著提升基于Hadoop与阿里云OSS集成的性能和稳定性。记得在修改配置后测试以确保所有设置都符合预期,并且不会引入新的问题。