Hadoop NameNode判断 DataNode 节点宕机的时间
、namenode 如何判断datanode节点是否宕机?
先决条件:
datanode每隔一段时间像namenode汇报,汇报的信息有两点
()自身datanode的状态信息;
()自身datanode所持有的所有的数据块的信息。
如果namenode连续十次没有收到datanode的汇报,那么namenode就会认为该datanode存在宕机的可能。
datanode启动以后会专门启动一个进程负责给namenode发送心跳数据包,如果datanode没有问题,仅仅只是发送信息数据包的进程挂了,namenode会发送命令像这个datanode进行确认,
查看这个发送心跳包的进程是否还能正常运行,namenode会向datanode确认两遍,每五分钟确认一次。如果两次都没有返回结果,那么namenode就会认为datanode已经宕机了。
最终namenode判断一个datanode死亡的时间计算公式:
timeout = * 心跳间隔时间 + * 检查一次消耗的时间
心跳间隔时间
配置参数:dfs.heartbeat.interval
默认值:3s,单位s
检查一次消耗的时间
配置参数:dfs.namenode.heartbeat.recheck-interval
默认值: ,单位ms 、数据块读写操作的一些配置项
()配置参数:dfs.blocksize
参数说明:客户端数据分块的大小
默认值:(128M);单位:字节
()dfs.client-write-packet-size
参数说明:客户端写入数据时packet数据包的大小
默认值:(64K),单位字节
()dfs.bytes-per-checksum
参数说明:chunk(写入数据时最小的一个单位),数据校验的粒度
默认值:512字节
注:事实上一个chunk还包含4B的校验值,因而chunk写入packet时是516B;数据与检验值的比值为128:,所以对于一个128M的block会有一个1M的校验文件与之对应; 、集群数据损坏以后,自动删除时长
配置项:dfs.blockreport.intervalMsec
默认值:(36分钟),单位:ms 、元数据checkPount
在分布式或者伪分布集群中,每隔一段时间,会由 secondary namenode 将 namenode 上积累的所有 edits 和一个最新的 fsimage 下载到本地,并加载到内存进行 merge(这个过程称为 checkpoint)
dfs.namenode.checkpoint.check.period= ##检查触发条件是否满足的频率, 秒
dfs.namenode.checkpoint.dir=file://${hadoop.tmp.dir}/dfs/namesecondary
##以上两个参数做 checkpoint 操作时,secondary namenode 的本地工作目录
dfs.namenode.checkpoint.edits.dir=${dfs.namenode.checkpoint.dir}
dfs.namenode.checkpoint.max-retries= ##最大重试次数
dfs.namenode.checkpoint.period= ##两次 checkpoint 之间的时间间隔 秒
dfs.namenode.checkpoint.txns= ##两次 checkpoint 之间最大的操作记录 、jvm重用
配置参数:mapred.job.reuse.jvm.num.tasks
参数解释:一个jvm内部跑多少个task,默认是1,可以设置为多个。这个参数在2..2版本中未找到。
Hadoop NameNode判断 DataNode 节点宕机的时间的更多相关文章
- redis集群节点宕机
redis集群是有很多个redis一起工作,那么就需要这个集群不是那么容易挂掉,所以呢,理论上就应该给集群中的每个节点至少一个备用的redis服务.这个备用的redis称为从节点(slave). 1. ...
- clickhouse高可用-节点宕机数据一致性方案-热扩容
1. 集群节点及服务分配 说明: 1.1. 在每个节点上启动两个clickhouse服务(后面会详细介绍如何操作这一步),一个数据分片,一个数据备份,为了确保宕机数据一致性,数据分片和数据备份不能同一 ...
- Redis生产环境节点宕机问题报错及恢复排错
Redis故障发现 主观下线 当cluster-node-timeout时间内某节点无法与另一个节点顺利完成ping消息通信时,则将该节点标记为主观下线状态. 客观下线 当某个节点判断另一个节点主观下 ...
- Vertica集群单节点宕机恢复方法
Vertica集群单节点宕机恢复方法 第一种方法: 直接通过admintools -> 5 Restart Vertica on Host 第二种方法: 若第一种方法无法恢复,则清空宕机节点的c ...
- Vertica节点宕机处理一例
Vertica节点宕机处理一例: 查询数据库版本和各节点状态 常规方式启动宕机节点失败 进一步查看宕机节点的详细日志 定位问题并解决 1. 查询数据库版本和各节点状态 dbadmin=> sel ...
- elasticsearch介绍集群,模拟横向扩展节点、节点宕机、改变分片
出处:[http://www.cnblogs.com/dennisit/p/4133131.html] ,防楼主删博,故保留一份! elasticsearch用于构建高可用和可扩展的系统.扩展 ...
- openstack高可用集群20-openstack计算节点宕机迁移方案
openstack计算节点宕机迁移方案 情景一:/var/lib/nova/instances/ 目录不共享的处理方法(类似手动迁移云主机到其他节点)
- 『叶问』#41,三节点的MGR集群,有两个节点宕机后还能正常工作吗
『叶问』#41,三节点的MGR集群,有两个节点宕机后还能正常工作吗 每周学点MGR知识. 1. 三节点的MGR集群,有两个节点宕机后还能正常工作吗 要看具体是哪种情况. 如果两个节点是正常关闭的话,则 ...
- mongodb副本集中其中一个节点宕机无法重启的问题
2-8日我还在家中的时候,被告知mongodb副本集中其中一个从节点因未知原因宕机,然后暂时负责代管的同事无论如何就是启动不起来. 当时mongodb的日志信息是这样的: 实际上这里这么长一串最重要的 ...
随机推荐
- rabbitMq 学习笔记(二) 备份交换器,过期时间,死信队列,死信队列
备份交换器 备份交换器,英文名称为 Altemate Exchange,简称庙,或者更直白地称之为"备胎交换器". 生产者在发送消息的时候如果不设置 mandatory 参数, 那 ...
- python3基础之“小练习(2)”
(十三)创建一个你最喜欢歌手的列表. # singer=list() # singer=['a','b','c'] # print(singer) (十四)创建一个由元组构成的列表,每个元组包含居住过 ...
- Node笔记(新手入门必看)
. 初识Node.js 1.1 Node.js是什么 Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. ...
- vue2.0项目在360兼容模式下打开空白
安装两个依赖环境 yarn add babel-polyfill -D yarn add babel-preset-es2015 babel-cli -D 在main.js中引入babel-polyf ...
- Awesome Mac OS Command Line 中文翻译
awesome-macos-command-line 收集了很多有趣的 Mac 终端命令. 看了一遍后,发现帮助很大. 见识许多没有使用过的命令,加深了对 Mac 的认识. 所以翻译成了中文,共享给其 ...
- day30-python之socket
1.iter补充 # l=['a','b','c','d'] # # def test(): # return l.pop() # # x=iter(test,'b') # print(x.__nex ...
- DBUtils模块
Python 中的数据库连接池 DBUtils是Python的一个用于实现数据库连接池的模块. 有两种模式 模式一:为每个线程创建一个连接,线程即使调用了close方法,也不会关闭,只是把连接重新放到 ...
- 华为云和开源Istio运维管理对比样例应用部署
前言 在公有云方面,华为云已经率先将 Istio 作为产品投入到公有云中进行商业应用中,保持和开源istio高度兼容,做了商业化的运维管理界面,同时进行了性能优化.这里我们做一次验证测试. Booki ...
- 【转】Guava cache使用总结
缓存分为本地缓存和远端缓存.常见的远端缓存有Redis,MongoDB:本地缓存一般使用map的方式保存在本地内存中.一般我们在业务中操作缓存,都会操作缓存和数据源两部分.如:put数据时,先插入DB ...
- APS实现的要点与难点
在前一篇关于文章中讨论了不同层级.粒度的生产计划,在各行业中受重视程度的差异问题. 承蒙大家热烈讨论.本文则在收集各方高见的基础上,对于供应链上各个环节的运营.生产计划再作稍微深入一点的探讨.本文将列 ...