自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 八股系列 Flink

数据已时间为单位分为一个个批次,通过RDD进行分布式计算,是面向流的处理框架,是真正的流式计算。

2024-06-14 16:52:11 761

原创 Hadoop生态圈中的各个组件的介绍

当“Standby节点”看到edit log变化时,会将其应用到自己的命名空间。发生故障转移时,备用服务器将确保在将自身升级为活跃状态之前,已从JournalNode读取所有edit log内容。这样可确保在发生故障转移之前,命名空间状态已经完全同步。Standby NameNode只是作为Active NameNode的备份,保证在Active NameNode出现问题时能够快速的替代它。作业记录,比如用了多少个Map、多少个Reduce、作业提交时间、作业启动时间、作业完成时间等信息。

2024-06-13 16:54:01 934

原创 Hadoop 3.X HA集群部署

NameNodeResourceManagerQuorumPeerMainJournalNodeDFSZKFailoverControllerJobHistoryServerNameNodeResourceManagerQuorumPeerMainJournalNodeDFSZKFailoverControllerJobHistoryServerQuorumPeerMainJournalNodeDataNodeNodeManagerDataNodeNodeManagerDataNodeNodeManager

2024-06-13 16:27:04 1129

原创 八股文系列Spark

两者并没有大的差别。都是将 mapper(Spark 里是 ShuffleMapTask)的输出进行 partition,不同的 partition 送到不同的 reducer(Spark 里 reducer 可能是下一个 stage 里的 ShuffleMapTask,也可能是 ResultTask)。Reducer 以内存作缓冲区,边 shuffle 边 aggregate 数据,等到数据 aggregate 好以后进行 reduce(Spark 里可能是后续的一系列操作)。

2024-06-11 16:56:00 1241 1

原创 八股文系列Redis

缓存穿透是指查询⼀个在缓存和数据库中都不存在的数据。由于缓存没有这个数据,所以每次查询都会“穿透缓存直接查询数据库,如果有⼤量此类查询,会给数据库带来极⼤的压⼒。

2024-06-06 09:58:52 1095 1

原创 Redis的哨兵模式

如果主服务器⽆法正常⼯作,哨兵模式可以开始⼀个故障转移过程,由⼀个从服务器升级为新的主服务器,并让其他从服务器改变他们的主服务器为新的主服务器。哨兵们会通过投票来决定主服务器是否已经下线,以及选择哪个从服务器升级为新的主服务器。的,每个哨兵节点都会订阅其它哨兵节点的信息,这样当主服务器出现故障时,哨兵节点可以及时进⾏⼴播,实现快速故障转移。切换成功之后,就会通过发布订阅模式,让各个哨兵把⾃⼰监控的从服务器切换主机,这个过程为。哨兵模式⾃动转移失败的主服务器到⼀个从服务器。Redis的哨兵模式(

2024-06-05 16:04:54 1099

原创 Redis的主从复制

负载均衡:在主从复制的基础之上,配合读写分离,主节点提供写服务,由从节点提供读服务,分担服务器负载,尤其是在读多写少场景下,可以⼤⼤提⾼Redis并发量。内置的⼀种数据冗余和备份⽅式,同时也是分发读查询负载的⼀种⽅法。故障恢复:主节点⼀旦出现问题,可以由从节点提供服务,避免出现程序不可⽤的情况,实现快速故障恢复。数据冗余:主从复制实现了数据的热备份,是持久化的⼀种数据冗余⽅式。⼀个主节点可以有多个从节点,但是⼀个从节点只能有⼀个主节点。命令的方式是临时的,每次重启都需要指定,配置文件是永久的。

2024-06-05 15:29:48 374

原创 Redis订阅发布

这个命令⽤于退订所有给定模式的频道。如果没有参数,那么客户端使⽤ PUNSUBSCRIBE。:指退订给定的频道。如果没有指定频道,则退订所有频道。:订阅给定的⼀个或多个频道的信息。当有新消息发布到某个频道。:将信息发送到指定的频道。:使⽤模式匹配订阅频道。

2024-06-05 15:01:09 169

原创 redis的持久化

rdb保存⽂件:dump.rdb默认保存在当前运⾏⽬录RDB总结当我们redis⼀旦出现问题,服务重启,服务关闭以后,再次启动时就会读取备份⽂件,恢复数据。为了避免出现备份被删除或者丢失的问题,⼀般情况下我们会定时把redis中的备份数据迁移到别处以防⽌数据丢失。还有⼀点要注意:设置时间不能太短,加⼊1秒就备份数据,会导致⼤量的磁盘IO,造成磁盘压⼒RDB。

2024-05-29 17:02:38 475

原创 RedisTemplate操作Redis

differenceAndStore:获取key与另一个otherKey所对应的集合之间的差值,并将结果存入指定的Key集合中。使用负值可以无限期等待。randomMembers:获取指定key的集合中指定个数的随机数据 ,list集合中可能存在重复的数据。distinctRandomMembers:获取指定key的集合中指定个数的随机数据(去重)remove: 从存储在键中的列表中删除等于值的元素的第一个计数事件。get:获取key对应的map中,key为var2的map的对应的值。

2024-05-27 17:00:13 797

原创 SQL实现直播间高峰人数及其持续时间

【代码】SQL实现直播间高峰人数及其持续时间。

2024-05-24 09:06:40 312

原创 redis的事务

在 Redis 中, WATCH 命令可以⽤来监视⼀个或多个 key,如果在事务执⾏之前这些key 的值发⽣了改变,那么事务将会被打断。7)在 A 客户端查看 str.lp 值,A 客户端执行的事务没有提交,因为 WATCH 的 str.lp 的值已经被修改了, 所以放弃了事务。Redis事务会将命令按照顺序执⾏串⾏化操作,但是如果这些命令中有⼀个命令失败(⾮语法错误)了。命令之后的所有命令不会⽴即执⾏,⽽是缓存在服务器的⼀个事务队列中,然后当 EXEC。,执⾏命令的时候不允许其他命令插⼊,不许加塞。

2024-05-23 15:49:22 376

原创 redis的基本命令

Redis默认16个数据库,默认使⽤第0个select0切换数据库dbsize查看数据库⼤⼩flushall清除全部库数据flushdb清空当前库数据。

2024-05-22 16:59:06 362

原创 redis的基本介绍

Redis 是由C语⾔编写的⼀个,它不仅性能强劲,⽽且还具有以及为解决问题⽽⽣的独⼀⽆⼆的数据模型。Redis是完全开源免费的,遵守BSD协议,是⼀个⾼性能的key-value,并提供多种语⾔的API。Redis的特点性能极⾼– Redis能读的速度是110000次/s,写的速度是81000次/s。丰富的数据类型– Redis⽀持⼆进制的及Ordered Sets 数据类型操作。原⼦– Redis的所有操作都是原⼦性的,同时Redis。

2024-05-22 16:16:36 975

原创 Zookeeper的watch 机制

我们可以把Watch理解成是注册在特定Znode上的。ZK的所有读操作都可以设置watch监视点: getData, getChildren, exists.的。监视有两种类型:数据监视点和子节点监视点。创建、删除或者设置znode都会触发这些监视点。exists,getData 可以设置数据监视点。getChildren 可以设置子节点变化。

2024-05-21 14:37:47 483

原创 基于Zookeeper的分布式锁

在Java的多线程部分,我们知道如果在单个jvm进程中,多个线程之间同时访问一个资源,此时会有多线程的安全问题。为了解决这个线程安全的问题,我们可以使⽤“锁”来实现。但是,多个jvm进程之间如果同时访问一个资源呢?此时就需要一种更加高级的锁机制来处理种之间的资源安全问题,这就是分布式锁。

2024-05-21 11:02:48 912

原创 zookeeper的Shell操作命令

作⽤创建⼀个节点,可以设置节点的初始内容选项-e:设置短暂类型节点-s:设置顺序节点示例create /test 创建持久化节点create /test2 "content message" 创建带初始化内容的持久化节点create -e /test3 "content message" 创建带初始化内容的临时节点create -e -s /test "content message" 创建带初始化内容的顺序临时节点。

2024-05-17 16:16:24 268

原创 zookeeper的内部数据模型

zk通过两种形式的持久化,在恢复时先恢复快照文件的中的数据导内存中,在利用日志文件中的数据做增量恢复,这样恢复的速度更快。如果该节点为临时节点,ephemeralOwner值表示与该节点绑定的sessionid. 如果该节点不是临时节点,ephemeralOwner值为0。zk把执行的命令以日志的形式保存在dataLogDir指定的路径中的二进制文件(如果没有指定dataLogDir,则按照dataDir指定的路径)对应节点与⼦节点(或者⼦节点)的修改的事务ID,与孙⼦节点⽆关。节点最近⼀次更新的时间。

2024-05-17 15:46:33 939

原创 ES中分配分配问题排查

悬空索引 磁盘中存在,而集群状态中不存在的索引称为 dangling index,例如从别的集群拷贝了一个索引的数据目录到当前集群,Elasticsearch 会将这个索引加载到集群中,因此会涉及到为 dangling index 分配分片的过程。由于 create index api 创建索引导致,索引创建过程中,把索引的全部分片分配完毕需要一个过程,在全部分片分配完毕之前,该索引会处于短暂的 RED 或 YELLOW 状态。这个命令只会展示出一条无法分配索引的分片的信息,包括无法分配的理由。

2024-05-15 16:39:59 721

原创 配置数据写入es的时间

这样,在数据写es时候,就会生成字段date,数据写入时间。3、在索引的setting里设置默认pipeline。2、检查pipeline是否设置成功。

2024-02-21 16:45:57 632

原创 flink写入es的参数解析

在发送批量动作前,BulkProcessor先缓存,再刷新。缓存刷新的间隔,支持基于Action数量、基于Action大小、基于时间间隔3种策略。不论Action个数或Action大小如何设置,到刷新间隔了,就会刷新缓冲,发起Bulk请求。延迟重试策略: 默认启用指数级间隔重试策略,初始等待50ms,8次重试。如需自定义延迟重试策略,可通过以下参数配置。: 延迟重试类型,CONSTANT(固定间隔)或EXPONENTIAL(指数级间隔)。每个Bulk请求,最大缓冲的Action大小。: 延迟重试是否启用。

2024-02-04 16:41:30 1185

原创 Flink中的时间语义和TTL

事件时间是数据生成的时间,是数据流中每个元素或者每个事件自带的时间属性,一般是事件发生的时间,在实际项目中作为前端的一个属性嵌入。在理想情况下,数据应当按照事件时间顺序到达集群节点,但是由于从产生一条数据到数据抵达集群有过多的中间步骤,一个较早发生的事件可能较晚到达,使用事件时间意味着会产生数据乱序。

2024-01-30 09:33:12 1206

原创 Kafka配置类参数设置

Kafka的客户端发送数据到服务器,不是来一条就发一条,而是经过缓冲的,也就是说,通过KafkaProducer发送出去的消息都是先进入到客户端本地的内存缓冲里,然后把很多消息收集成一个一个的Batch,再发送到Broker上去的,这样性能才可能高。理论上来说,提升batch.size的大小,可以允许更多的数据缓冲在里面,那么一次Request发送出去的数据量就更多了,这样吞吐量可能会有所提升。但是batch.size也不能过大,要是数据老是缓冲在Batch里迟迟不发送出去,那么发送消息的延迟就会很高。

2023-05-11 15:27:34 862 1

原创 八股系列 Hadoop

Hadoop3相对于Hadoop2在方面都得到了显著的提升。

2023-04-28 17:22:42 1625

原创 HIVE SQL 进行 Join 和 group by的具体原理及分区方式

在map的输出value中为不同表的数据打上tag标记,在reduce阶段根据tag判断数据来源。

2023-04-20 16:20:52 637

原创 离线数仓的数仓分层

ods层:保留数据的原始性ODS层保存所有操作数据,不对原始数据做任何处理。在业务系统和数据仓库之间形成一个隔离,源系统数据结构的变化不影响其他数据分层。减轻业务系统被反复抽取的压力,由ODS统一进行抽取和分发。fds层:对数据进行解析过滤映射等操作。

2023-04-19 17:56:27 714

原创 Sql实现某列的值转为列名

使用sql的方式实现某列的值转为列名

2023-04-18 16:22:22 1138

原创 Hive中posexplode函数的使用及实现多行炸裂

简单介绍下posexplode函数的使用及如何使用posexplode函数进行多行炸裂效果

2023-04-13 16:40:59 969

原创 行转列与列转行的实现

详细介绍hive中的行转列与列转化行的函数及实现思路

2023-04-12 10:11:14 236

原创 github中的代码提交

3、日志信息里面的 SSH KEY 存储路径找到 .ssh/id_rsa.pub 文件。4、复制 .ssh/id_rsa.pub 文件内容,复制到 key 里 添加。5、将本地Git仓库和远程仓库关联起来,并设置远程仓库名称:origin。1、点击 git bash here,配置name和eamil。6、每次在推代码的时候,一定要合并最新的版本,防止版本冲突。7、如果要上传到新的分支,需要创建分支 如 develop。2、将当前项目中的所有文件添加到。2、生成 SSH KEY。4、将当前状态提交到。

2023-01-05 17:10:58 502

原创 ElasticSearch全文检索原理及过程

比如用户输入"地图",通过倒排索引,可以快速的找到含有"地图"的文档是id为1, 2, 3, 4, 5,的文档。从而达到快速的全文检索的目的。,文档内容被表示为一系列关键词的集合。例如文档 1 经过分词,提取了 20 个关键词,ElasticSearch的搜索引擎中,每个。,每个关键词都对应着一系列的文件,这些文件中都出现了关键词。:在value中提取出各个关键词的过程。对文档进行分词之后,得到以下。有了倒排索引,搜索引擎可以很。

2022-12-21 14:27:12 2652

原创 Kerberos的概述和认证原理

用来在非安全网络中,对个人通信以安全的手段进行身份认证。这个词又指麻省理工学院为这个协议开发的一套计算机软件。软件设计上采用客户端/服务器结构,并且能够进行相互认证,即客户端和服务器端均可对对方进行身份认证。可以用于防止窃听、防止重放攻击、保护数据完整性等场合,是一种。

2022-12-16 16:25:29 1951

原创 大数据中的数据安全

在数据仓库平台中,对应数据的请求必须严格尊属数据安全体系。

2022-12-16 15:09:47 795

原创 ElasticSearch的数据存储及写入原理

数据先写入内存 buffer,然后每隔 1s,将数据 refresh 到 os cache,到了 os cache 数据就能被搜索到(所以我们说es 是准实时的, es 从写入到能被搜索到,中间有 1s 的延迟)。每隔 5s,将数据写入 translog 文件(这样如果机器宕机,内存数据全没,最多会有 5s 的数据丢失),translog 大到一定程度,或者默认每隔 30mins,会触发 commit 操作,将缓冲区的数据都 flush 到 segment file 磁盘文件中。

2022-12-14 16:07:57 3088

原创 ElasticSearch的读写更新数据流程

此时会定期执行 merge。每次 merge 的时候,会将多个 segment file 合并成一个同时这里会将标识为 deleted 的 doc 给物理删除掉,然后将新的 segment file 写入磁盘这里会写一个 commit point,标识所有新的 segment file,然后打开 segment file 供搜索使用,同时删除旧的 segment file。如果是更新操作,就是将原来的 doc 标识为 deleted 状态,然后新写入一条数据。新建索引和删除请求都是写操作, 必须在。

2022-12-13 15:59:20 2186

原创 ElasticSearch分布式架构原理

一个ES集群中有多个Server节点,每个Server节点中含有多个Index。

2022-12-12 17:40:04 1620 2

原创 HBase的Region Split详解

region split是hbases随着数据的不断写入,将一个region切分为两个小region,并将切分后的,以达到将到其他节点。

2022-12-09 15:45:19 1119

原创 HBase中的Compaction详解

由于memstore每次刷写都会生成一个新的HFile,且同一个字段的不同版本(timestamp)和不同类型(Put/Delete)有可能会分布在不同的 HFile 中,因此查询时需要遍历所有的 HFile。为了,以及,会进行 StoreFile Compaction。

2022-12-09 15:17:47 1274

原创 Elasticsearch的简单概述

Elaticsearch,简称为 ES, ES 是一个, 是整个 ElasticStack 技术栈的核心。它可以;本身扩展性很好,可以扩展到上百台服务器,处理 PB 级别的数据。,可以理解为我搜索网络,会将含有网和含有络的数据都就行返回。

2022-12-08 17:37:25 620

原创 HBase的读写流程

将合并后的最终结果返回给客户端。:HBase上 RegionServer 的内存分为两个部分,一部分作为;另外一部分作为;

2022-12-08 17:20:49 603

空空如也

空空如也

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

TA关注的人

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