搭建好Hadoop集群后,需要通过一些措施和方法,来保障集群的平衡运行。下面介绍Hadoop管理中会用到的相关概念或方法。
1 HDFS
1.1 永久性数据结构
1.1.1 Namenode的目录结构
hadoop@hhx247:/data/hadoop/hdfs/name$ ll current/
total 31812
-rw-rw-r--. 1 hadoop hadoop 15008 Jul 16 10:07 edits
-rw-rw-r--. 1 hadoop hadoop 32505856 Aug 7 16:39 edits.new
-rw-rw-r--. 1 hadoop hadoop 39367 Jul 16 10:02 fsimage
-rw-rw-r--. 1 hadoop hadoop 8 Jul 16 10:02 fstime
-rw-rw-r--. 1 hadoop hadoop 101 Jul 16 10:02 VERSION
1.1.2 文件系统映像和编辑日志
Fsimage文件:是HDFS元数据的一个永久性检查点。
Edits文件:编辑日志,在每次执行写操作之后,且在向客户端发送成功代码之前,编辑日志都需要更新和同步,以确保任何操作都不会因为机器故障而丢失。
1.1.3 SecondNamenode的目录结构
为namenode创建检查点数据,还拥有一份检查点数据,可用于namenode异常时恢复。
1.1.4 Datanode的目录结构
1.2 安全模式
Hadoop在启动时,首先将映像文件(fsimage)载入内存,并执行编辑日志(edits)中的各项操作,此时,namenode运行在安全模式下,对于客户端来说,只能是只读的。
在进行集群维护和升级时,必须进入安全模式,确保数据在指定时间段内是只读的。
1.2.1 进入和离开安全模式
./hadoop dfsadmin –safemode get
./hadoop dfsadmin –safemode wait
./hadoop dfsadmin –safemode enter
./hadoop dfsadmin –safemode leave
1.3 日志审计
HDFS的日志能够记录所有文件系统的访问请求,但默认情况下是没有启动的。如果有需要,可以启动该特性。
2 工具
2.1 dfsadmin工具
dfsadmin工具是多用途的,既可查找HDFS状态信息,又可在HDFS上执行管理操作。调用形式是hadoop dfsadmin。
2.2 fsck工具
hadoop提供fsck工具来检查HDFS中文件的健康状况。该工具会查找那些所有datanode中均缺失的块以及过少或过多复本的块。
运行格式:./hadoop fsck /
2.3 datanode块扫描器
各个datanode运行一个块扫描器,定期检测本节点上的所有块,从而在客户端读到坏块之前及时地检测和修复坏块。
默认情况下,块扫描器每隔三周就会检测块,这个周期可以通过dfs.datanode.scan.period.hours属性设置。
2.4 均衡器
随着时间推移,各个节点上的块会分布得越来越不均衡。不均衡的集群会降低mapreduce的本地性,导致部分节点相对更为繁忙。应该避免出现这种情况。
另外,新增节点或删除节点时,也需要运行均衡器来均衡各节点的数据块。
3 监控
主要监控集群的守护进程,包括namenode、secondnamenode、jobtracker、datanode、tasktracker。其中,在大型集群中,datanode、tasktracker经常容易出现故障。
3.1 日志
所有的守护进程都会产生日志文件,这些文件非常有助于查明系统中发生的事件。
3.2 Ganglia
Ganglia是一个针对超大规模集群的开源的分布式监控系统,运行之后仅消耗各个节点上很少的资源。Ganglia通过GangliaContext收集度量,例如CPU和内存的使用情况,用户也可以将Hadoop度量添加到Ganglia。
4 维护
4.1 日常管理过程
4.1.1 元数据备份
如果namenode的永久性元数据丢失或损坏,则整个文件系统无法使用。因此,元数据备份非常关键。
可以在系统中分别保存若干份不同时间的备份(例如:1小时前、1天前、1周前),以保护元数据。
4.1.2 数据备份
尽管HDFS充分考虑了如何可靠地存储数据,但仍然需要考虑对数据的备份。Hadoop中存储着海量数据,判断哪些数据需要备份,以及在哪里备份就极具有挑战性。关键点在于为数据划分不同优先级。
那些无法重新产生的数据,这些数据对业务非常关键,属于最高优先级。另外,能够重新产生的数据和
4.1.3 Fsck工具
建议定期地在整个文件系统上运行HDFS的fsck(文件系统检查)工具(例如:每天执行),主动查找丢失的或损坏的块。
4.1.4 文件系统均衡器
定期运行均衡器工具,保持文件系统的各个datanode比较均衡。
4.2 委任和解除节点
4.2.1 委任新节点
4.2.2 解除旧节点
4.3 升级
相关推荐
本书是Hadoop权威参考,程序员可从中探索如何分析海量数据集,管理员可以从中了解如何安装与运行Hadoop集群。 目录 第1章 初识Hadoop 数据!数据! 数据存储与分析 与其他系统相比 关系型数据库管理系统...
利用基准测试程序测试Hadoop集群 Hadoop基准测试程序 用户的作业 云上的Hadoop Amazon EC2上的Hadoop 第10章 管理Hadoop HDFS 永久性数据结构 安全模式 日志审计 工具 监控 日志 度量 Java管理扩展(JMX) 维护 日常...
Hadoop是一个开源的MapReduce平台,设计运行在大型分布式集群环境中,提供查询和分析服务。尤其适用于大数据系统,Hadoop为苹果、eBay、LinkedIn、雅虎和Facebook等公司提供重要软件环境。它为开发者进行数据存储、...
通过该学习路径,您将精通使用Apache Ambari来管理和管理Hadoop集群,从而在云上部署大数据解决方案的技术。 随着您的前进,您甚至会发现如何应对常见的挑战,例如有效使用Kafka,设计低延迟以及处理大量数据。 在...
其中最底部就是HDFS,它被用来存储Hadoop集群中所有存储节点上的文件。hadoop的核心子项目——HDFS(分布式文件系统),下面将从HDFS的背景、基本概念开始,步步深入了解HDFS的设计目标、HDFS的基本结构以及HDFS的相关...
⼤数据的基础知识 1、⼤数据的基础知识 ⼤数据的概念 ⼤数据(big data),IT⾏业术语,是指⽆法在⼀定时间范围内⽤常规软件⼯具进⾏捕捉、管理和处理的数据集合,是需要新处理模式才能 具有更强的决策⼒、洞察发现...
但是如果同时需要批处理和流处理,按照如上就得搭两个集群,Hadoop集群(包括HDFS+MapReduce+Yarn)和Storm集群,不易于 管理,所以出现了Spark这样的⼀站式的计算框架,既可以进⾏批处理,⼜可以进⾏流处理(实质...
分布式协调的实现,包括如何实现公共配置管理,如何实现分布式锁,如何实现集群管理等; 分布式缓存的实现,包括如何提供完整的分布式缓存来利用多机内存能力; 消息队列的实现,包括如何实现发送和接收模式;...
该数据将驻留在包括 Hadoop 集群到 NoSQL 数据库的几个关系和非关系系统中。云迁 移十大注意事项 混合现实 混合现实将改善数据可视化 AR 和 VR 在过去几年中赢得了客户的极大的关注。随着神奇宝贝的推出, 增强现实...
负责Hadoop集群架构设计开发、搭建、管理、运维、调优,从数据采集到数据加⼯,从数据清洗到数据抽 取,从数据统计到数据分析,实现⼤数据全产业线上的应⽤分析设计。 开发⼯程师。基于hadoop、spark等构建数据分析...
在了解了更多技术之后,我们可能还会讨论节点、集 群管理层、负载平衡和并⾏处理等。 10. ⿊暗数据。依我看来,这个词适⽤于那些吓得六神⽆主的⾼级管理层们。从根本上来说,⿊暗数据是指那些被企业收集和处理但⼜不...