简介:本着对大数据的理解,HDFS是侧重于大数据的数据存储,MapReduce是侧重于计算与任务的分配;
Page Rank (搜索排名) 什么是MapReduce ?
1、 数据是从页面上面获取,HDFS进行输入
2、 Map 的输出是Reduce的输入;
3、 Map的输入是HDFS, Reduce的输出也是 HDFS;
4、 一共是4次输入输出,都是key,value的形式;
5、 一个MR任务是job=map+Reduce;
6、 所有的key,value数据类型都是Hadoop自己的数据类型;
7、 String------text; int-----IntWritable ; long -----longWritable null------nulllWritable;….
8、 所有的Hadoop类型都必须实现Hadoop序列化,即实现Writable接口;
9、 如果一个类实现了Writable接口,他的对象就可以作为MR的输入与输出;
HDFS
MapReduce
Yarn介绍:
启动HDFS与yarn;
1、startdfs.sh stop dfs.sh start yarn.sh stop yarn.sh
2、总的就是start –all.sh stop –all.sh
Yarn也是有主节点与真正执行的节点 resourceManager 与 nodeManager
安装成功以后可以看以下进程 jps 是Java的命令,which jps就可以看到位置;
可以查看日志
MapReduce 有默认的排序
1、字符串按照字典
2、数字按照 升序
备注:
- 什么是hdfs?
hdfs是一种分布式系统,其组成是namenode节点和datanode节点。顾名思义,namenode是“名字节点”,存储的是这部分存储区域的相关信息,并管理datanode节点;而datanode存储的就是数据。一个namenode对应一个或多个datanode节点,每一个datanode运行在一台机器上,所以这些datanode组合到一起将形成一个集群(cluster),实现真正的分布式存储文件。需要注意的是namenode和datanode可能运行在同一台机器上。
除此之外,hdfs特别的地方是,加强了存储文件的安全性和完整性。namenode存在副本节点(standby node),当主节点出现问题,比如所运行的机器出现宕机,将由standby节点来取代并获得datanode的管理权限;而且每一段数据将备份在几个不同的datanode上面(根据集群的datanode数量来决定备份个数)。因此,对应的将会有一个存储映射表,来记录每一段数据分别存储在哪些节点中,便于namenode进行管理和查询。
- 什么是yarn
yarn是一个资源管理工具,用来分配资源。它的命名也是极为有趣,YARN(Yet Another Resource Negotiator,另一种资源协调者)。
它包含几个部分 ,ResourceManager,NodeManager,ApplicationMaster以及Container组成,基本思想是将JobTracker中的资源管理和作业调度进行分离,分别交给ResourceManager,ApplicationMaster进行管理,ApplicationMaster 承担了以前的 TaskTracker 的一些角色,ResourceManager 承担了 JobTracker 的角色。
二.启动方法
以下默认已经成功安装并配置完成hadoop,如未安装配可参考如下网址:http://www.imooc.com/learn/391
- namenode的启动方法
这里将namenode和datanode的启动从dfs的启动分离出来,为了降低错误成本,全局启动hdfs的话可能会出现问题。
注意:第一次启动hdfs,需要进行格式化,命令可以找度娘,下面介绍正常的开启命令。(以下所有命令均在/sbin目录下进行)
启动namenode
hadoop-daemon.shstart namenode
· 1
验证是否启动,可以通过java的进程命令jps来检测,如果检测到namenode进程则说明启动成功,否则,需要重新输入命令。下同。
启动datanode
hadoop-daemon.shstart datanode
· 1
启动yarn
由于yarn的结构特性,此处推荐将yarn的所有功能一起启动。
启动方式如下:
start-yarn.sh
· 1
同样通过jps命令进行检测,能够检测到ResourceManager和NodeManager进程。
三.查看启动信息
如果通过以上步骤能够成功启动hdfs和yarn,那么就可以到网页中查看存储文件的信息和资源管理的信息。查看的方法如下:
1. 查看yarn
管理yarn的端口为50700,即可以在网址部分输入
yarn001:50700
· 1
注意,交换地址名称与hadoop的配置文件中所配置的保持一致,我的交换地址名称为yarn001。下同。
1. 查看hdfs
管理hdfs系统的段口号为8088,即可以在网址部分输入
yarn001:8088