目录
大数据发展简史
hadoop的介绍
- Hadoop最早起源于Nutch。Nutch的设计目标是构建一个大型的全网搜索引擎,包括网页抓取、索引、查询等功能,但随着抓取网页数量的增加,遇到了严重的可扩展性问题——如何解决数十亿网页的存储和索引问题。
- 2003年、2004年谷歌发表的两篇论文为该问题提供了可行的解决方案。
——分布式文件系统(GFS),可用于处理海量网页的存储
——分布式计算框架MAPREDUCE,可用于处理海量网页的索引计算问题。 - Nutch的开发人员完成了相应的开源实现HDFS和MAPREDUCE,并从Nutch中剥离成为独立项目HADOOP,到2008年1月,HADOOP成为Apache顶级项目(同年,cloudera公司成立),迎来了它的快速发展期。
狭义上来说,hadoop就是单独指代hadoop这个软件
广义上来说,hadoop指代大数据的一个生态圈,包括很多其他的软件
hadoop发展历史
hadoop三大公司发型版本介绍
1、免费开源版本apache:
hadopp在apache的专题站:http://hadoop.apache.org/
优点:拥有全世界的开源贡献者,代码更新迭代版本比较快,
缺点:版本的升级,版本的维护,版本的兼容性,版本的补丁都可能考虑不太周到,学习可以用,实际生产工作环境尽量不要使用
2、免费开源版本hortonWorks:
hortonWorks官网https://hortonworks.com/
hortonworks主要是雅虎主导Hadoop开发的副总裁,带领二十几个核心成员成立Hortonworks,核心产品软件HDP(ambari),HDF免费开源,并且提供一整套的web管理界面,供我们可以通过web界面管理我们的集群状态,web管理界面软件HDF网址。
3、软件收费版本ClouderaManager:
ClouderaManager官网https://www.cloudera.com/
cloudera主要是美国一家大数据公司在apache开源hadoop的版本上,通过自己公司内部的各种补丁,实现版本之间的稳定运行,大数据生态圈的各个版本的软件都提供了对应的版本,解决了版本的升级困难,版本兼容性等各种问题,生产环境强烈推荐使用。
hadoop的架构模型
1.x的版本架构模型介绍
HDFS(文件系统核心模块):
NameNode:集群当中的主节点,主要用于管理集群当中的各种数据
secondaryNameNode:主要能用于hadoop当中元数据信息的辅助管理
DataNode:集群当中的从节点,主要用于存储集群当中的各种数据
MapReduce(数据计算核心模块):
JobTracker:接收用户的计算请求任务,并分配任务给从节点
TaskTracker:负责执行主节点JobTracker分配的任务
2.x的版本架构模型介绍
第一种:NameNode与ResourceManager单节点架构模型
HDFS(文件系统核心模块):
NameNode:集群当中的主节点,主要用于管理集群当中的各种元数据
secondaryNameNode:主要能用于hadoop当中元数据信息的辅助管理
DataNode:集群当中的从节点,主要用于存储集群当中的各种数据
Yarn(数据计算核心模块):
ResourceManager:接收用户的计算请求任务,并负责集群的资源分配
NodeManager:负责执行主节点APPmaster分配的任务
第二种:NameNode单节点与ResourceManager高可用架构模型
HDFS(文件系统核心模块):
NameNode:集群当中的主节点,主要用于管理集群当中的各种数据
secondaryNameNode:主要能用于hadoop当中元数据信息的辅助管理
DataNode:集群当中的从节点,主要用于存储集群当中的各种数据
Yarn(数据计算核心模块):
ResourceManager:接收用户的计算请求任务,并负责集群的资源分配,以及计算任务的划分,通过zookeeper实现ResourceManager的高可用
NodeManager:负责执行主节点ResourceManager分配的任务
第三种:NameNode高可用与ResourceManager单节点架构模型
HDFS(文件系统核心模块):
NameNode:集群当中的主节点,主要用于管理集群当中的各种数据,其中nameNode可以有两个,形成高可用状态
DataNode:集群当中的从节点,主要用于存储集群当中的各种数据
JournalNode:文件系统元数据信息管理
Yarn(数据计算核心模块):
ResourceManager:接收用户的计算请求任务,并负责集群的资源分配,以及计算任务的划分
NodeManager:负责执行主节点ResourceManager分配的任务
第四种:NameNode与ResourceManager高可用架构模型
HDFS(文件系统核心模块):
NameNode:集群当中的主节点,主要用于管理集群当中的各种数据,一般都是使用两个,实现HA高可用
JournalNode:元数据信息管理进程,一般都是奇数个
DataNode:从节点,用于数据的存储
Yarn(数据计算核心模块):
ResourceManager:Yarn平台的主节点,主要用于接收各种任务,通过两个,构建成高可用
NodeManager:Yarn平台的从节点,主要用于处理ResourceManager分配的任务
hadoop的standAlone环境搭建
apache hadoop三种架构介绍
apache hadoop有三种架构:standAlone,伪分布式和分布式。standAlone即单机版环境,NameNode、DataNode、ResourceManager、NodeManager都在一台机器上;伪分布式是指NameNode、ResourceManager在同一台机器上,DataNode、NodeManager在不同机器上;分布式是指NameNode、ResourceManager在不同机器上(如果NameNode、ResourceManager都是高可用的架构方式,那么需要4台机器来部署主节点),DataNode、NodeManager也在不同机器上。
standAlone环境搭建
1、将hadoop2.X的安装包放到Linux机器上,并解压tar包到安装目录
tar /export/softwares/hadoop-2.7.5.tar.gz -C /export/servers
2、修改配置文件
①使用notepad++连接Linux机器
②修改文件/export/servers/hadoop-2.7.5/etc/hadoop/core-site.xml,修改内容如下:
<configuration>
<!-- hdfs表示通过分布式的方式实现,IP地址是namenode所在的机器的IP地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.177.100:8020</value>