![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
hadoop专栏
清晨译码
编程学习交流,期待与你成为朋友
展开
-
MR1.0的工作流程
MapReduce1的工作机制中,角色主要包括客户端, Jobtracker,Tasktracker Jobtracker主要是协调作业的运行;而Tasktracker是负责运行作业划分之后的任务。 流程图如下: 1) hdfs客户端向jobtracker请求作业,jobtracker查找作业的输出路径是否存在,如果存在,则报异常,否则,则jobtracker向客户端返回job的提交路径和jobID; 2) 客户端向共享文件系统提交job所需资源,并通知jobtracker输入数据已经放入共享文件系统,准原创 2020-10-29 14:38:05 · 323 阅读 · 0 评论 -
当向hdfs写数据的过程中,当写某一副本时出错如何处理?
具体流程: 1)关闭管道; 2)将已发送至管道,但是未经确认的数据重写回数据队列; 3)从namenode中获取对应租约的最新更新时间,将该时间作为版本号,将正常运行的datanode的版本号更新,等出故障的节点恢复后,由于版本号不对,将会被删除; 4)从正常datanode节点中选出一个主datanode节点,并与其他正常运行的datanode界定啊通信,获取当前文件在每个datanode中的数据块大小,并从所有数据块中选择最小的一块,将对应文件同步到每个datanode节点, 5)FSFileOutp.原创 2020-10-29 14:35:11 · 455 阅读 · 0 评论 -
namenode的ha实现
1)状态为active状态的namenode向共享文件系统journalnode写入编辑文件日志,状态为standby的namenode从共享文件系统读取编辑日志,保持与active节点的同步; 2)每个datanode节点会向所有的namenode节点报告自身的信息和状态; 3)zkfc作为一个轻量级故障转移控制器,基于zookeeper实现的机制,由namenode运行的独立线程,在启动zkfc时,他会注册healthmonitor和activestandbyelector服务组件,同时会向注册的服务.原创 2020-10-29 14:23:54 · 672 阅读 · 0 评论 -
简述联邦hdfs
联邦hdfs是对namenode的水平扩展,将hdfs的namespace分为若干个区域,每个namenode管理一块区域,所有的datanode作为存储区域,向每个namenode注册datanode,并向每个namenode周期性的根据心跳机制汇报数据块信息与状态。 参考链接:https://cloud.tencent.com/developer/article/1349468 ...转载 2020-10-29 14:20:39 · 191 阅读 · 0 评论 -
hdfs读过程
具体流程如下: 1)hdfs客户端初始化FileSystem,并调用FileSystem的open方法, 2)客户端的FileSystem通过hdaoop内置的rpc,获取文件的block所分布数据节点的信息; 3)FileSystem返回FSDataInputStream对象给hdfs客户端,客户端调用 FSDataInputStream的read方法读取数据; 4)FSDataInputStream读取当前文件所在的最近Datanode的数据,读取到客户端, 5)当前数据块读取完毕后,FSDataIn.原创 2020-10-29 14:17:31 · 1175 阅读 · 0 评论 -
hdfs写过程
具体流程如下: 1)hdfs的client创建distributedFilesystem,FSDataOutputStream对象, 2)FSDataOutputStream通过hdfs内置的rpc向namenode发送创建新的文件目录entry的请求,namenode创建entry文件目录; 3)hdfs客户端向将数据写入FSDataOutputStream的成员变量buffer中,在buffer中分解成多个packet报存储, 4)FSDataOutputStream通过hdfs内置的http协议,将.原创 2020-10-29 13:47:18 · 136 阅读 · 0 评论 -
HDFS在clientProtocol中出现的基本概念的抽象
相关的基本抽象概念分为两部分:数据块相关,datanode相关 5.1 数据块相关 1)block:数据块在hdfs中抽象为block, block的成员变量主要包括: blockID:数据块唯一标识 numbytes:数据块大小 generationStamp:数据块版本号 没修改一次数据块,它的版本号都会改变,当拥有相同的blockID,不同的版本号的两个数据块,其中有一个需要删除。 数据块的命名为:blk_blockID 2)locatedBlock:已经确定了存储位置的数据块,成员变量包括: blo原创 2020-10-29 12:50:40 · 325 阅读 · 0 评论 -
hdfs的安全模式
1)什么是hdfs的安全模式 Hdfs进入安全模式之后,客户端只能对hdfs的文件进行读操作,不能进行修改,删除,移动,重命名等操作。 2)什么条件下hdfs会进入安全模式 第一,在hdfs集群启动的时候进入安全模式; 第二,手动进入安全模式 启动刚刚进行过格式化的hdfs集群时,不会进入安全模式,因为还没有数据块 3)hdfs进入安全模式之后会做些什么 第一,namenode合并fsimage和editlog文件,启动namenode节点后,会读取fsimage文件到内存,并执行editlog文件的操作,原创 2020-10-29 12:45:03 · 1355 阅读 · 0 评论 -
fsimage和editlog的合并过程
Fsimage是hdfs文件的检查点,也可以理解为整个hdfs在某一时刻的快照,就是这个时刻的hdfs上所有的文件块和目录,分别的状态,位于哪些个datanode,各自的权限,各自的副本个数等序列化信息。在namenode启动后,会将对hdfs节点的操作(写操作更新,删除等)记录在editlog,secondarynamenode负责周期性的将fsimage合editlog合并(可以设置周期或者定时任务合并),具体合并的步骤如下: 将对hdfs的操作写入一个新创建的editlog.new文件, 将旧的ed原创 2020-10-29 12:15:47 · 924 阅读 · 0 评论 -
HDFS中的接口类型
HDFS中的接口主要包括三种类型: 客户端相关接口:ClientProtocol(客户端与名字节点)、ClientDataNodeProtocol(客户端与数据节点之间) 服务器端相关接口:DataNodeprotocol(数节点与名字节点)、IntelDataNodeProtocol(数据节点之间)、NameNodeProtocol(名字节点与第二名字节点) 安全相关接口: HDFS不同角色之间的通信方式有三种:RPC、http、socket ...原创 2020-10-29 11:28:38 · 1389 阅读 · 1 评论