002-hadoop--hdfs常见参数配置原理

1、 GC调整

默认自动分配GC、
手动修改的话
hadoop-env.sh
export HDFS_NAMENODE_OPTS="-Dhadoop.security.logger=INFO,RFAS -Xmx1024m"
export HDFS_DATANODE_OPTS="-Dhadoop.security.logger=ERROR,RFAS-Xmx1024m"

关于GC的修改参考

NamenodeGC配置参考
文件对象数量	参考值
10,000,000	“-Xms6G -Xmx6G -XX:NewSize=512M -XX:MaxNewSize=512M”
20,000,000	“-Xms12G -Xmx12G -XX:NewSize=1G -XX:MaxNewSize=1G”
50,000,000	“-Xms32G -Xmx32G -XX:NewSize=3G -XX:MaxNewSize=3G”
100,000,000	“-Xms64G -Xmx64G -XX:NewSize=6G -XX:MaxNewSize=6G”
200,000,000	“-Xms96G -Xmx96G -XX:NewSize=9G -XX:MaxNewSize=9G”
300,000,000	“-Xms164G -Xmx164G -XX:NewSize=12G -XX:MaxNewSize=12G”

2、NN心跳并发数(集群数量大或者client多,需要调整)

hdfs-site.xml
dfs.namenode.handler.count		##默认是10

2-1、DN最大连接数

dfs.datanode.max.xcievers  ##类似于Linux句柄数一般配置65535

3、回收站配置

1) fs.trash.interva	0表示禁用回收站,其他数值表示文件留存时间
2) fs.trash.checkpoint.interval   0则值等于文件留存时间,其他值表示回收站检查间隔时间
3) 要求fs.trash.checkpoint.interval <= fs.trash.interval

4、hdfs多目录

1)NAMEnode
dfs.namenode.name.dir--------hdfs-site.xml
NN本地文件系统存放FSImage的目录,如果逗号多个目录隔开,则会在多个目录中存放同样的数据
2)DATAnode
dfs.datanode.data.dir--------hdfs-site.xml
数据在DN上的存储目录

5、节点内磁盘间数据均衡–3.x特性

1)生成均衡计划
hdfs diskbalancer -plan node1
2)执行计划
hdfs diskbalancer -execute node1.plan.json
3)查看当前均衡任务的执行情况
hdfs diskbalancer -query node1
4)取消均衡任务
hdfs diskbalancer -cancel node1.plan.json
5)参数
dfs.disk.balancer.block.tolerance.percent---磁盘之间均衡阈值,默认10%
dfs.disk.balancer.enable --开启磁盘均衡功能

6、集群节点黑白名单

dfs.hosts.exclude 配置集群黑名单文件,文件中配置主机名,对应主机即不用于集群(隔离),
hdfs dfsadmin -refreshNodes 命令用来刷新NN	

7、冷热数据分离,异构存储

dfs.storage.policy.enabled  ##是否开启异构存储	
异构就是对不同的存储介质配置到不同的数据目录,再对不同的数据进行指定目录存储
dfs.datanode.data.dir  ##配置不同介质对应目录
存储类型分为4种
1)RAM_DISK--内存镜像文件系统
2)SSD--SSD硬盘
3)DISK--普通磁盘
4)ARCHIVE--未指定存储介质,一般是用来解决数据存储扩增等
查看所有存储策略
hdfs storagepolicies -listPolicies
指定目录设定存储策略
hdfs storagepolicies -setStoragePolicy -path xxx -policy xxx
查看指定路径的存储策略
hdfs storagepolicies -getStoragePolicy -path /
取消存储策略(ps:取消后存储策略就根据上级目录,如果是根目录,那就是hot)
hdfs storagepolicies -unsetStoragePolicy -path /user
查看文件块分布
hdfs fsck /ztfx -files -blocks -locations

8、安全模式

dfs.namenode.safemode.min.datanodes:最小可用 datanode 数量,默认 0
dfs.namenode.safemode.threshold-pct:副本数达到最小要求的 block 占系统总 block 数的百分比,默认 0.999999,即只丢一个块
dfs.namenode.safemode.extension:稳定时间,默认值 30000 毫秒,即 30 秒

9、MR任务跑的慢

1)机器性能
CPU、磁盘、网络、内存等
2)I/O操作优化
1>数据倾斜
2>Map运行时间太长,导致Reduce等待过久
3>小文件过多

10、MR数据倾斜

1)数据频率倾斜:某区域数据量远远大于其他区域
2)数据大小倾斜:部分记录的大小远远小于平均值
3)思路
1>检查是否空值过多导致,直接过滤空值或者自定义分区,将空值加随机数打散,最后再进行二次聚合
2>能在map阶段做的尽量map阶段
3>设置多个reduce数
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值