论文部分内容阅读
近年来随着互联网的快速发展,特别是移动互联网的到来,上网的人群越来越多,随之而来的是产生大量的数据,而且这些数据是以指数形式的增长,要对这些数据进行存储与计算将变得非常的困难,所以Hadoop应运而生,通过Hadoop的HDFS(分布式文件系统)和MapReduce (分布式计算框架)能够帮助企业解决大数据的存储与计算问题。Hadoop作为一个开源的分布式框架,被很多公司所追捧,许多大公司的Hadoop集群的规模已经达到了几千台。对Hadoop集群进行有效的运维,可以大大提升工作的效率。本文主要对Hadoop平台运维中的几个关键的技术进行研究与实现,包括NameNode单点故障问题、对Hadoop集群进行监控、Hadoop平台中运行的Hive Sql任务进行调优。1、NameNode的单点故障问题:主要是通过SecondaryNameNode+NFS的方式来解决,SecondaryNameNode主要是进行日志文件和镜像文件的合并,NFS是通过一种远程的目录来对HDFS中的元数据进行备份。2、Hadoop集群的监控:是通过开发一个Hadoop集群的监控系统,该监控系统分为三个模块,包括Job监控模块、HDFS监控模块、节点监控模块。其中Job监控模块包括正在运行的Job及其进度,失败的Job和已完成的Job。HDFS监控模块主要是集群中HDFS的使用情况,包括集群总的HDFS的使用情况以及集群中每个节点的HDFS的使用情况。节点监控主要是Hadoop集群中每个节点的cpu,mem的变化情况。3、Hadoop集群中运行的Hive Sql任务进行调优:是通过分析Hive语句的特性以及该Hive语句使用的数据的特性,根据不同的情况,通过设置作用在map side或者reduce side的参数,从而对HiveSql任务进行调优。