产品动态
distributedLoad [-A] [--replication <num>] [--active-jobs <num>] [--expire-time] <path>-A 是否启用原子性的distributed load 能力--active-jobs <active job count> 可以同时启用的数据加载任务数量,默认上限值为3000,如果超过该数值,新增任务需要等候当前任务完成后再执行。--expire-time <arg> 设置清除用于数据加载的临时目录的过期时间,默认为24小时(单位默认ms,支持s,min,hour,如100s)--replication <replicas> 每个加载任务加载的Block数据副本数,默认为1。
goosefs.user.block.worker.client.pool.max: 建立读写流的时候,会从 client pool 中去获取,过小会阻塞获取 clientgoosefs.job.worker.max.active.task.num : 同时允许执行的 task 数目goosefs.job.worker.threadpool.size: 处理 task 的线程数目goosefs.user.block.worker.client.pool.max:设置 jobworker worker client 数量,过小会阻塞获取 client
goosefs.worker.network.reader.buffer.size:会影响 worker 的内存占用goosefs.worker.network.block.reader.threads.max:决定了 worker 用于 read 的最大线程数目
fs.cosn.block.size:load 上来的 block 的大小fs.cosn.upload_thread_pool: read thread 的大小,每个 worker 会共用一个fs.cosn.read.ahead.block.size:cosn 会按照这个粒度去请求 cosfs.cosn.read.ahead.queue.size:cosn 是有预读功能的,主要针对大文件顺序读场景,而 load 刚好是顺序读,但是不一定是大文件。
fs.cosn.block.size:推荐设置为128MB。fs.cosn.upload_thread_pool:推荐设置为 CPU 数目的2 - 3倍,也需要根据 CPU 的使用率适当增加或降低线程池数量。fs.cosn.read.ahead.block.size:需要根据 block 大小来调整:fs.cosn.read.ahead.queue.size:推荐设置为8 - 32,需要根据内存容量数值来设置。一般情况下,一个文件输入流(inputstream)的内存占用等于 block.size*queue.size。由于 block 大小等于fs.cosn.block.size/fs.cosn.read.ahead.block.size,以推荐设置为例,该数值等于32,所以设置值不需要大于32,如果设置超过32反而会浪费资源。goosefs.worker.network.reader.buffer.size,这个值也需要根据内存评估,读操作总共占用的内存大小等于 worker read 并发数量 x(buffer.size + 一个inputstream的内存占用 + 单次readRequest的长度(默认是1MB))。goosefs.job.worker.max.active.task.num:这一数值可以略大于fs.cosn.upload_thread_pool的数值,从而充分利用 cosn 的能力。goosefs.user.block.worker.client.pool.max:默认是1024,原则上要保证这个配置值需要等于goosefs.job.worker.max.active.task.num的2倍。goosefs.job.worker.threadpool.size:默认是10,这一数值的最大值需要小于等于goosefs.job.worker.max.active.task.num。goosefs.job.worker.max.active.task.num 的值调整客户端的活跃任务数量,原则上需要保证 active-jobs 的值大于 goosefs.job.worker.max.active.task.num 的值。文档反馈