HDFS的QJM方案

Quorum Journal Manager仲裁日志管理器

介绍

  • Quorum Journal Manager(仲裁日志管理器),是Hadoop官方推荐的hdfs HA解决方案之一
  • 使用zookeeper中ZKFC来实现主备切换
  • 使用Journal Node(JN)集群来实现edits log的共享以达到数据同步的目的。

主备切换,脑裂问题解决---ZKFailoverController(zkfc)

ZK FAi咯verCON他蹂躏了人是一个zookeeper客户端。主要职责:

  • 监视和管理namenode健康状态
    ZKFC通过命令监视namenode节点及机器的健康状态
  • 维持和ZK集群联系
    如果本地namenode运行状况良好,并且ZKFC看到当前没有其他节点持有锁znode,它将自己尝试获取该锁。如果成功,则表明它"赢得了选举",并负责运行故障转移以使其本地namenode处于active状态。如果极硬呦其他节点持有锁,zkfc选举失败,则会对该节点注册监听,等待下次选举。

主备切换,脑裂问题解决-- Fencing(隔离)机制

  • 故障转移过程也就是俗称的主备角色切换的过程,切换过程中最怕的就是脑裂的发生。因此需要Fencing机制来避免,将先前的active节点隔离,然后将standby转换为active状态
  • Hadoop公共库中对外提供了两种Fenc ing实现,分别是sshfence和shellfence(却省实现)
    sshfence是通过ssh登陆目标节点上,使用命令fuser将进程杀死(通过tcp端口号定位进程pid,该方法比ips命令更准确)
    shellfence是指执行一个用户事先定义的shel命令(脚本)完成隔离

主备数据状态同步问题解决

  • Journal Node(JN)集群是轻量级分布式系统,主要用于高速读写数据,存储数据
  • 通常使用2N+1台Journal Node存储共享Edits Log(编辑日志)。----底层类似zk德分布式一致性算法
  • 任何修改操作在active NN上执行时,Journal Log进程同时也会记录edits log到至少半数以上的JN中,这时Standby NN检测到JN里面的同步log发生变化了会读取JN里面的edits log,然后重演操作记录同步到自己的目录镜像树里面

HA集群搭建

集群基础环境准备

HA集群规划

上传安装包,配置环境变量

HA集群初始化

相关推荐
黄雪超17 分钟前
Kafka——怎么重设消费者组位移?
大数据·分布式·kafka
不辉放弃21 分钟前
pyspark中的kafka的读和写案例操作
大数据·数据库·pyspark·大数据开发
华科云商xiao徐2 小时前
Nim开发高性能低成本爬虫的完整教程
大数据·爬虫·数据挖掘
老四敲代码2 小时前
Spark 机器学习提速指南
大数据·分布式·spark
道一云黑板报2 小时前
Spark SQL:用SQL玩转大数据
大数据·sql·spark
延凡科技3 小时前
延凡科技光伏清洗预测系统
大数据·运维·人工智能·科技·无人机·智慧城市
菜鸟冲锋号3 小时前
数据建设之明细层指标和汇总层指标结合方式
大数据·机器学习·数据挖掘
青云交3 小时前
Java 大视界 -- Java 大数据在智能医疗电子病历数据分析与临床决策支持中的应用(382)
java·大数据·数据分析·flink·电子病历·智能医疗·临床决策
拓端研究室3 小时前
专题:2025生命科学与生物制药全景报告:产业图谱、投资方向及策略洞察|附130+份报告PDF、原数据表汇总下载
大数据·人工智能
AI 嗯啦3 小时前
机械学习中的一些优化算法(以逻辑回归实现案例来讲解)
大数据·算法·逻辑回归