1)NameNode、DataNode和Client
NameNode可以看作是分布式文件系统中的管理者,主要负责管理文件系统的命名空间、集群配置信息和存储块的复制等。NameNode会将文件系统的Meta-data存储在内存中,这些信息主要包括了文件信息、每一个文件对应的文件块的信息和每一个文件块在DataNode的信息等。
DataNode是文件存储的基本单元,它将Block存储在本地文件系统中,保存了Block的Meta-data,同时周期性地将所有存在的Block信息发送给NameNode。
Client就是需要获取分布式文件系统文件的应用程序。
2)文件写入
Client向NameNode发起文件写入的请求。
NameNode根据文件大小和文件块配置情况,返回给Client它所管理部分DataNode的信息。
Client将文件划分为多个Block,根据DataNode的地址信息,按顺序写入到每一个DataNode块中。
3)文件读取
Client向NameNode发起文件读取的请求。
NameNode返回文件存储的DataNode的信息。
Client读取文件信息。
----------------------------------------------------------------------------------------------------------------------------------------------------------------
通信方式介绍:
在hadoop系统中,master/slaves/client的对应关系是:
master---namenode;
slaves---datanode;
client---dfsclient;
那究竟是通过什么样的方式进行通信的呢,在这里从大体介绍一下:
简单地讲:
client和namenode之间是通过rpc通信;
datanode和namenode之间是通过rpc通信;
client和datanode之间是通过简单的socket通信。
随便拔一下DFSClient的代码,可以看到它有一个成员变量public final ClientProtocolnamenode;
而再拔一下DataNode的代码,可以看到它也有一个成员变量public DatanodeProtocolnamenode
- 浏览: 370350 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (292)
- jbpm3.2 (4)
- hibernate (1)
- struts (2)
- spring (7)
- oracle (20)
- TCP/UDP (3)
- SpringSide (4)
- maven (4)
- eclipse插件 (11)
- 模板引擎 (2)
- javascript (4)
- 设计模式 (2)
- 工作中遇到异常及解决 (3)
- java文件编译问题 (1)
- ehcache应用 (1)
- java反射 (1)
- jbpm4 (1)
- Google-Gson (1)
- Jquery (6)
- XML (5)
- 工作记事 (2)
- flash builder 4 (1)
- Lucene (8)
- struts2 (1)
- AspectJ (1)
- spring proxool连接池配置 (1)
- StringUtils (1)
- spring security (5)
- JAVA点滴 (9)
- jbpm4.3 (1)
- ACL (0)
- 线程 (7)
- Java线程:新特征-线程池 (1)
- MemCache (5)
- compass (0)
- NIO (2)
- zookeeper (4)
- 并发 (2)
- redis (9)
- Nginx (5)
- jvm (1)
- 互联网 (24)
- shell (3)
- CAS (1)
- storm (4)
- 数据结构 (3)
- MYSQL (3)
- fsdfsdfsd (0)
- hadoop (19)
- hive (3)
- IntelliJ (3)
- python (3)
- 23423 (0)
- spark (7)
- netty (9)
- nmon (1)
- hbase (8)
- cassandra (28)
- kafka (2)
- haproxy (3)
- nodejs (3)
- ftp (1)
最新评论
-
记忆无泪:
遇到这个问题我用的sed -i 's/\r$//' /mnt/ ...
CentOS6 Shell脚本/bin/bash^M: bad interpreter错误解决方法 -
alenstudent:
Windows 下Nexus搭建Maven私服 -
dandongsoft:
lucene3+IK分词器 改造 lucene2.x+paoding -
duanyanrui:
学习了,支持
Google-Gson -
yscyfy:
这是你直接翻译过来的???
Google-Gson
发表评论
-
Namenode HA原理详解(脑裂)
2017-05-09 10:46 616Namenode HA原理详解 社区hadoop2.2 ... -
为Hadoop集群选择合适的硬件配置
2017-05-08 12:59 419随着Apache Hadoop的起步 ... -
Hadoop2.6.0 + zookeeper集群环境搭建
2017-05-05 15:05 502前提:已安装好centos6.5操作系统 ... -
ZKFailoverController( zkfc)介绍
2017-05-05 14:54 7951.基本原理 zk的基本特性:(1) 可靠存储小量数据且提 ... -
HDFS的运行原理
2016-03-15 15:12 425简介 HDFS(Hadoop Distribu ... -
Hadoop MapReduce开发最佳实践
2016-02-25 11:21 448MapRuduce开发对于大多数程序员都会觉得略显复杂,运行 ... -
Hadoop管理员的十个最佳实践
2016-02-25 11:20 394前言 接触Hadoop有两年的时间了,期间遇到很多的问题, ... -
hadoop参数配置优化
2016-02-25 10:32 931hadoop.tmp.dir默认值: /t ... -
MapReduce:Job性能调优总结
2016-01-27 12:35 316Benchmark: 对1G数据做wordcount 部分内 ... -
MapReduce:详解Shuffle过程
2016-01-27 09:30 348Shuffle过程是MapReduce的 ... -
Hadoop Job Tuning
2016-01-11 17:55 374Hadoop平台已经成为了大多数公司的分布式数据处理平台,随 ... -
hadoop 学习笔记:mapreduce框架详解
2016-01-08 10:51 588开始聊mapreduce,mapreduce是hadoop ... -
MapReduce: 提高MapReduce性能的七点建议[译]
2015-11-06 16:06 524Cloudera提供给客户的 ... -
Hadoop 2.x的DistributedCache无法工作的问题
2015-11-04 09:24 886现象:和这个帖子描述的一样,简单说来就是,在Hadoop ... -
浅析Mapper类之setup()和cleanup()方法
2015-11-04 09:23 881hadoop中的MapReduce框架里已经预定义了相关的接 ... -
hadoop入门--简单的MapReduce案例
2015-09-08 19:00 1214分析MapReduce执行过程 MapReduce ... -
hadoop,hive启用lzo压缩和创建lzo索引
2015-09-01 15:52 2123启用lzo压缩对于小规模集群还是很有用的,压缩比率大概能达到 ... -
JD大数据平台学习
2015-08-05 13:15 0FDM模型的使用说明 ... -
hadoop集群搭建
2015-07-31 13:52 432第一步:准备2台虚拟 ...
相关推荐
在Hadoop中,客户端(Client)负责提交任务、读写数据,而服务器端则包括NameNode、DataNode和TaskTracker等组件,它们处理客户端请求,管理数据存储和任务调度。 二、HDFS通信 1. 客户端与NameNode交互: 当...
值得注意的是,Hadoop 0.20.2及0.19版本中,客户端与DataNode的通信协议是基于socket的,而0.23及以后的版本中,协议有所改变,采用了protobuf作为序列化方式,这使得数据交换更加高效和简洁。 总结来说,Hadoop...
在HDFS中,文件的读写操作都是通过Client与NameNode和DataNode的交互来实现的。 HDFS的应用场景非常广泛,例如数据分析、日志处理、数据挖掘等。然而,HDFS不适合做网盘应用,也不支持文件的修改。 HDFS的高可用...
3. **Sqoop/Hadoop集成及应用开发**:Sqoop是一个用于在Hadoop和关系型数据库之间传输数据的工具。结合使用可以更加方便地进行数据迁移和处理。 4. **Hbase/Hadoop集成及应用开发**:HBase是一个构建在Hadoop之上的...
DataNode是Hadoop分布式文件系统HDFS(Hadoop Distributed File System)的核心组件之一,负责存储和管理数据块。下面是DataNode的职责和相关知识点: 一、 DataNode的职责 DataNode的主要职责是存储和管理数据块...
HDFS的架构可以分为三个部分: Namenode、Datanode和Client。Namenode是HDFS的中心节点,负责管理文件系统的元数据,Datanode是HDFS的数据节点,负责存储文件数据,而Client是用户与HDFS交互的接口。 Hadoop的另一...
021 Hadoop 五大服务与配置文件中的对应关系 022 分析Hadoop 三种启动停止方式的Shell 脚本 023 去除警告【Warning$HADOOP HOME is deprecated。】 024 Hadoop相关命令中的【–config configdir】作用 025 Hadoop ...
HDFS配置hdfs-site.xml则涉及NameNode和DataNode的相关参数,如副本数量和数据存储路径: ```xml <name>dfs.replication <value>3 <name>dfs.namenode.name.dir <value>/app/hadoop/data/nn <name>...
首先,Hdfs工作原理中主要关键词包括NameNode、SecondaryNameNode和DataNode。NameNode是整个Hdfs集群的管理中心,负责管理其他的DataNode节点,记录各个块的信息。SecondaryNameNode可以帮助NameNode完成fsimage和...
NameNode是HDFS的主节点,负责管理文件系统的命名空间(元数据),包括文件名、文件的块列表以及块与DataNode之间的映射关系。DataNode是工作节点,存储实际的数据块,并根据NameNode的指令执行数据的读写操作。 在...
NameNode和DataNode之间、客户端与NameNode之间都通过RPC进行通信。这些RPC调用涉及到各种操作,如文件的打开、关闭、重命名等。 #### 二、HDFS源码的理解和分析 ##### 2.1 集群系统工作状态 HDFS集群的正常运行...
hadoop-hdfs专注于实现HDFS,包括数据节点(DataNode)、名称节点(NameNode)以及客户端接口等。hadoop-mapreduce负责MapReduce的实现,包括作业调度、任务执行和资源管理。 在源码包中,开发者可以查看到Hadoop的...
Hadoop是一款开源的大数据处理框架,由Apache基金会开发,它主要设计用于分布式存储和处理海量数据。这个"hadop jar包.rar"文件很显然是包含了运行Hadoop相关程序所需的jar包集合,用户解压后可以直接使用,省去了...
HDFS 由三部分组成:NameNode、DataNode 和 Client。 * NameNode:负责管理文件系统的命名空间、集群配置信息和存储块的复制。 * DataNode:文件存储的基本单元,存储文件块在本地文件系统中,并周期性地发送报告给...
- **知识点说明**:如果DataNode的日志中报告不兼容的文件版本,通常意味着NameNode和DataNode之间存在版本不匹配。在这种情况下,重新格式化NameNode可能是一种解决方案,但这通常会导致数据丢失,因此在实际操作...
Hadoop 测试题 Hadoop 测试题主要涵盖了 Hadoop ...33. DataNode 首次加入 cluster 的时候,如果 log 中报告不兼容文件版本,那需要 NameNode 执行“Hadoop namenode -format”操作格式化磁盘。因此,正确答案是 √。
Hadoop的主要任务部署在三个部分:Client机器、主节点(NameNode和JobTracker)和从节点(DataNode)。主节点负责监督Hadoop的关键功能模块HDFS(Hadoop分布式文件系统)和MapReduce。HDFS的NameNode负责监控和调度...
例如,你可以深入到HDFS的源码中,了解NameNode如何维护文件系统的元数据,DataNode如何存储和传输数据块,以及如何通过BlockPlacementPolicy处理数据冗余和容错。 对于MapReduce部分,你可以看到JobTracker和...
综上所述,HDFS和MapReduce共同构成了Hadoop的核心组件,它们之间相互协作,为大数据处理提供了强大的支持。HDFS为大规模数据提供了可靠的存储服务,而MapReduce则提供了高效的数据处理能力。两者结合,使得Hadoop...