一、Hadoop自带管理工具
(1)、HDFS管理操作: hadoop dfsadmin [-report] [-safemode enter | leave | get | wait] [-refreshNodes] [-finalizeUpgrade] [-upgradeProgress status | details | force] [-metasave filename] [-setQuota <quota> <dirname>...<dirname>] [-clrQuota <dirname>...<dirname>] [-help [cmd]]
2、文件验证系统:HDFS支持使用fsck命令检测系统故障,fack会反馈各种文件出现的状况,比如文件块丢失、副本数不足等问题。
hadoop fsck <path> [-move | -delete | -openforwrite] [-files [-blocks [-locations | -racks]]]
3、DataNode块扫描任务:每个DataNode都会执行一个块扫描任务,周期性验证所存储块的状态,使得出现问题的块能够容易查找和修复。
一般默认访问:http://192.168.0.101:50075/blockScannerReport?listblocks(IP为DataNode IP)
4、均衡器:hdfs balancer [-threshold <threshold>] [-policy <policy>]
[-exclude [-f <hosts-file> | <comma-separated list of hosts>]]
[-include [-f <hosts-file> | <comma-separated list of hosts>]]
[-idleiterations <idleiterations>]
注:HDFS数据在不同DataNode之间处理容易出现空间、时间方面利用不均衡的情况,一个常见的原因是增加新的DataNode到已存在的集群中。在添加新Blocks的时候,NameNode在选择接收这些Blocks的DataNodes时,需要考虑各项事宜:
(1)、数据重新分布的时候,保证相同节点上的备份数不变以及数据不丢失
(2)、在机架上保存不同的副本,以便数据能在整个集群中保持完整性
(3)、一个完整的副本通常放置在相同的机架,这样在读写数据的时候可以减少资源消耗
(4)、在这个过程中,保证集群能够正常工作
二、Hadoop扩展管理工具
1、HUE:Hadoop User Experience
HUE是一个开源的Apache Hadoop UI系统,由Cloudera Desktop演化而来,最后Cloudera公司将其贡献给Apache基金会的Hadoop社区,它是基于Python Web框架Django实现的。
通过HUE我们可以在浏览器端Web控制台上与Hadoop集群进行交互来分析处理数据,它可以操作HDFS上数据、运行MapReduce Job,执行Hive SQL语句等等。
2、Ganglia
Ganglia是UC Berkeley发起的一个开源集群监视项目,设计用于测量数以千计的节点。Ganglia的核心包含gmond、gmetad以及一个Web前端。主要是用来监控系统性能,如:cpu 、mem、硬盘利用率, I/O负载、网络流量情况等,通过曲线很容易见到每个节点的工作状态,对合理调整、分配系统资源,提高系统整体性能起到重要作用。