0910 hadoop完全分布式 HA 搭建 hdfs工作原理(读写模式)

1 完全分布式搭建 hdfs-site.xml中指定SNN的位置 在slaves文件中配置DN的位置 即可 4台机器配置文件一致 通过配置文件上的指定来启动不同的jps 

2 HA的搭建 基于zk的zkfc的检测机制 同时也是一种选举机制, 主备间通过对journalnode的主->写 备->读的模式保持主备一致性 

  zk对zkfc进行了心跳的检测 在zk上有生成一个临时的主NN的文件,当主NN or 主zkfc挂掉 临时文件删掉 切换成备用的NN 备用NN   在zk上生成临时文件 变成主机

  HA的环境搭建需要在zk的基础上 更改hadoop的配置文件即可 具体见文档 

  hadoop-daemon.sh start 单节点启动   hadoop-daemon.sh start namenode   hadoop-daemon.sh start journalnode 

  hdfs namenode -bootstrapStandy 同步两个namenode的元数据  

  zkServer.sh start/stop zk的启动关闭   zkCli.sh 链接到zk的客户端

3 hdfs 的写流程

文件在客户端先会被逻辑切割成每个128M的block块 客户端先向NN发起请求 申请空间 审核等 NN完成后会返给block块的地址(包括备份的DN的地址)客户端通过输出流对DN简历链接 会建立两个队列 数据队列 和 确认队列 每一个block块会再次切分成64K大小的包去传输,所有的包都会在数据队列和确认队列中 数据队列中的会发给DN DN去完成备份的操作 都完成了 会返给确认队列 确认队列删掉完成的数据 然后会告知NN 和 客户端完成 每个block块都是如此  当传输时DD挂了 关闭管线 把所有确认队列的包 重新添加到数据队列中  删除该管线上的错误节点 给在正常DN上的block块指定一个新标志 并传回NN 剩余两个DN正常传输  当NN检测到 会创建另一个副本 完成传输任务

4 hdfs 的读流程

客户端去NN上请求block块地址 是通过拓扑排序后的 最新地址 不断的读取block的数据 DD挂了的话 会记住这个DN的地址 之后会绕开DN 去其他副本上读取

5 SNN

SNN完成了 定期镜像文件和日志文件的合并  

合并检查时间点

1、默认情况下,SecondaryNameNode每个小时进行一次checkpoint合并

由dfs.namenode.checkpoint.period设置,单位秒

 

2、在不足一小时的情况下,如果edits log存储的事务达到了1000000个也进行一次checkpoint合并

由dfs.namenode.checkpoint.txns设置事务数量

 

3、事务数量检查默认每分钟进行一次

由dfs.namenode.checkpoint.check.period设置,单位秒。

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值