tonwei139 发表于 2016-12-7 11:05:28

Hadoop集群管理需要了解的概念

搭建好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     升级
  
 
  
页: [1]
查看完整版本: Hadoop集群管理需要了解的概念