1.io.file.buffer.size 用来设置IO操作的缓存大小,单位为byte,默认为4KB,建议设置成64KB,即65536 2.dfs.balance.bandwithPerSec 集群做balance时dn间的带宽大小,在做balance时可以通过-threshold指定平衡的阀,但是平衡时的带宽是由此参数静态指定的,
1.io.file.buffer.size
用来设置IO操作的缓存大小,单位为byte,默认为4KB,建议设置成64KB,即65536
2.dfs.balance.bandwithPerSec
集群做balance时dn间的带宽大小,在做balance时可以通过-threshold指定平衡的阀值,但是平衡时的带宽是由此参数静态指定的,因此在配置集群时应该综合考虑集群所在网络环境的带宽和繁忙程度,因为一旦设置,需要调整时就要重启集群,而设置的过低将导致平衡耗时较长。
3.dfs.datanode.du.reserved
此参数设置的目的是为了给mapred的local计算预留一些空间,因为当datanode发现所有挂载的磁盘都写满时,将进入只读模式,此时任务将无法运行。建议每个磁盘预留10GB给mapred中间数据,单位为byte,即10737418240
4.dfs.namenode.handler.count
nn处理dn的rpc和守护进程时需要使用工作线程池的大小,过小容易导致dn连接nn超时或者被拒,过大导致rpc延迟增大,数值设置建议lg(N)*20,N为集群规模。
可使用python脚本计算:
import math; print int (math.log(N)*20)
dn上挂载的disk出现故障时,默认整个dn退出服务,此时nn将重分布block,代价过高,建议此值设置为1,即允许最多1个disk发生故障时,dn仍继续服务,此时需要对dn上的日志进行监控,以便尽早发现故障更换磁盘。
6.fs.trash.interval
设置回收站保留时间,列出此参数的目的是为了说明即使在设置了回收站保留时间的情况下,在删除数据时如何跳过回收站直接删除,即类似windows中的shift+delete功能:
hdfs dfs -rm -skipTrash yourfilename