2020暑假第5周

  这周学习了Hadoop的相关知识。

  Hadoop最早起源于Nutch。Nutch的设计目标是构建一个大型的全网搜索引擎,包括网页抓取、索引、查询等功能,但随着抓取网页数量的增加,遇到了严重的可扩展性问题——如何解决数十亿网页的存储和索引问题。可行的解决方案有分布式文件系统和分布式计算框架,Nutch在完成相应的开源实现HDFS和MAPREDUCE之后,从Nutch中剥离成为独立项目HADOOP,之后HADOOP成为Apache顶级项目。

  Hadoop狭义上是指Hadoop这个软件,广义上是讲  大数据的一个生态圈,包含许多其他的软件hive、Hadoop、zookeeper……

  1.x的Hadoop的架构模型中的文件系统核心模块由NameNode(集群中的主节点,管理文件的大小、文件的位置、文件的权限等元数据)、secondaryNameNode(用于hadoop中元数据信息的辅助管理)、DataNode组成(集群中的从节点,存储数据)。而数据计算核心模块由JobTracker(接收用户的计算请求任务,并分配任务给节点)和TaskTracker(负责执行主节点JobTracker分配的任务)组成。

  2.x的Hadoop的架构模型中NameNode与ResourceManager单节点架构模型中的文件系统核心模块与1.x的系统架构模型没有区别,而数据计算核心模块由JobTracker(接收用户的计算请求任务,并分配任务给节点)和TaskTracker(负责执行主节点APPmaster分配的任务)组成。另一种NameNode单节点与ResourceManager高可用架构模型中分布式文件系统也不变,而数据计算核心模块中的ResourceManager负责接收用户的计算请求,并负责集群的资源分配,以及计算任务的划分,通过zookeeper实现ResourceManager的高可用,NodeManager负责执行主节点ResourceManager分配的任务。第三种就是NameNode高可用与ResourceManager单节点架构模型。也就是说文件系统核心模块中NameNode是集群中的主节点,主要用于管理集群中的各种数据,其中nameNode可以有两个,从而实现高可用状态。第四种就是最理想的NameNode与ResourceManager都高可用的架构模型。

  编译Hadoop需要准备Linux环境,虚拟机联网、关闭防火墙、关闭selinux,安装jdk,安装maven、安装findbugs,在线安装一些依赖包,安装protobuf,安装snappy,编译hadoop源码。

  安装Hadoop需要上传apache hadoop包并解压,修改配置文件,配置hadoop的环境变量,启动集群。

posted on 2020-08-01 19:46  FF冯静妃  阅读(72)  评论(0编辑  收藏  举报

导航