HDFS基本原理(Hadoop1.0)

一、客户端发送写块请求

原理介绍:

1、  客户端向NameNode发送一个写块请求,NodeName接收到这个请求之后给客户端一个消息,就是客户端应该把数据写到哪个DataNode,客户端接着就把数据写到分配到的那个DataNode中。

2、  此时,不管客户端是否写数据成功,都写在edits日记中,此时edits中的数量+1,如果写入成功,则会在内存中添加相应的元数据信息(MetaData)

二、NameNode的更新原理

原理介绍:

1、  NameNode更新机制的触发。条件有两个:一个是时间,最大的时间间隔是3600秒;第二个是edits文件的大小,默认的情况下是当edits的文件大于64M时,而不管是否已经到达了最大时间间隔,都会强制更新fsimage(也就是一些元数据信息);

2、  当NameNode的更新机制触发时,此时会进入一个切换状态,即此时如果收到其他用户的写请求时,不会再把操作信息放入edits中,而是放入文件edits.new文件中,这是为了保持数据一致。

3、  SecondNameNode会从NameNode中下载两个文件,edits和fsimage,通过这两个文件会合成一个新的fsimage(这里叫fsiamge.ckpt)。

4、  当edits和fsimage的信息更新之后,会把最新的fsimage.ckpt发送到NameNode;

5、  此时fsimage.ckpt会替换原来的fsimage文件,此时会把edits文件删除,用edits.new文件替换,前面之所以先不删除edits文件是因为当SecondNameNode更新失败时,可以再次用到。

时间: 2024-10-12 22:59:03

HDFS基本原理(Hadoop1.0)的相关文章

大话Hadoop1.0、Hadoop2.0与Yarn平台

2016年12月14日21:37:29 Author:张明阳 博文链接:http://blog.csdn.net/a2011480169/article/details/53647012 近来这几天一直在忙于Hbase的实验,也没有太静下心来沉淀自己,今天打算写一篇关于Hadoop1.0.Hadoop2.0与Yarn的博文,从整体上把握三者之间的联系,博客内容如有问题,欢迎留言指正!OK,进入本文正题-- 在开始接触Hadoop的时候,也许大家对于Hadoop是下面的一个概念:Hadoop由两部

hadoop1.0安装部署

一.需求 公司线上运行有hadoop1.0和hadoop2.0,由于hadoop1.0没有处理jobtracker失败机制,它是一个单点故障,但业务还是以1.0为主,会慢慢过渡到2.0.以下我将以公司目前环境把写1.0部署步聚写出来 二.知识点储备 1.hadoop中NameNode.DataNode.Secondary.NameNode.JobTracker TaskTracker介绍 http://zouqingyun.blog.51cto.com/782246/1656353 2.Hado

编译hadoop eclipse的插件(hadoop1.0)

原创文章,转载请注明: 转载自工学1号馆 欢迎关注我的个人博客:www.wuyudong.com, 更多云计算与大数据的精彩文章 在hadoop-1.0中,不像0.20.2版本,有现成的eclipse-plugin源码包,而是在HADOOP_HOME/src/contrib/eclipse-plugin目录下放置了eclipse插件的源码,这篇文章 ,我想详细记录一下自己是如何编译此源码生成适用于Hadoop1.0的eclipse插件 1.安装环境 操作系统:Ubuntu14.4软件:eclip

Hadoop-1.0.4集群搭建笔记

这篇文章介绍的是简单的配置Hadoop集群的方法,适合实验和小型项目用,正式运行的集群需要用更正规的方法和更详细的参数配置,不适合使用这篇文章. 安装 JDK 在终端输入 $ java -version 如果有反应,说明已安装过jdk.如果显示的信息里出现了类似OpenJDK的字样,如 java version "1.6.0_20" OpenJDK Runtime Environment (IcedTea6 1.9.2) (6b20-1.9.2-0ubuntu1~10.04.1) Op

Hadoop1.0.0学习笔记

Hadoop1.0.0学习笔记 一.  安装JDK,配置环境JAVA环境变量 exportJAVA_HOME=/home/ligang/jdk1.6.0_26 exportJRE_HOME=/home/ligang/jdk1.6.0_26/jre exportCLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH 二.  安装Hadoop-1.0.0 1.     下载hadoop文件,地址为:http://hadoop.apache.org/co

hadoop1.0.3学习笔记

回 到 目 录 最近要从网上抓取数据下来,然后hadoop来做存储和分析.每晚尽量更新 呆毛王赛高 月子酱赛高 小唯酱赛高 目录 安装hadoop1.0.3 HDFS wordcount mapreduce去重 mapreduce算平均分 mapreduce排序 安装hadoop1.0.3 1 ubuntu中安装hadoop 1.0.3 2 ------------伪分布式安装------------- 3 1.安装ssh 4 sudo apt-get install openssh-serve

Hadoop-1.0.4 安装配置

Hadoop-1.0.4 安装配置 一.           安装VMware 本人使用的是11.1.2 build-2780323版本 不详细讲述. 二.           在VMware上安装ubuntu 本人使用的是ubuntu 14.10 (为了后续步骤的说明,本人在安装时的用户名.密码均定为hadoop) 开启虚拟机后,调整时间区域,调整系统语言(可选) 三.           克隆虚拟机 关掉虚拟机,在VMware中将安装好的ubuntu克隆出来,这里克隆出了两个当做slave.

Hadoop1.0.4+Hbase0.94+zookeeper3.4.5+phoenix3.1.0配

1.       JDK安装 JDK解压配置环境变量 vi /etc/profile 2.       每台机器相关设置 1.设置静态ip(便于机器之间的通信,防止路由器电脑重启后,ip变化,导致不能通信) vim /etc/sysconfig/network-scripts/ifcfg-eth0 3.       修改各节点主机名(每台机器都要设) Etc/hosts 3.关闭防火墙 关闭已经启动的防火墙: service iptables stop (只能关闭当前) 验证:service i

centOS6.5 Hadoop1.0.4安装

前段时间去培训,按照教程装了一遍Hadoop.回来又重新装一次,捋下思路,加深理解. 基本配置如下,三个节点,一个namenode,两个datanode. Namenode 192.168.59.144 Datanode1 192.168.59.145 Datanode2 192.168.59.146 在虚拟机上做实验,暂且就使用nat和dhcp吧. (一)把网卡设置成开机自启动: # vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=et

window下Eclipse配置联调hadoop1.0.3集群

前序:因在widow下用Eclipse联调hadoop2.2.0运行程序没有成功,网上暂时解决办法不多,就折中了下,连接hadoop1.0.3伪分布式 一.用到的环境和工具 1.Eclipse采用的是indio版本,这个可以用官网下载 2.Eclipse hadoop插件:hadoop-eclipse-plugin-1.0.3.jar, 下载地址:http://download.csdn.net/detail/lifuxiangcaohui/7963261 二.安装hadoop1.0.3伪分布式