自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 NameNode启动代码流程

NameNode管理文件系统的命名空间。它维护着文件系统树及整棵树内所有的文件和目录。这些信息以两个文件形式永久保存在本地磁盘上:命名空间镜像文件(fsimage)和编辑日志文件(editlog)。它管理block块与datanode的映射关系(Namenode启动时候块上报,保存在内存中);它能接收cilent的请求,接收datanode的块报告和心跳;具体实现的类:Namenode类:启动类,管理配置等。

2023-11-24 01:15:43 65

原创 Yarn-分布式资源调度平台

只是,MapReduce程序一旦运行起来之后,Yarn中的各类软件成员是不会干预MapReduce程序的运行逻辑的。分布式并行数据处理程序开发好后,需要运行在一个大规模的集群当中,而通常,一个大规模集群在同一时间可能需要为很多个数据处理任务所共享,此时,就会面临如何分配运算资源给每一个数据处理任务的问题。Yarn就是一个为分布式运算程序提供统一调度和运算资源分配的资源调度平台,它能将集群的资源统一管理起来,根据集群的资源状态,分配用来计算的机器,或者等待其他计算任务计算完毕再分配任务。

2023-11-24 01:11:04 46

原创 MapReduce

MapReduce 是一个分布式运算程序的编程框架,是用户开发“基于 Hadoop 的数据分析应用”的核心框架。MapReduce 核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个 Hadoop 集群上。MapReduce优缺点。

2023-11-24 01:10:17 47 1

原创 Hadoop Distributed File System

Hadoop Distributed File System:Hadoop分布式文件系统源自于Google的GFS论文,发表于2003年10月,HDFS是GFS克隆版HDFS是Hadoop体系中数据存储管理的基础通过流式数据访问,提供高吞吐量应用程序数据访问功能,适合带有大型数据集的应用程序提供一次写入多次读取的机制,数据以块的形式,同时分布在集群不同物理机器上高度容错性的系统,能检测和应对硬件故障,用于在低成本的通用硬件上运行。

2023-11-24 01:09:30 106 1

原创 goland调试远程代码

安装dlv调试工具。

2023-11-24 01:07:32 167 1

原创 PrimaryBackup Replication for Fault Tolerance

实现分布式容错的一种常见方法是主/备份方法。从而可以在主服务器挂挂掉时,让备份服务器补上。状态转移背后的思想是,Primary 将自己完整状态,比如说内存中的内容,拷贝并发送给 Backup。Backup 会保存收到的最近一次状态,当primary故障,backup可以从保存的状态开始运行。Primary对自身的内存做一大份拷贝、或者采用增量方式只同步变更了的内存,最后通过网络完成传输。此方法传输的数据量非常大,所需要的带宽也非常大。:将备份状态机视为确定状态机。

2023-11-24 01:04:54 29 1

原创 2PC与3PC

2PC的就是将处理过程分为2个阶段,第一个阶段是投票,如果大家都觉得没问题,那么就接着往下进行,否则取消。2PC的关键是阶段1的Undo和Redo写入日志,如果之后的Commit过程失败了,可以根据事务log找到未完成的事务,然后找协调者确认该事务的最终提案,如果最终提案是Commit那么就执行Redo日志做完之前没做完的工作,如果最终提案是Rollback那么就需要执行Undo日志,撤销之前写入的内容,当处理完所有的事务日志之后,再对外提供服务,这样整个系统就达到了最终一致性。相对于2PC,3PC。

2023-11-24 01:03:25 19 1

原创 分布式一致性

分布式系统是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统。分布式系统的:可用性是分布式系统的核心需求,其用于衡量一个分布式系统持续对外提供服务的能力。:增加机器后不会改变或极少改变系统行为,并且能获得近似线性的性能提升。:系统发生错误时,具有对错误进行规避以及从错误中恢复的能力。:对外服务的响应延时和吞吐率要能满足用户的需求。分布式系统虽然目标很美好,但是在实际的实现过程中,还是会面临许多。

2023-11-24 01:01:25 15 1

原创 iceberg

为了解决数据存储和计算引擎之间的适配的问题,Netflix开发了Iceberg,2018年11月16日进入Apache孵化器,2020 年5月19日从孵化器毕业,成为Apache的顶级项目。Apache Iceberg 是一种用于大型分析数据集的开放 Table Format(表格式)。专为大型表设计,单表可以处理 PB 级的数据。Iceberg 旨在解决最终一致的云对象存储中的正确性问题,Iceberg 可以在没有分布式 SQL 的情况下读取 PB 级别的表。

2023-11-24 01:00:31 32 1

原创 计算引擎发展-Flink

Flink 是一个开源的流处理框架,用于在无边界和有边界数据流上进行有状态的计算,具有以下特点:高吞吐和低延迟:每秒处理数百万个事件,毫秒级延迟结果的准确性:Flink 提供了事件时间(event-time)和处理时间(processing-time)语义。对于乱序事件流,事件时间语义仍然能提供一致且准确的结果。精确一次(exactly-once)的状态一致性保证。可以连接到最常用的外部系统,如 Kafka、Hive、JDBC、HDFS、Redis 等。高可用:Flink 支持高可用性。

2023-11-24 00:57:38 33 1

原创 计算引擎发展-Spark

所以 Spark 可以理解成是。

2023-11-24 00:53:25 65 1

原创 计算引擎发展-Tez

Tez是开源的支持 DAG 作业的计算框架,是支持HADOOP2.x的重要引擎。由于Tez是可扩展和可嵌入的,它提供了适合用途的自由来表达高度优化的数据处理应用程序,使它们比面向最终用户的引擎(如 MapReduce 和Apache Spark)更具优势。它直接源于 MapReduce 框架,核心思想是将Map 和 Reduce 两个操作进一步拆分,分解后的元操作可以任意灵活组合,产生新的操作,这些操作经过一些控制程序组装后,可形成一个大的 DAG 作业。

2023-11-24 00:50:21 78 1

原创 Hadoop计算框架的发展与挑战:从MapReduce到Tez的演变

MapReduce 和 Tez 都是用于大规模数据处理的计算框架,它们都可以将计算任务分布在集群中的多个节点上并行执行。然而,它们在设计理念、编程模型和性能优化方面存在一些区别。特点MapReduceTez数据处理处理静态数据处理静态和流式数据性能迭代计算和交互式处理性能较差供更高的性能和更低的延迟交互式查询不支持支持资源利用率资源利用率较低资源利用率较高DAG不支持支持核心框架独立框架基于Hadoop YARN扩展性。

2023-11-24 00:48:18 169 1

原创 计算引擎发展

大数据计算引擎是处理海量数据的重要工具,随着数据量的不断增长和多样化,传统的数据处理方式已经无法满足人们的需求。Tez是一个基于Hadoop YARN的资源管理平台,它提供了一种类似于Hive的查询接口,并支持多种数据处理操作,包括MapReduce、Spark和Flink等。Spark是一种快速而通用的大数据计算引擎,它基于内存计算和弹性分布式数据集(RDD)的概念,可以支持多种数据处理操作,包括SQL查询、流处理和机器学习等。Flink的优点是速度快、可扩展性强,但缺点是需要更多的内存资源。

2023-11-24 00:41:47 77 1

原创 基本git命令学习

tem将 tem移动到test上去,然后将pisk修改为s,保存退出删除红色方框内的commit内容便可。

2023-11-24 00:40:24 25 1

原创 Docker网络模式

bridge模式:使用–network bridge指定,默认使用docker0host模式:使用–network host指定none模式:使用–network none指定container模式:使用–network container:NAME或者容器ID指定容器实例内默认网络IP生产规则(bridge)###1 先启动两个ubuntu容器实例PING 172.17.0.4 (172.17.0.4) 56(84) bytes of data. # 按照IP地址ping是OK的。

2022-10-26 19:03:42 527 1

原创 基本git命令学习

GIT的原理与基本命令

2022-09-14 18:32:26 57

原创 RabbitMQ和Kafka对比选择

​基于某些原因, 许多开发者会把这两种技术当做等价的来看待。的确,在一些案例场景下选择RabbitMQ还是 Kafka 没什么差别,但是这两种技术在底层实现方面是有许多差异的。​

2022-07-28 19:22:33 474

原创 分布式事务

分布式事务参考答案分布式事务就是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。简单的说,就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败。本质上来说,分布式事务就是为了保证不同数据库的数据一致性。要实现分布式事务,有如下几种常见的解决方案:2PC说到2PC就不得不聊数据库分布式事务中的 XA Transactions。如上图,在XA协议中分为两阶段:

2021-10-15 19:14:33 138

原创 线程和进程

线程和进程线程、进程,如果不能使用一句话说出来的技术,不扎实!进程:一个程序,QQ.exe Music.exe 程序的集合;一个进程往往可以包含多个线程,至少包含一个!Java默认有2个线程? main、GC线程:开了一个进程 Typora,写字,自动保存(线程负责的)对于Java而言提供了:Thread、Runnable、Callable操作线程。进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1–n个线程。(进程是资源分配的最小单位)

2021-10-15 19:13:23 104

转载 AOP深入理解及Bean的加载过程

Spring系列课程 — AOP编程第一章、静态代理设计模式1. 为什么需要代理设计模式1.1 问题在JavaEE分层开发开发中,那个层次对于我们来讲最重要DAO ---> Service --> Controller JavaEE分层开发中,最为重要的是Service层Service层中包含了哪些代码?Service层中 = 核心功能(几十行 上百代码) + 额外功能(附加功能)1. 核心功能 业务运算 DAO调用2. 额外功能 1. 不属

2021-09-22 23:04:14 601

原创 2021-09-22

关系型数据库和非关系型数据库的区别关系型和非关系型数据库的主要差异是数据存储的方式。关系型数据天然就是表格式的,因此存储在数据表的行和列中。数据表可以彼此关联协作存储,也很容易提取数据。(推荐教程:mysql视频教程)与其相反,非关系型数据不适合存储在数据表的行和列中,而是大块组合在一起。非关系型数据通常存储在数据集中,就像文档、键值对或者图结构。你的数据及其特性是选择数据存储和提取方式的首要影响因素。关系型数据库关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织优点:

2021-09-22 22:53:38 77

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除