You need to enable JavaScript to run this app.
导航
Proton 参数配置
最近更新时间:2024.12.04 17:46:40首次发布时间:2024.02.04 13:37:55

Proton SDK相关参数

参数名
参数值
说明

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

有缓存参数

Client配置项

参数名

参数值

说明

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线程数

MetaServer配置项

参数名

参数值

说明

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

不允许缓存数据到集群内的目录,存在此目录中的数据,将不会在集群内进行缓存

DataServer配置项

参数名

参数值

说明

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

异步缓存最大重试次数