hadoop_cluster_monitor

本文详细介绍Hadoop集群的监控管理,包括NameNode、DataNode、ResourceManager等组件的功能与状态检查,以及基于QJM的共享存储系统架构。同时,探讨了Hadoop集群中组件的日志位置、高可用架构及故障切换机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

HADOOP 集群监控管理(CDH 5.8.0)

hadoop 集群

master1

org.apache.hadoop.hdfs.server.namenode.NameNode
  • 功能 - 主要负责管理hdfs文件系统
    • 整个文件系统的文件目录树
    • 文件/目录的元信息和每个文件对应的数据块列表
    • 接收用户的操作请求。 - fsimage:元数据镜像文件。存储某一时段NameNode内存元数据信息
    • dfs.name.dir:/data/dfs/nn <==187M - edits:NameNode启动后,操作日志文件,append log 性能好
    • 由secondaryNamenode合并 fsImage + edits.log - fstime:保存最近一次checkpoint的时间
  • NameNode / secondaryNamenode 状态检查
  • NameNode 高可用整体架构 -- https://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop-name-node/
    • 主备切换控制器 ZKFailoverController:ZKFailoverController 作为独立的进程运行,对 NameNode 的主备切换进行总体控制。ZKFailoverController 能及时检测到 NameNode 的健康状况,在主 NameNode 故障时借助 Zookeeper 实现自动的主备选举和切换,当然 NameNode 目前也支持不依赖于 Zookeeper 的手动主备切换。
  • -Xmx3072m
  • 停止原因
    • Active NameNode 提交 EditLog 到 JournalNode 集群的过程实际上是同步阻塞的,但是并不需要所有的 JournalNode 都调用成功,只要大多数 JournalNode 调用成功就可以了。如果无法形成大多数,那么就认为提交 EditLog 失败,NameNode 停止服务退出进程
  • logs :/var/log/hadoop-hdfs/
    • hadoop-hadoop-namenode-uhadoop-adarbt-master1.log
  • -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/path/heap/dump
JournalNode -- 基于 QJM 的共享存储系统的总体架构
  • 基于 QJM 的共享存储系统主要用于保存 EditLog,并不保存 FSImage 文件。
  • QJM 共享存储的基本思想来自于 Paxos 算法 (参见参考文献 [3]),采用多个称为 JournalNode 的节点组成的 JournalNode 集群来存储 EditLog。
  • 每个 JournalNode 保存同样的 EditLog 副本。每次 NameNode 写 EditLog 的时候,除了向本地磁盘写入 EditLog 之外,也会并行地向 JournalNode 集群之中的每一个 JournalNode 发送写请求,只要大多数 (majority) 的 JournalNode 节点返回成功就认为向 JournalNode 集群写入 EditLog 成功。
  • 如果有 2N+1 台 JournalNode,那么根据大多数的原则,最多可以容忍有 N 台 JournalNode 节点挂掉。
org.apache.hadoop.hdfs.tools.DFSZKFailoverController -- 它负责整体的故障转移控制
  • 日志
    • hadoop-hadoop-zkfc-uhadoop-adarbt-master1.log
org.apache.hadoop.yarn.server.resourcemanager.ResourceManager
  • 日志:/var/log/hadoop-yarn
  • ResourceManager HA
    • Automatic failover
      • Zookeeper-based ActiveStandbyElector决定RM是否active,rm自带
      • 不需要单独的 ZKFC
    • yarn ha的共享内存系统被抽象成RMStatStore
      • 底层采用不同的共享文件系统,比如zookeeper,NFS,HDFS等,不同的实现都要继承这个类,然后实现具体的save/load等功能。
  • 命令
    • yarn rmadmin -getServiceState rm1
    • yarn rmadmin -transitionToStandby rm1 、 transitionToActive
org.apache.hadoop.hdfs.qjournal.server.JournalNode 共享存储系统
  • Active Namenode往里写editlog数据,StandBy再从里面读取数据进行同步

master2

org.apache.hadoop.hdfs.server.namenode.NameNode standBy
org.apache.hadoop.yarn.server.resourcemanager.ResourceManager standby
org.apache.hadoop.hdfs.qjournal.server.JournalNode
org.apache.hadoop.mapreduce.v2.hs.JobHistoryServer
  • jobhistory记录下已运行完的MapReduce作业信息并存放在指定的HDFS目录下

nodeN

org.apache.hadoop.hdfs.server.datanode.DataNode
  • 根据客户端或者是namenode的调度存储和检索数据,并且定期向namenode发送他们所存储的块(block)的列表。
org.apache.hadoop.yarn.server.nodemanager.NodeManager
  • 是ResourceManager在每台机器上的代理,负责容器管理,并监控它们的资源使用情况,以及向ResourceManager/Scheduler提供资源使用报告

hbase 集群

master1

org.apache.hadoop.hbase.master.HMaster
  • log : /var/log/hbase
  • 功能
    • 负责分配region到regionserver,检测新增或失败的regionserver,与regionserver交互,regionserver间的负载均衡等;
    • 处理shcema的变更;
    • 实现ZooKeeper的Watcher接口,与zookeeper集群交互
org.apache.hadoop.hbase.thrift.ThriftServer
  • you use Java API - you access Region Server directly

nodeN

org.apache.hadoop.hbase.regionserver.HRegionServer
  • log:/var/log/hbase
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值