hadoop 初探之第二篇(杂谈)
NameNode:名称节点,主要功能在于实现保存文件元数据,这些元数据直接保存在内存中,为了保证元数据的持久性,而也会周期性的同步到磁盘上去。磁盘上的数据通常被称为元数据的映像数据 image file
以防万一,如果服务或机器崩溃了,它会基于Image File以及各个DateNode的报告信息重新生成元数据。
·Secondary NameNode:第二名称节点,NameNode在早期只有一个,后来提供了第二个名称节点Secondry NameNode ,万一主节点崩溃,secondary无非是将image file整合到本地实现快速启动节点而已,同时也能够对Namenode节点映像文件合并的功能,平时不提供任何节点的服务。
·HDFS DataNode:所有大数据都保存在数据节点上,我们称为DataNode
HDFS不支持FUSE挂载到本地,所以支持基于HDFS的AIP(HadoopAPI)来进行访问,因此必须自己去研发专用的命令行工具。
服务是如何在HDFS中写数据:
(1) 当我们创建一个数据时候,需要先向NameNode发起请求;
(2)NameNode收到请求之后,会告知HDFSDataNode,说明需要分别存储至什么位置,当报告返回回来之后,HDFS Client将对其发起写操作请求;
(3)NameNode会为HDFS Client会分配一个DataNode数据节点;
(4)数据节点可能是多个,但HDFS Client却无知这一点,只需要向其一节点发起写操作即可;
(5)第一个数据节点datanode 接到请求之后,自行将数据复制到其它节点
(#一个数据块 报文为64k 于是其按报文逐一开始存放)
(为了保证数据可用性以及降低集群的成本,hadoop是工作在商用计算机硬件(说白了就是服务器或专业级存储),而且服务器不需要做RAID,它会在磁盘上自行存储多个副本,而且是在不同主机上)
(6)每个数据块存储结束之后,数据节点DataNode都要向Namenode报告存储完毕,接着存放下一个数据块然后报告。。。以此类推;
(7)一旦所有数据都存储完成,NameNode会保存一个列表,记录着数据的副本保存在哪个数据节点上。
如何在HDFS中读取数据:
比如文件file1 分别存储在 D1 D2 D3 上,所以一旦有请求读取数据时,那么3个节点都有数据,那么该找谁去读取呢?如上图所示:
当 客户端要请求访问某个数据块的时候,一个数据块可能在多个节点都有,那么所以这时候名称节点NameNode会告知它第一个块或文件 分别存储在D1 D2 D3 这么3个节点上,那么我们的客户端将会去第一个节点datanode1上去取数据,datanode1接到请求,将数据返回给客户端,假如中途出现中断的 情况,那么客户端则去找datanode2,datanode2接到请求后如果有数据那么则将数据返回给用户
其实用户请求的为列表,告知的节点上都存在同样的数据;
如果用户请求存放某大文件,那么会被分割为报文,以报文形式存储到datanode 再由datanode相互复制 从而达到并行存储;
同样,也可以并行去读取文件,如果某台数据节点出现问题,那么肯定会导致数据不统一,所以每个datanode每隔3秒钟会向namenode报告自己的心跳信息、所持有的数据块的列表,如果超过阀值则将移除可用列表
在向namenode报告时候为了避免报告出错,还要检验一次数据块是否有问题,如果没有问题则报告,如果namenode没有接到其报告信息,则认为这个数据块缺少副本,并找将报告的完整副本完全复制到其故障节点上
hadoop 初探之第二篇(杂谈)的更多相关文章
- Hadoop环境搭建|第二篇:hadoop环境搭建
硬件配置:1台NameNode节点.2台DataNode节点 一.Linux环境配置 这里我只配置NameNode节点,DataNode节点的操作相同. 1.1.修改主机名 命令:vi /etc/sy ...
- Hadoop初探
本文转自:https://blog.csdn.net/column/details/14334.html 前言 Hadoop是什么? 用百科上的话说:“Hadoop是一个由Apache基金会所开发的分 ...
- 跟我学SpringCloud | 第二篇:注册中心Eureka
Eureka是Netflix开源的一款提供服务注册和发现的产品,它提供了完整的Service Registry和Service Discovery实现.也是springcloud体系中最重要最核心的组 ...
- EnjoyingSoft之Mule ESB开发教程第二篇:Mule ESB基本概念
目录 1. 使用Anypoint Studio开发 2. Mule ESB Application Structure - Mule ESB应用程序结构 3. Mule ESB Application ...
- [ 高并发]Java高并发编程系列第二篇--线程同步
高并发,听起来高大上的一个词汇,在身处于互联网潮的社会大趋势下,高并发赋予了更多的传奇色彩.首先,我们可以看到很多招聘中,会提到有高并发项目者优先.高并发,意味着,你的前雇主,有很大的业务层面的需求, ...
- 从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)
从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...
- (转)从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)
原文地址: http://www.cnblogs.com/lyhabc/p/4682028.html 这一篇是从0开始搭建SQL Server AlwaysOn 的第二篇,主要讲述如何搭建故障转移集 ...
- 深入理解javascript对象系列第二篇——属性操作
× 目录 [1]查询 [2]设置 [3]删除[4]继承 前面的话 对于对象来说,属性操作是绕不开的话题.类似于“增删改查”的基本操作,属性操作分为属性查询.属性设置.属性删除,还包括属性继承.本文是对 ...
- 前端工程师技能之photoshop巧用系列第二篇——测量篇
× 目录 [1]测量信息 [2]实战 [3]注意事项 前面的话 前端工程师使用photoshop进行的大量工作实际上是测量.本文是photoshop巧用系列第二篇——测量篇 测量信息 在网页制作中需要 ...
随机推荐
- P1022 计算器的改良
P1022 计算器的改良 题目背景 NCL 是一家专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委托的一个任务:需要在该公司某型号的计算器上加上解一元一次方程的功能.实验室将这个任务交给 ...
- Java操作Kafka执行不成功的解决方法,Kafka Broker Advertised.Listeners属性的设置
创建Spring Boot项目继承Kafka,向Kafka发送消息始终不成功.具体项目配置如下: <?xml version="1.0" encoding="UTF ...
- Hi3518 网络监控SOC芯片规格参数
Hi3518 网络监控SOC芯片 视频编解码 处理器内核 ● ARM926@ 440MHz,16KB I-Cache ,16KB D-Cache 视频编码 ● H.264 Main Pro ...
- 两步建立 ssh 反向隧道
因为需要在寝室访问实验室的内部网络,刚好自己购买了阿里云,因此,可以远端干活了,mark下方法: 第一步:在内网的服务器上,使用ssh 命令建立反向隧道 publicUserName@publicIp ...
- Android的音频解码原来是直接调用的本地C方法直接通过硬件解码
Android就是披着JAVA外衣的C啊~音频解码原来是直接调用的本地C方法直接通过硬件解码的,JAVA和C的字节数组存放模式不同(java是大端,C根据不同平台不同),不同格式需要转化以后才能用. ...
- spring-boot RestTemplate 连接池
以前我们项目都是基于Apache HttpClient 连接池进行web 接口调用,后来用spring-boot, 发现 RestTemplate 挺好用. 简单介绍下: 什么是RestTemplat ...
- R5—字符串处理/正则表达式
R通常被用来进行数值计算比较多,字符串处理相对较少,而且关于字符串的函数也不多,用得多的就是substr.strsplit.paste.regexpr这几个了.实际上R关于字符串处理的功能是非常强大的 ...
- 20155212 2016-2017-2《Java程序设计》课程总结
每周博客 每周作业链接汇总 预备作业一:专业理解.未来展望.期望的师生关系. 预备作业二:HOMEWORK-2 预备作业三:HOMEWORK-3 第一周作业:学习教材Chapter 1 Java平台概 ...
- #error#优化#Model#理解下面这句话错误所导致的错误:"传入一个对象,那么你就拥有了对象的属性"2
CHENYILONG Blog #error#优化#Model#理解下面这句话错误所导致的错误:"传入一个对象,那么你就拥有了对象的属性"2 © chenyilong. Power ...
- HDU 1251 统计难题 (裸的字典树)
题目链接 Problem Description Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本 ...