美文网首页
NameNode瞬时高并发导致短暂不可用,Hadoop2.7二次

NameNode瞬时高并发导致短暂不可用,Hadoop2.7二次

作者: 邵红晓 | 来源:发表于2021-09-02 10:08 被阅读0次

版本hadoop 2.7

分段锁优化

Namenode的FSNamesystem类中主要有三块。
1、INodeMap中存着目录树的映射关系:Id -> INode
2、BlocksMap中存着块和块位置信息的映射信息。Block -> BlockInfo
采用全局读写锁
// lock to protect the directory and BlockMap
private final ReentrantReadWriteLock dirLock;
3、DataNode Manager : 用于对DataNode进行管理。
hadoop3.0 实现锁优化,采用分段锁,首先,锁的范围减小了,避免了全局锁限制。其次,每个锁之间的操作都是独立的,各个锁区间的操作,可以并行进行。
RangeMap: keyRange -> GSet
RangeSet: key -> INode

EditDoubleBuffer瞬时高并发导致短暂不可用,优化

背景

巡查nn日志发现大量的waite操作,追溯源码发现了EditDoubleBuffer的内存交换机制

EditDoubleBuffer
1、思路就是扩大默认的size,带来的问题就是断电导致数据丢失,也是一种的权衡
EditLogBackupOutputStream.java
static final int DEFAULT_BUFFER_SIZE = 256
QuorumOutputStream.java
private int outputBufferCapacity = 512 * 1024;
2、添加自定义key
DFSConfigKeys.java //hdfs-site.xml读取,配置指定值
public static final String DFS_NAMENODE_BUFFER_KEY = "dfs.namenode.quorum.buffer.value";
public static final int DFS_NAMENODE_QUROUM_BUFFER_VALUE_DEFALUT = 512 * 1024;
public static final String DFS_NAMENODE_BUFFER_KEY = "dfs.namenode.local.buffer.value";
public static final int DFS_NAMENODE_LOCAL_BUFFER_VALUE_DEFALUT = 256;
3、直接进行.class替换
hadoop-hdfs-2.7.3.2.6.5.0-292.jar

相关文章

  • NameNode瞬时高并发导致短暂不可用,Hadoop2.7二次

    版本hadoop 2.7 分段锁优化 Namenode的FSNamesystem类中主要有三块。1、INodeMa...

  • 深度剖析 - 大规模集群下 Hadoop NameNode 如何

    如果大量客户端对 NameNode 发起高并发(比如每秒上千次)访问来修改元数据,此时 NameNode 该如何抗...

  • 双十一某电商缓存雪崩

    概述 由于缓存不可用,导致大量请求访问后端服务,可能 mysql 扛不住高并发而打死, 像滚雪球一样,影响越来越大...

  • 大规模集群下Hadoop NameNode如何承载每秒上千次的高

    本文我们来看看,如果大量客户端对NameNode发起高并发(比如每秒上千次)访问来修改元数据,此时NameNode...

  • 大规模集群下的Hadoop NameNode

    本文我们来看看,如果大量客户端对NameNode发起高并发(比如每秒上千次)访问来修改元数据,此时NameNode...

  • hadoop(5)--NameNode元数据管理(2)

    上次分享了写数据的过程,那么有个问题:NameNode是怎么处理高并发的客户端的请求的,NameNode响应为什么...

  • 使用AOP和自定义注解实现限流策略

    1 背景 业务背景 在大数据量高并发访问时,经常会出现服务或接口面对暴涨的请求而不可用的情况,甚至引发连锁反映导致...

  • java 限流策略

    概要 在大数据量高并发访问时,经常会出现服务或接口面对暴涨的请求而不可用的情况,甚至引发连锁反映导致整个系统崩溃。...

  • 服务安全策略

    ●服务限流:在大数据量高并发访问时,经常会出现服务或接口面对暴涨的请求而不可用的情况,甚至引发连锁反映导致整个系统...

  • 限流

    在大数据量高并发访问时,经常会出现服务或接口面对暴涨的请求而不可用的情况,甚至引发连锁反映导致整个系统崩溃。此时你...

网友评论

      本文标题:NameNode瞬时高并发导致短暂不可用,Hadoop2.7二次

      本文链接:https://www.haomeiwen.com/subject/sjyqwltx.html