摘要: 一、读流程 1.客户端发起RPC读请求到NameNode 2.NameNode收到请求之后,校验这个文件是否存在,如果存在,不需要进行读权限校验,因为在hadoop的管理界面上 Permission 为: -rw-r--r--,都有读权限 而后,会将这个文件所对应的Block的存储地址放到一个队列( 阅读全文
posted @ 2020-06-22 13:41 alen-fly 阅读(204) 评论(0) 推荐(0) 编辑
摘要: dfs目录位置由core-site.xml文件中 hadoop.tmp.dir 属性决定 :hadoop.tmp.dir属性对应值/dfs 1.dfs目录是在NameNode被格式化的时候产生的 格式化:首先在停止hadoop之后,删除 hadoop.tmp.dir 属性对应值目录下的所有文件后,执 阅读全文
posted @ 2020-06-22 12:11 alen-fly 阅读(2027) 评论(0) 推荐(0) 编辑
摘要: 一、概述 1.HDFS 是用于进行分布式存储的组件 2.根据Google的论文设计实现的 HDFS 特点: (1)好处 1.能够存储超大文件 - 切块block 2.快速的应对和检测故障 - NameNode和DataNode之间的心跳检测 3.保证数据的高可用 - 副本备份 4.简易的一致性模型 阅读全文
posted @ 2020-06-22 11:08 alen-fly 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 一、概述 1.Hadoop 是 Apache提供的开源的、可靠的、可扩展的,用于分布式计算的框架 2.Hadoop 除了官网提供的发行版本以外,各大厂商也提供了发行版:Cloudera的CDH、华为的HDP 二、发展 1.创始人:Doug Cutting和Mike Cafarella 2.在2002 阅读全文
posted @ 2020-06-21 12:07 alen-fly 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 一、概述 1.特点:不参与投票也不选举,但是会监听投票结果,然后根据投票结果来执行对应请求 场景:三个机房,杭州,青岛,美国,杭州有7001个 zk 服务节点,青岛有4000个 zk 服务节点,美国有4000 zk 服务节点 问题:选举节点个数过多,网络对选举的效率影响较大 选举A作为leader的 阅读全文
posted @ 2020-06-20 12:43 alen-fly 阅读(352) 评论(0) 推荐(0) 编辑
摘要: 一、概述 1.ZAB(Zookeeper Atomic Broadcast) 是专门为Zookeeper设计的一套广播协议 2.这个协议底层基于2PC算法进行设计,利用PAXOS算法进行改进 3.作用:原子广播和崩溃恢复 二、原子广播 1.原子广播主要保证Zookeeper集群中的所有节点的数据一致 阅读全文
posted @ 2020-06-20 12:07 alen-fly 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 选举机制 1.过程 (1)第一阶段:数据恢复阶段。每一个节点(服务器)会寻找当前节点中的最大事务id (2)第二阶段:选举阶段。刚开始的时候,Zookeeper集群中的每一个节点都会推荐自己当leader,同时每一个节点会把自己节点的选举信息发送给其他的节点,经过比较之后,最后胜出的节点成为lead 阅读全文
posted @ 2020-06-19 15:17 alen-fly 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 一、概述 1.Zookeeper 是 Apache 提供的一套开源的、分布式的用于进行资源管理和服务协调的框架 2.Zookeeper 是根据 Google 关于 Chubby Lock 的论文来设计实现的 二、分布式下的问题 1.需要设置管理节点:对外接收请求来提供统一对集群中的节点进行操作 2. 阅读全文
posted @ 2020-06-15 14:24 alen-fly 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 一、概述 对于流式数据处理,最大的特点是数据上具有时间的属性特征,Flink 根据时间产生的 位置不同,将时间区分为三种语义,分别为事件生产时间(Event Time)、事件接入时间 (Ingestion Time)和事件处理时间(Processing Time) ※ Event Time:事件产生 阅读全文
posted @ 2020-06-10 11:08 alen-fly 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 一、概述 1.Lock是JDK1.5提供的一个接口;有效的降低死锁的几率,Lock相对于synchronize而言更加灵活 synchronized 问题:容易产生死锁;锁对象不容易找寻确定;不能在方法A中加锁,方法B中解锁 同步代码块问题:容易产生死锁 synchronized(){ } 同步方法 阅读全文
posted @ 2020-06-09 15:40 alen-fly 阅读(162) 评论(0) 推荐(0) 编辑