Hadoop生产调优
一、NameNode内存生产配置
1.NameNode内存计算
每个文件块大概占用150byte,一台服务器128G内存为例,能存储多少文件块呢?
128 * 1024 * 1024 * 1024 / 150Byte ≈ 9.1亿
G MB KB Byte
2.Hadoop2.x系列,配置NameNode内存
NameNode内存默认2000m,如果服务器内存4G,NameNode内存可以配置3g。在hadoop-env.sh文件中配置如下:HADOOP_NAMENODE_OPTS=-Xmx3072m
3.Hadoop3.x系列,配置NameNode内存
二、NameNode心跳并发配置
对于大集群或者有大量客户端的集群来说,通常需要增大该参数。默认值是10
企业经验:dfs.namenode.handler.count,比如集群规模(DataNode台数)为3台时,此参数设置为21。使用python计算:print int(20*math.log(3))
三、开启回收站配置
开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用
四、NameNode多目录配置
NameNode的本地目录可以配置成多个,且每个目录存放内容相同,增加了可靠性
五、DataNode多目录配置
DataNode可以配置成多个目录,每个目录存储的数据不一样(数据不是副本)
六、集群数据均衡之磁盘间数据均衡
生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性)
七、服务器间数据均衡
根据实际情况进行调整。调整差不多可停止调整