HDFS参数调优总结
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.DataNode参数调优
1>.dfs.blockreport.incremental.intervalMsec
如上图所示,官方的默认值是0,意思是当datanode新写一个块时,会立即汇报给namenode。
博主推荐设置为500毫秒,就是当datanode新写一个块,不是立即汇报给namenode,而是要等待500毫秒,在此时间段内新写的块一次性汇报给namenode。该值不宜过大,如果你晚上报数据库,NameNode以为你是没有数据块的,在这个期间NameNode可能会让别的节点创建一个你现在已经有的数据块哟。
2>.dfs.datanode.data.dir
如上图所示,如果没有配置数据节点的目录,则数据节点的默认存储位置在本地的"file://{hadoop.tmp.dir}/dfs/data"路径。
生产环境中建议大家配置数据多目录,多个目录挂载到不同的磁盘上,以增加DataNode并发读写能力。比如生产环境中我们会将每块10T数据盘单独作成Raid 0,然后将多个不同磁盘挂载带不同的目录中。
3>.dfs.datanode.balance.bandwidthPerSec
如上图所示,官方默认值是10M,根据每秒字节数指定每个数据节点可用于平衡目的的最大带宽量。
博主推荐设置为100M,如果是都是交换机也是万兆接口的话可以适当调大该值,只要它的带宽不影响到咱们运行任务即可。
4>.
5>.
二.NameNode的参数调优
1>.
2>.
3>.