自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 私有化部署DeepSeek

复制如下链接在linux中执行命令 curl -fsSL https://ollama.com/install.sh | sh 进行下载安装将地址粘贴到输入框:https://github.com/ollama/ollama/releases/latest/download/ollama-linux-amd64.tgz。

2025-04-10 15:31:58 966

原创 Docker部署Mysql8

7、创建一个账号-admin,用来进行远程访问。4、运行MySQL8.3.0服务。10、对mysql进行操作。6、登录mysql客户端。5、进入mysql实例。

2025-03-27 11:50:04 183

原创 Python搭建项目独立环境

有时候在安装依赖的过程中可能会遇到一些问题,例如与已有环境中的包产生版本冲突或依赖不兼容等。虚拟环境是一个独立的 Python 环境,安装的包和依赖与本地环境相互独立,不会相互影响。在虚拟环境中使用 pip install xxx 命令与本地环境中的使用方式基本相同,但需要首先激活虚拟环境,以便将要安装的 Python 包和依赖关系与虚拟环境相互独立,避免与本地环境中已有的包产生冲突。cmd进入windows terminal,进入项目路径下。在开发工具中指定你创建的虚拟环境。

2025-03-20 16:36:49 149

原创 docker常用命令

【代码】docker常用命令。

2025-03-06 16:04:06 276

原创 docker部署zookeeper伪集群

【代码】docker部署zookeeper伪集群。

2025-03-06 15:41:47 368

原创 docker快速安装带认证Es和Kinbana

docker cp es容器id:/usr/share/elasticsearch/config/ /usr/local/elasticsearch/3、创建虚拟网络:docker network create es-net。需要设置的账户密码比较多,所以这个过程有点漫长,耐心点设置就行了。2、查看下载的镜像:docker images;9、重新创建指定配置文件的es容器。7、复制es配置文件并修改认证。10、进入es容器并初始化密码。11、退出容器并重启es容器。8、停止并删除es容器。

2025-02-28 10:30:15 466

原创 八股文系列Java锁

假设存在三个线程,一个数据线程一读取了数据A线程二读取了数据A线程二通过CAS比较,发现数据A是没错的,修改数据A为B线程三读取数据B线程三通过CAS比较,发现数据B是没错的,修改数据B为A线程一通过CAS比较,发现数据A是没错的,修改数据A为B这个过程中任何线程都没有做错什么,但是值被改变了,线程一却没有办法发现,其实这样得情况出现对结果是没有任何影响的,但是我们要做到规范,所以如何防止ABA问题呢?加标志位:搞一个自增的字段,操作一次就自增一次。

2025-02-12 10:44:30 489

原创 Java中线程池使用样例

【代码】Java中线程池使用样例。

2025-02-11 14:57:17 172

原创 八股系列 Flink

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

2024-06-14 16:52:11 869

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

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

2024-06-13 16:54:01 990

原创 Hadoop 3.X HA集群部署

NameNodeResourceManagerQuorumPeerMainJournalNodeDFSZKFailoverControllerJobHistoryServerNameNodeResourceManagerQuorumPeerMainJournalNodeDFSZKFailoverControllerJobHistoryServerQuorumPeerMainJournalNodeDataNodeNodeManagerDataNodeNodeManagerDataNodeNodeManager

2024-06-13 16:27:04 1314

原创 八股文系列Spark

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

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

原创 八股文系列Redis

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

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

原创 Redis的哨兵模式

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

2024-06-05 16:04:54 1147

原创 Redis的主从复制

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

2024-06-05 15:29:48 410

原创 Redis订阅发布

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

2024-06-05 15:01:09 200

原创 redis的持久化

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

2024-05-29 17:02:38 505

原创 RedisTemplate操作Redis

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

2024-05-27 17:00:13 1092

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

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

2024-05-24 09:06:40 519

原创 redis的事务

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

2024-05-23 15:49:22 408

原创 redis的基本命令

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

2024-05-22 16:59:06 395

原创 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 1008

原创 Zookeeper的watch 机制

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

2024-05-21 14:37:47 563

原创 基于Zookeeper的分布式锁

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

2024-05-21 11:02:48 1044

原创 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 396

原创 zookeeper的内部数据模型

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

2024-05-17 15:46:33 984

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

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

2024-05-15 16:39:59 955

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

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

2024-02-21 16:45:57 757

原创 flink写入es的参数解析

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

2024-02-04 16:41:30 1371

原创 Flink中的时间语义和TTL

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

2024-01-30 09:33:12 1274

原创 Kafka配置类参数设置

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

2023-05-11 15:27:34 904

原创 八股系列 Hadoop

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

2023-04-28 17:22:42 1723

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

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

2023-04-20 16:20:52 728

原创 离线数仓的数仓分层

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

2023-04-19 17:56:27 776

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

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

2023-04-18 16:22:22 1293

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

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

2023-04-13 16:40:59 1217

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

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

2023-04-12 10:11:14 278

原创 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 541

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

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

2022-12-21 14:27:12 2849

原创 Kerberos的概述和认证原理

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

2022-12-16 16:25:29 2113

空空如也

空空如也

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

TA关注的人

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