参数名 | 参数值 | 说明 |
---|---|---|
fs.tos.http.maxConnections | 1024 | TOS Client 连接池的最大连接数,默认1024 |
fs.tos.http.idleConnectionTimeMills | 60000 | TOS Client 连接池中空闲 HTTP 最长连接时间,默认60000 (单位:毫秒) |
fs.tos.http.connectTimeoutMills | 10000 | TOS Client 建立连接超时时间,默认10000(单位:毫秒) |
fs.tos.http.readTimeoutMills | 30000 | TOS Client 读超时时间,默认30000(单位:毫秒) |
fs.tos.http.writeTimeoutMills | 30000 | TOS Client 写超时时间,默认30000(单位:毫秒) |
fs.tos.http.enableVerifySSL | true | TOS Client 是否开启 SSL 证书检验,默认为 true |
fs.tos.http.dnsCacheTimeMinutes | 0 | TOS Client DNS 缓存有效期,小于等于 0 表示关闭 DNS 缓存,默认为0 |
fs.tos.request.max.retry.times | 20 | 访问出错重试次数,包括限流,默认值20,如果数据量大,且带宽较小,请保持一个较大的参数值 |
fs.tos.client.disable.cache | false | 是否禁用 tos client cache,默认为 false,如果需要确保每一次发起 tos 的访问,都使用完全全新的 client,可配置成 true,禁用 cache |
fs.tos.multipart.size | 5242880 | MPU 分片大小,默认 5242880 (单位:字节),即5MB |
fs.tos.multipart.threshold | 10485760 | 文件上传时,当文件大小大于该阈值时,才会走 MPU,否则走 PUT,默认10485760 (单位:字节),即 10MB |
fs.tos.multipart.copy-threshold | 5242880 | 文件重命名时,当文件大小大于该阈值时,才会走 UploadPartCopy 接口,否则就走 CopyObject 接口。默认 5242880 (单位:字节),即5MB |
fs.tos.multipart.staging-dir | ${java.io.tmpdir}/multipart-staging-dir | 写大文件时,使用本地磁盘存储写入的staging数据,便于并行化上传数据,可以配置多个目录充分使用多块数据盘的写入能力,比如/data01/data,/data02/data |
fs.tos.multipart.staging-buffer-size | 4096 | 写文件时,在内存中暂存的staging数据大小,大于该值时,会写入到本次磁盘。调大改值时,需注意调整整个JVM的内存大小,否则可能会导致OOM问题 |
fs.tos.task.thread-pool-size | 当前机器 CPU 数量 | 要求正整数,表示用于执行 task(如并发 copy 文件)的线程池线程数量 |
fs.tos.multipart.thread-pool-size | 当前机器 CPU 数量 | 要求正整数,表示用于异步上传 TOS 数据分片的线程池线程数量 |
fs.tos.list.batch-size | 1000 | 要求正整数,表示每次调用 TOS Client list object 的最大个数,默认1000 |
fs.job.committer.summary.report.directory | 无 | 当设置有值时,会将 Job Committer commit job 时每个环节的日志写到指定的目录下,用于分析定位问题。样例:tos://test-bucket/report-dir |
fs.job.committer.threads | 当前机器 CPU 数量 | 要求正整数,表示用于指定 commit 任务的线程池大小 |
fs.tos.access-key-id | 无 | 访问TOS时使用的IAM用户或者角色的Access Key |
fs.tos.secret-access-key | 无 | 访问TOS时使用的IAM用户或者角色的Secret Key |
fs.tos.session-token | 无 | 访问TOS时使用的临时IAM角色的Security Session Token |
fs.tos.bucket.%s.access-key-id | 无 | 可对某一个Bucket设置特定访问该Bucket时使用的Access Key,没有设置时,会使用默认全局的配置fs.tos.access-key-id |
fs.tos.bucket.%s.secret-access-key | 无 | 可对某一个Bucket设置具体访问该Bucket时使用的Secret Key,没有设置时,会使用默认全局的配置fs.tos.secret-access-key |
fs.tos.bucket.%s.session-token | 无 | 可对某一个Bucket设置具体访问该Bucket时使用的Secret Key,没有设置时,会使用默认全局的配置fs.tos.session-token |
fs.tos.endpoint | 无 | 待访问的Bucket所在的Endpoint,可参考 TOS Endpoint列表。火山引擎EMR环境里面已经根据EMR集群所在的Region设置了默认值,比如tos-cn-beijing.ivolces.com |
fs.tos.region | 无 | 待访问的Bucket所在的Region,没设置时,会从配置的fs.tos.endpoint中获取region信息,比如cn-beijing |
fs.tos.bucket.%s.endpoint | 无 | 设置特定Bucket的Endpoint,没有设置时会使用fs.tos.endpoint的值,该值主要适用于跨Region访问的场景,比如将Region A的某个对象的数据拷贝到Region B的某个对象,可以分别针对不同的Bucket设置不同的Endpoint |
fs.tos.bucket.%s.region | 无 | 设置特定Bucket的Region,没有设置时,会使用fs.tos.bucket.%s.endpoint的值 |
fs.tos.rename.enabled | false | 是否启用TOS扁平桶单个对象的原子rename能力,启用前需开启对应扁平桶的RenameObject能力。TOS分层桶场景下,默认支持文件以及目录的原子rename能力,不受此参数的影响 |
fs.tos.read-ahead.buffer-size | 0 | 读取数据时的预读大小;参数值小于等于0时,表示不启用预读。需根据业务情况调整大小,建议值64k,设置过大容易导致较高的读放大 |
fs.tos.user.agent.prefix | EMR | 自定义User Agent前缀,最终会在访问TOS的access log上体现,主要用于分析请求来源,便于问题定位分析,画像分析等。可以根据实际业务情况进行设置,比如Servless Spark |
参数名 | 参数值 | 说明 |
---|---|---|
proton.metaserver.addresses | _ | MetaServer rpc地址列表,多个MetaServer地址以逗号分隔,举例:ip1:port1,ip2:port2 |
proton.client.data.read-timeout-ms | 60000(单位毫秒) | 读数据超时 |
proton.client.data.conn-pool-size | 256 | 连接DataServer的TCP连接池大小 |
proton.client.data.conn-pool-ttl | 10000(单位毫秒) | 连接池中连接过期时间 |
proton.client.fallback.enabled | true | 允许在读失败时fallback到其他DataServer或底层存储系统 |
proton.rpc.client.timeout-ms | 2147483647(单位毫秒) | RPC超时时间 |
proton.rpc.client.debug.enabled | false | 将MetaServer详细的error信息返回给client,适用于开发者和资深用户 |
proton.rpc.client.pool.max-connections | 128 | Client最大rpc连接数 |
proton.rpc.client.netty.eventloop-num | 4 | Client rpc netty线程数 |
参数名 | 参数值 | 说明 |
---|---|---|
proton.rpc.server.call-queues.num | 100 | Rpc调用队列数 |
proton.rpc.server.call-queue.length | 1024 | Rpc调用队列长度 |
proton.rpc.server.runner.threads | 24 | Rpc调用处理线程数 |
proton.metaserver.metastore.kvstore.rocksdb.data-dir | _ | MetaServer rocksdb存储路径 |
proton.metaserver.bind-address | 0.0.0.0 | MetaServer bind地址 |
proton.metaserver.port | 10100 | MetaServer rpc端口 |
proton.metaserver.http.port | 10110 | MetaServer http端口 |
proton.metaserver.tos.{桶名称}.data-cache.allowlist | _ | 允许缓存数据到集群内的目录,存在此目录中的数据,将会在集群内进行缓存,默认所有文件都会被缓存 |
proton.metaserver.tos..{桶名称}.data-cache.blacklist | 空 | 不允许缓存数据到集群内的目录,存在此目录中的数据,将不会在集群内进行缓存 |
参数名 | 参数值 | 说明 |
---|---|---|
proton.dataserver.bind-address | 0.0.0.0 | DataServer绑定地址 |
proton.dataserver.port | 10200 | DataServer数据传输端口 |
proton.dataserver.http.port | 10210 | DataServer http端口 |
proton.dataserver.ipc.port | 10220 | DataServer rpc端口 |
proton.dataserver.max-session-timeout | 30000(单位毫秒) | DataServer心跳超时时间 |
proton.dataserver.check-expire-interval | 10000(单位毫秒) | DataServer心跳超时检查周期 |
proton.dataserver.tick-time | 3000(单位毫秒) | DataServer心跳周期 |
proton.dataserver.transfer-io.enabled | true | 使用Java NIO做缓存数据传输,默认开启,传输效率更高 |
proton.dataserver.blockio.impl | io.proton.core.data.io.CacheBlockIO | blockio实现类,默认会启用本地缓存 |
proton.dataserver.blockio.async-cache | true | 异步缓存block数据到本地盘 |
proton.dataserver.io.socket.read-timeout-ms | 60000(单位毫秒) | DataServer数据传输线程从client读request的超时 |
proton.dataserver.io.socket.write-timeout-ms | 240000(单位毫秒) | DataServer数据传输线程写数据给client的超时 |
proton.dataserver.io.max-transfer-threads | 4096 | DataServer数据传输线程数上限 |
proton.dataserver.blockcache.impl | io.proton.core.data.cache.disk.MultiDiskBlockCache | 缓存类型,默认使用本地磁盘做缓存 |
proton.dataserver.blockcache.max-cache-size | 268435456 | 本地磁盘缓存总大小,默认256MB。缓存空间会按比例分配给每一块本地盘 |
proton.dataserver.blockcache.disk.data-dirs | _ | 缓存磁盘的路径,每个路径对应一块盘,多个路径以逗号分隔。例如:/data01/block,/data02/block |
proton.dataserver.blockcache.data-dirs-ratio | _ | 配置每块磁盘缓存空间占总缓存空间的比例,加和要等于1,默认是每块盘平均分。举例:0.5,0.5 或 0.2,0.2,0.6 |
proton.dataserver.blockcache.max-used-ratio | 0.9 | 缓存最大使用率,超过该值会触发缓存淘汰 |
proton.dataserver.blockcache.min-used-ratio | 0.85 | 缓存最低使用率,低于该值会停止缓存淘汰 |
proton.dataserver.blockcache.reserved-ratio | 0.05 | 缓存保留比例,剩余空间不足此比率时会停止缓存新数据 |
proton.dataserver.blockcache.async-eviction | true | 启动异步驱逐 |
proton.dataserver.blockcache.flush-threads | 2 | 缓存flush线程数,用于异步缓存数据 |
proton.dataserver.blockcache.max-retry-times | 5 | 异步缓存最大重试次数 |