03 2020 档案
摘要:Java容器 Java中容器类可以分为两大类:Collection与Map。 Collection:存储对象的集合; Map:存储键值对。 Collection Set TreeSet HashSet LinkedHashSet List ArrayList ArrayList源码 Vector `
阅读全文
摘要:HDFS的热备份 其实现原理就是在联邦HDFS下,每两个NameNode形成一组。这组NameNode一个状态为Active一个状态为StandBy,通过ZooKeeper进行管理。 Active和StandBy之间可以进行通信。当其中Active的NameNode出故障的时候。会通过ssh或者sh
阅读全文
摘要:联邦Hadoop 是NameNode的水平拓展方案。该方案允许HDFS创建多个NameSpece(两个为一对)以提高集群的拓展性和隔离性,联邦HDFS允许每个NameNode管理文件系统命名空间的一部分。每个NameNode维护一个命名空间,不同NameNode之间的命名空间相互独立。数据块池不再切
阅读全文
摘要:HDFS如何保护高可用 1. NameNode 通过JournalNode和DFSZKFailoverController实现。 JournalNode负责主从数据一致; ZKFC负责主从的Failover(通过ssh或shell实现防止脑裂). 2. JournalNode 自生也是分布式的,因为
阅读全文
摘要:HDFS的读流程 1. 客户端首先通过在FileSystem上调用open()方法打开它想要打开的文件,对于HDFS来说,就是在DistributedFileSystem的实例上调用。 2. 之后DistributedFileSystem就与NameNode进行RPC通信,查明组成文件的前几个块的位
阅读全文
摘要:HDFS的写流程 1. 首先客户端通过DistributedFileSystem上调用create()方法来创建一个文件。 2. DistributedFileSystem使用RPC呼叫NameNode,让NameNode在NameSpace上创建一个没有与任何关联的新文件,并确认客户端是否拥有创建
阅读全文
摘要:HDFS中的block、packet、chunk Block HDFS中的文件在物理上是分块存储的,即分成Block; block在Hadoop不同版本大小不同: Hadoop1.x:64M Hadoop2.x:128M "HDFS块从64M升级后改为128M的原因" Packet Packet是C
阅读全文
摘要:元数据冷备份 冷备份的起因: 总而言之,原因为: 避免NameNode中的元数据丢失; 尽可能保障NameNode的启动速度。 前言: 时间达到你在配置文件中配置的时间(eg:6h); edits.log已经达到的配置文件中配置的指定大小(eg:64M)。 1. SecondaryNameNode通
阅读全文
摘要:服务提供者在初始化启动时,会在Zookeeper下的Dubbo节点下的服务节点下的providers节点下的节点创建一个子节点并写入URL,路径类似为 /dubbo/servicename/providers/ ,该路径下的所有子节点均为服务提供者。 此时这些子节点都为临时节点,因为临时节点的生命周
阅读全文
摘要:Dubbo 架构 节点角色说明 1. Provider:暴露服务的服务提供方 2. Consummer:调用远程服务的服务消费方 3. Registry:服务注册与发现的注册中心 4. Monitor:统计服务调用次数和调用时间的监控中心 5. Container:服务运行容器 调用关系说明 1.
阅读全文
摘要:Paxos、Raft分布式一致性算法应用场景一文讲述了分布式一致性问题与分布式一致性算法的典型应用场景。作为分布式一致性代名词的Paxos算法号称是最难理解的算法。本文试图用通俗易懂的语言讲述Paxos算法。一、Paxos算法背景Paxos算法是Lamport宗师提出的一种基于消息传递的分布式一致性
阅读全文
摘要:ZooKeeper之选举(fastleaderelection算法) 每个节点除了zxid,还会有一个myyid(在部署ZooKeeper的时候自己创建并编写任意不相同的数字) 1. 启动选举 2. 运行时选举 外部投票:其他服务器发来的投票 内部投票:服务器自身的投票 选举轮次:leader周期,
阅读全文
摘要:ZAB协议 Zookeeper的核心是原子广播,这个机制 保证了server之间的同步 。实现这个机制的协议叫做Zab协议。Zab协议有两种模式,分别是恢复模式和广播模式。当服务启动或者在领导者崩溃后,Zab就进入恢复模式。当领导者被选举出来,且大多数server的完成了和leader的状态同步之后
阅读全文
摘要:三阶段提交 三阶段提交在协调者和参与者中引入超时机制,并且把两阶段提交的第一阶段拆分为两步:询问,然后锁住资源,最后真正提交。 阶段一:CanCommit 1. 协调者向参与者发送commit请求,参与者如果可以提交就返回Yes响应,否则返回No响应。(如何判断是否可以提交不同的算法有不同的机制,但
阅读全文
摘要:两阶段提交 2PC:在分布式系统中,每一个机器节点虽然能够明确的知道自己在进行事物操作过程的结果是失败或成功,但却无法直接获取其他分布式节点的操作结果,因此事物操作需要跨越多个分布式节点的时候,需要引入一个协调者统一调度所有节点的执行逻辑。 阶段一:提交事物请求 1. 事物询问 2. 执行事物 3.
阅读全文
摘要:通过查询缓存实现(适合用于更新操作不多的数据表,在MySql高版本中查询缓存已经被删除了) 使用命令优化 1、根据慢日志定位满查询日志 2、使用explain等工具分析sql 3、修改sql或者尽量让sql走索引
阅读全文
摘要:1.ZooKeeper是什么? ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户 2.ZooKe
阅读全文
摘要:HDFS的进程和各自的作用 NameNode NameNode 管理者文件系统的 Namespace。它维护着文件的元数据,包括文件名、副本数、文件的 BlockId,以及 block 所在的服务器,会接受来自 Client 端的读写请求,和DataNode 的 Block 信息上报。 Second
阅读全文

浙公网安备 33010602011771号