文档章节

【hadoop】学习笔记

浮躁的码农
 浮躁的码农
发布于 2015/07/08 10:18
字数 1799
阅读 16
收藏 0

2012-10-23初步接触

1.【hadoop】是一个功能对大量数据进行分布式处理的软件架构,实现了MapReduce编程模型和框架

2.在Mapreduce中一个准备提交执行的应用程序称为作业(job),而从一个作业划分出的,运行个计算机节点的工作单元称为任务(task)

3.Hadoop提供分布式文件系统(HDFS),主要负责各个节点数据存储,并实现了高吞吐率的数据读写

4.【NameNode】是HDFS的守护程序,负责记录文件时如何分割成数据块的,以及这些数据块分别被存储到哪些数据节点上。它的主要功能是对内存及I/O进行集中管理

5.如果其他从服务器因出现软硬件的问题而宕机,Hadoop集群仍旧可以继续运转,或者快速启动。但是,由于NameNode是hadoop集群中的一个单点,一旦NameNode

  宕机,整个系统将无法运行 ;

6.【Secondary NameNode】是一个用来监控HDFS状态的辅助后台程序,就像NameNode一样,每个以集群都有一个Secondary NameNode,并且部署在一台单独的服务器上

  Secondary NameeNode不同于NameNode,它不接收或记录任何实时的数据变化,但是,它与NameNode进行通信,如果NameNode发生问题,Secondary NameNode可以及时

  备用NameNode使用

7.【JobTracker】 后台程序用来连接应用程序与hadoop,用户代码提交到集群以后,有JobTracker决定哪个文件将被处理,并且为不同的task分配几点,同时,他还监控所有运行task,每个Haddoop集群只有一个JobTracker,一般运行在集群的Master节点上。

8.【TaskTracker】与负责存储的DataNode相结合,其处理结构上也遵循主/从架构,JobTracker位于主节点,统领MapReduce工作;而TaskTrackers位于从节点,独立管理各自task,TaskTracker的一个重要职责就是与JobTracker交互。如果JobTracker无法准时获取TaskTracker提交信息,Jobtracker就判定TaskTracker已经崩溃。并将任务分配给其他节点处理

9.Hadoop活动:通过http://ip:50030 连接到JobTracker,可以直接查看到hadoop执行任务情况;

总结:

    1.HDFS可以理解为windows机器上文件存储格式比如:FAT32,NTFS

    2.HBase是一个基于列存储方式;角色类同于:oracle

    3.Hive提供数据摘要和查询功能数据仓库

    4.目前服务器使用的版本  1.0.3  hadoop-1.0.3.tar.gz |O:\研发2部\PPS数据平台\90.开发环境及相关软件\相关软件

   

2012-10-24

1.NameNode和JobTracker可以部署在不同机器上,也可以部署在同一台机器上。部署Namenode和JobTracker的机器是Master(主服务器),其余的都是Slaves(从服务器)

2.NameNode负责管理文件系统的命名空间,记录文件数据块在每个DataNode上的位置和副本信息,协调客户端对文件的访问,以及记录命名空间内的改动或命名空间本身属性的改动。DataNode负责它们所在的物理节点上存储管理。HDFS开发文件系统的命名空间已便让用户以文件形式存储数据,

3.HDFS 典型的块大小是64MB.每个数据块尽可能的分散存储于不同的DataNode中,

4.【DataNode】负责处理客户的读写请求,依照NameNode的命令,执行数据块的的创建,复制,删除等工作,例如:客户端要访问一个文件,首先,客户端从NameNode中获的组成改文件的数据块位置列表,即知道数据块别存储在哪些DataNode上;然后,客户端直接从DataNode上读取文件数据,此过程中,NameNode不参与文件的传输

5.【NameNode】使用事务日志(editLog)来记录HDFS源数据,使用映像文件(FsImage)存储文件系统的命名空间,包含文件的映射、文件的属性信息。事务日志和映像文件都存储在NameNode的本地文件系统中,

6.【检查单(checkPoint)】NameNode启动时,从磁盘中读取映像文件和事务日志,把事务日志的事务都应用到内存中的映像文件上,然后将新的元数据刷新到本地磁盘的新的映像文件中,这样可以截取就的事务日志,这个过程称为检查单(checkPoint)

7.【Secondary NameNode】HaFS还设有Secondary NameNode节点,它辅助NameNode处理文件映像文件和事务日志,NameNode会周期的从NameNode上复制映像文件和事务日志使得事务日志的大小始终控制在可配置的限度下

8.【块报告(Blockreport)】当DataNode启动时候,它会遍历本地文件系统,产生一份HDFS数据块和本地文件对应关系的列表,并把这个报告发给NameNode,这就是块报告(Blockreport)

9.【NameNode 心跳检测】NameNode周期性从集群中每个DataNode接受心跳包和块报告

10【NameNode 安全模式】系统启动NameNode 会进入一个安全模式。此时不会出现数据块的写操作。NameNode会收到各个DataNode拥有的数据块列表对数据块的报告

由此NameNode获得所有的数据块信息。

11,【元数据磁盘失效】映像文件和事务日志是HDFS的核心数据结构。如果这些文件损坏,将会导致HDFS不可用。NameNode可以配置为支持维护映像文件和事务日志

的多个副本,任何对映像文件或事务日志的修改,都将同步到它们的副本上。这样会降低NameNode处理命名空间事务的速度,然而这个是可以接受的,因为HDFS是数据密集、而非元数据密集的。当NameNode重新启动的时候,总是选择最新的一致的映像文件和事务日志。在HDFS集群中NameNode是单点存在的,如果他出现故障,必须手动干预。目前HDFS还不支持自动重启或切换到另外的NameNode。

二.分久必合-MapReduce

【MapReduce编程模型】采用“分而治之”的思想,把对大规模数据局的操作,分发给一个主节点管理下的各分节点共同完成,然后通过整合各分店的中间结果,得到

最终结果。简单的说,MapReduce就是“任务的分解与结果汇总”

【MapReduce任务调度和执行】Mapreduce任务由一个JobTracker和多个TaskTracker两类节点控制完成。JobTracker主要负责调度和管理TaskTracker,它通常情况下运行在Master节点上。JobTracker将Mapppers和Reducers分配给空闲的TaskTracker后,有TaskTracker负责这些任务的并执行,TaskTracker必须运行在DataNode上,所以DataNode既是数据的存储点,也是计算节点。JobTracker也负责监控任务的运行状况,如果某个TaskTracker发生故障,JobTracker就会将其负责的任务分配给其他空闲的Tasktracker重新执行。


本文转载自:

共有 人打赏支持
浮躁的码农

浮躁的码农

粉丝 71
博文 851
码字总数 154515
作品 0
松江
程序员
私信 提问
Spark 学习推荐博客地址

http://www.cnblogs.com/hseagle/p/3664933.html Apache Spark源码走读之1 -- Spark论文阅读笔记 欢迎转载,转载请注明出处,徽沪一郎。 http://blog.csdn.net/bookmmicky/article/details/...

片刻
2016/01/07
98
0
Hadoop实战初级部分学习笔记

目前正在学习《Hadoop实战——初级部分》视频,写了点笔记分析给大家,欢迎交流。 好像没法上传附件,,去这下载吧:http://sishuok.com/forum/posts/list/6910.html...

小生1
2013/06/28
226
0
Hdoop 学习笔记

简介:Hadoop分布式系统体系结构的核心: HDFS和MapReduce 。HDFS在集群上实现分布式文件系统,MapReduce在集群上实现了分布式计算和任务处理。HDFS在MapReduce任务处理过程中提供了文件操作...

james_lz
2016/03/08
25
0
全栈数据,主要技术点

生命之源 0. 缘起 本文仅仅只是列出一些知识点,拟做为内部技术分享的点,只是对『全栈数据』技术点有一个概要性的了解。 列出的点,99%都是自己的经验,或接触、或了解、或实战的内容。 本文...

云戒
2017/06/25
0
0
Mahout安装与配置笔记

一、硬件环境 操作系统:Linux ubuntu-13.04-desktop-i386 jdk安装版本:jdk-7u51-linux-i586 Hadoop版本:Hadoop-1.1.1(一个Namenode,三个Datanode部署) 二、安装步骤 在Mahout安装之前读...

kartik
2014/06/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

开启genelog

打开genelog genelog 可以记录数据库的操作语句。 首先进入mysql, mysql -u root -p 设置日志位置 set global general_log_file = "/tmp/general.log"; 设置全局global模式 set global gen......

狼王黄师傅
27分钟前
1
0
Java 帝国对 Python 的渗透能成功吗?哈哈

引子 Java 帝国已经成立20多年,经过历代国王的励精图治,可以说是地大物博,码农众多。 可是国王依然不满足,整天想着如何继续开拓疆土, 这一天晚上他又把几个重臣招来商议了。 IO大臣说:...

边鹏_尛爺鑫
今天
8
0
分布式事务解决方案框架(LCN)

什么是XA接口 XA是一个分布式事务协议,由Tuxedo提出。XA中大致分为两部分:事务管理器和本地资源管理器。其中本地资源管理器往往由数据库实现,比如Oracle、DB2这些商业数据库都实现了XA接口...

群星纪元
今天
8
0
linux 操作系统 常用命令和软件安装

1.系统时间更新 ntpdate time.windows.com 2.传送文件 rsync -av /home/data/a.dat -e ssh root@192.168.0.100:/home 3.传送文件夹 scp -r /home/data root@192.168.0.100:/home 4.JDK安装 ......

WJtiny
今天
3
0
pg_lightool基于basebackup的单表恢复和块恢复

开源软件pg_lightool,实现了基于wal日志的块恢复。详情参见博客:https://my.oschina.net/lcc1990/blog/1931485。由于wal日志中FPW的不确定性,它不能作为一个数据库恢复的解决方案。目前对...

movead
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部