- 博客(72)
- 收藏
- 关注
原创 第4章 kafka broker
4.1 Kafka Broker 工作流程 4.1.1 Zookeeper 存储的 Kafka 信息4.1.2 Kafka Broker 总体工作流程 4.1.3 Broker 重要参数 4.2 生产经验——节点服役和退役 4.2.1 服役新节点4.2.2 退役旧节点4.3 Kafka 副本 4.3.1 副本基本信息 4.3.2 Lead
2024-10-28 20:43:53
457
原创 Kafka(外部系统集成)
详见:尚硅谷大数据技术之。官方脚手架不稳定,我们切换国内地址。然后在线安装即可,安装后注意重启。里面,就能更改打印日志的级别为。(4)观察控制台输出的日志。(4)检查自动生成的配置文件。消费者,能够看到消费的。
2024-10-21 20:03:57
908
原创 第 6 章 Kafka-Eagle 监控 和 Kafka-Kraft 模式
集群的整体运行情况,在生产环境中经常使用。主要用来存储可视化展示的数据。
2024-10-21 19:39:01
672
原创 第 5 章 Kafka 消费者
需求:在生产环境中,会遇到最近消费的几个小时数据异常,想重新按照时间消费。(3)重新发送到一个全新的主题中,由于默认创建的主题分区数为。分区的数据(如果只发生到一个分区,可以在发送时增加延迟代码。有失败重试机制,故更加可靠,但是由于一直等待提交结果,提。更可靠一些,但是由于其会阻塞当前线程,直到提交成功。因此更多的情况下,会选用异步提交。控制台,观察接收到的数据,只能消费到。(2)启动代码中的生产者发送消息,在。)复制一份基础消费者的代码,在。条消息,随机发送到不同的分区。个消费者分别消费哪些分区的数据。
2024-10-21 19:33:44
1325
原创 Docker高级篇
docker run -p 3307:3306 --name mysql-master \-v /mydata/mysql-master/log:/var/log/mysql \-v /mydata/mysql-master/data:/var/lib/mysql \-v /mydata/mysql-master/conf:/etc/mysql \-e MYSQL_ROOT_PASSWORD=root \-d mysql:5.7[mysqld]## 设置server_id,同一局域网中需要唯一server
2024-07-24 22:30:22
1073
原创 docker基本篇
总体步骤搜索镜像拉取镜像查看镜像启动镜像服务端口映射停止容器移除容器安装tomcatdocker hub上面查找tomcat镜像从docker hub上拉取tomcat镜像到本地docker images查看是否有拉取到的tomcat使用tomcat镜像创建容器实例(也叫运行镜像)·-p 小写,主机端口:docker容器端口·-P 大写,随机分配端口·i:交互。
2024-07-24 21:49:02
1184
原创 Hadoop(Yarn)
YARN主要由ResourceManager、NodeManager、ApplicationMaster和Container等组件构成。(1)MR程序提交到客户端所在的节点。(2)YarnRunner向ResourceManager申请一个Application。(3)RM将该应用程序的资源路径返回给YarnRunner。(4)该程序将运行所需资源提交到HDFS上。(5)程序资源提交完毕后,申请运行mrAppMaster。(6)RM将用户的请求初始化成一个Task。
2024-07-08 23:12:54
1087
原创 Hadoop(MapReduce)
MapReduce是一个分布式运算程序的编程框架,是用户开发“基于Hadoop的数据分析应用”的核心框架。MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个Hadoop集群上。
2024-07-08 22:54:08
2132
原创 Hadoop(HDFS)
但是,如果长时间添加数据到Edits中,会导致该文件数据过大,效率降低,而且一旦断电,恢复元数据需要的时间过长。但如果只存在内存中,一旦断电,元数据丢失,整个集群就无法工作了。这样又会带来新的问题,当在内存中的元数据更新时,如果同时更新FsImage,就会导致效率过低,但如果不更新,就会发生一致性问题,一旦NameNode节点断电,就会产生数据丢失。(1)一个数据块在DataNode上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳。
2024-07-08 22:04:21
799
原创 第10章 Flink SQL
Table API和SQL是最上层的API,在Flink中这两种API被集成在一起,SQL执行的对象也是Flink中的表(Table),所以我们一般会认为它们是一体的。Flink是批流统一的处理框架,无论是批处理(DataSet API)还是流处理(DataStream API),在上层应用中都可以直接使用Table API或者SQL来实现;这两种API对于一张表执行相同的查询操作,得到的结果是完全一样的。我们主要还是以流处理应用为例进行讲解。需要说明的是,Table API和SQL最初并不完善,在
2024-06-12 22:26:02
1025
原创 第9章 容错机制
既然是端到端的exactly-once,我们依然可以从三个组件的角度来进行分析:(1)Flink内部Flink内部可以通过检查点机制保证状态和处理结果的exactly-once语义。(2)输入端输入数据源端的Kafka可以对数据进行持久化保存,并可以重置偏移量(offset)。所以我们可以在Source任务(FlinkKafkaConsumer)中将当前读取的偏移量保存为算子状态,写入到检查点中;
2024-06-12 21:40:46
972
原创 第8章 状态管理
状态的失效其实不需要立即删除,所以我们可以给状态附加一个属性,也就是状态的“失效时间”。ReducingState这个接口调用的方法类似于ListState,只不过它保存的只是一个聚合值,所以调用.add()方法时,不是在状态列表里添加元素,而是直接把新数据和之前的状态进行归约,并用得到的结果更新状态。与Keyed State中的列表状态的区别是:在算子状态的上下文中,不会按键(key)分别处理状态,所以每一个并行子任务上只会保留一个“列表”(list),也就是当前并行子任务上所有状态项的集合。
2024-06-12 21:21:48
918
原创 第7章 处理函数
基于窗口的结束时间来设定延迟,其实并不需要等太久——因为我们是靠水位线的推进来触发定时器,而水位线的含义就是“之前的数据都到齐了”。类似地,KeyedProcessFunction也是继承自AbstractRichFunction的一个抽象类,与ProcessFunction的定义几乎完全一样,区别只是在于类型参数多了一个K,这是当前按键分区的key的类型。而在很多应用需求中,要求我们对时间有更精细的控制,需要能够获取水位线,甚至要“把控时间”、定义什么时候做什么事,这就不是基本的时间窗口能够实现的了。
2024-06-12 21:10:01
871
原创 第6章 Flink中的时间和窗口
在Flink中,用来衡量事件时间进展的标记,就被称作“水位线”(Watermark)。具体实现上,水位线可以看作一条特殊的数据记录,它是插入到数据流中的一个标记点,主要内容就是一个时间戳,用来指示当前的事件时间。而它插入流中的位置,就应该是在某个数据到来之后;这样就可以从这个数据中提取时间戳,作为当前水位线的时间戳了。
2024-06-05 22:37:17
979
原创 第5章 DataStream API
当Flink提供的所有分区策略都不能满足用户的需求时,我们可以通过使用partitionCustom()方法来自定义分区策略。1)自定义分区器@Override2)使用自定义分区5.3.5分流所谓“分流”,就是将一条数据流拆分成完全独立的两条、甚至多条流。也就是基于一个DataStream,定义一些筛选条件,将符合条件的数据拣选出来放到对应的流里。5.3.5.1简单实现。
2024-06-05 22:11:51
853
原创 第4章 Flink运行时架构
很显然,TaskManager的计算资源是有限的,并行的任务越多,每个线程的资源就会越少。一个数据流在算子之间传输数据的形式可以是一对一(one-to-one)的直通(forwarding)模式,也可以是打乱的重分区(redistributing)模式,具体是哪一种形式,取决于算子的种类。在Flink执行过程中,每一个算子(operator)可以包含一个或多个子任务(operator subtask),这些子任务在不同的线程、不同的物理机或不同的容器中完全独立地执行。在这种模式下,数据流的分区会发生改变。
2024-06-05 21:38:32
622
原创 第3章 Flink部署
运行 Flink job 的集群一旦停止,只能去 yarn 或本地磁盘上查看日志,不再可以查看作业挂掉之前的运行的 Web UI,很难清楚知道作业在挂的那一刻到底发生了什么。打包完成后,在target目录下即可找到所需JAR包,JAR包会有两个,FlinkTutorial-1.0-SNAPSHOT.jar和FlinkTutorial-1.0-SNAPSHOT-jar-with-dependencies.jar,因为集群中已经具备任务运行所需的所有依赖,所以。这里我们所讲到的部署模式,相对是比较抽象的概念。
2024-06-05 21:24:55
1436
原创 第2章 Flink快速上手
需要注意的是,这种代码的实现方式,是基于DataSet API的,也就是我们对数据的处理转换,是看作数据集来进行操作的。的存在,在某些特殊情况下(比如Lambda表达式中),自动提取的信息是不够精细的——只告诉Flink当前的元素由“船头、船身、船尾”构成,根本无法重建出“大船”的模样;这是正常的,因为Flink的流处理是事件驱动的,当前程序会一直处于监听状态,只有接收到数据才会执行任务、输出统计结果。在实际的生产环境中,真正的数据流其实是无界的,有开始却没有结束,这就要求我们需要持续地处理捕获的数据。
2024-06-05 21:03:45
1052
原创 第1章 Flink概述
Flink核心目标,是“数据流上的有状态计算”(Stateful Computations over Data Streams)具体说明:Apache Flink是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算。Flink的官网主页地址:https://flink.apache.org/
2024-06-05 20:57:12
185
原创 第三章KafKa生产者
如果设置了重试,还想保证消息的有序性,需要设置MAX_IN_FLIGHT_REQUESTS_PER_CONNECTION=1否则在重试此失败消息的时候,其他的消息可能发送成功了。时调用,为异步调用,该方法有两个参数,分别是元数据信息(RecordMetadata。适当增加该值,可以提高吞吐量,但是如果该值设置太大,会导致数据传输延迟增加。注意:消息发送失败会自动重试,不需要我们在回调函数中手动重试。(3)使用分区器的方法,在生产者的配置中添加分区器参数。:生产者发送过来的数据,不需要等数据落盘应答。
2024-04-29 21:50:42
978
原创 第2章 KafKa快速入门
opt/module/kafka/config/server.properties 中的。集群一旦先停止, Kafka 集群就没有办法再获取停止进程的信息,只能手动杀死。--replication-factor 定义副本数。(2)把主题中所有的数据都读取出来(包括历史数据)。Zookeeper 集群。--partitions 定义分区数。(3)分发环境变量文件到其他节点,并。(注意:分区数只能增加,不能减少)不得重复,整个集群中唯一。(2)刷新一下环境变量。)查看当前服务器中的所有。
2024-04-29 21:24:46
887
原创 第3章 Hadoop运行模式
scp可以实现服务器与服务器之间的数据拷贝。1各个模块分开启动/停止(配置ssh是前提)常用(1)整体启动/停止HDFS(2)整体启动/停止YARN2各个服务组件逐一启动/停止(1)分别启动/停止HDFS组件(2)启动/停止YARN。
2024-04-21 19:58:46
1198
原创 第2章 Hadoop运行环境搭建(开发重点)
1hadoop1004G50G注意:如果Linux安装的是最小系统版,还需要安装如下工具;如果安装的是Linux桌面标准版,不需要执行如下操作注意:在企业开发时,通常单个服务器的防火墙时关闭的。公司整体对外会设置非常安全的防火墙vim修改/etc/sudoers文件,在%wheel这行下面添加一行,如下所示:wheel注意:atguigu这一行不要直接放到root行下面,因为所有用户都属于wheel组,你先配置了atguigu具有免密功能,但是程序执行到%wheel。
2024-04-21 19:13:28
794
原创 第一章Hadoop概述
Hadoop Distributed File System,简称HDFS,是一个分布式文件系统。1)NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间、副本数文件权限),以及每个文件的块列表和块所在的DataNode等:2)DataNode(dn):在本地文件系统存储文件块数据,以及块数据的校验和。每隔一段时间对NameNode元数据备份。简称YARN,另一种资源协调者是Hadoop的资源管理器。
2024-04-21 18:44:53
1339
原创 第5章zookeeper分布式锁案例
什么叫做分布式锁呢?比如说"进程 1"在使用该资源的时候,会先去获得锁,"进程 1"获得锁以后会对该资源保持独占,这样其他进程就无法访问该资源,"进程 1"用完该资源以后就将锁释放掉,让其 他进程来获得锁,那么通过这个锁机制,我们就能保证了分布式系统中多个进程能够有序的 访问该临界资源。那么我们把这个分布式环境下的这个锁叫作分布式锁。
2024-04-01 22:18:41
846
原创 第4章服务器动态上下线监听案例
某分布式系统中,主节点可以有多台,可以动态上下线,任意一台客户端都能实时感知 到主节点服务器的上下线。4.2需求分析服务器动态上下线。
2024-04-01 22:12:49
380
原创 第三章Zokeeper集群操作
在hadoop102hadoop103和hadoop104三个节点上都部署Zookeeper。思考:如果是10台服务器,需要部署多少台Zookeeper?
2024-04-01 22:07:29
701
原创 第2章ZooKeeper本地安装
1.安装JDK2.拷贝 apache-zookeeper-3.5.7-bin.tar.gz 安装包到 Linux 系统下3.解压到指定目录4.修改名称。
2024-04-01 21:14:26
513
原创 Nginx的安装
nginx-1.21.6.tar.gz到linux的/root目录下。编译完成后,可以到usr/local目录下看到nginx文件。优雅关闭,在退出前完成已经接受的连接请求。常用版本分为四大阵营。
2024-03-28 20:48:17
744
原创 11.SPringBoot集成Redis
默认情况下,RedisTemplate 使用该数据列化方式,我们来看下源码 RedisTemplate#afterPropertiesSet()Lettuce是一个Redis的Java驱动包,Lettuce翻译为生菜,没错,就是吃的那种生菜,所以它的Logo长这样。Redis Cluster集群能自动感知并自动完成主备切换,对应的slave6384会被选举为新的master节点。先对redis集群命令方式,手动验证各种读写命令,看看6384是否上位。JDK序列化方式(默认)惹的祸。和第一次修改做对比。
2024-03-25 23:06:00
1186
原创 10.Redis集群(cluster)
为了在节点数目发生改变时尽可能少的迁移数据将所有的存储节点排列在收尾相接的Hash环上,每个key在计算Hash后会顺时针找到临近的存储节点存放。而当有节点加入或退出时仅影响该节点在Hash环上顺时针相邻的后续节点。优点加入和删除节点只影响哈希环中顺时针方向的相邻的节点,对其他节点无影响。缺点数据的分布和节点的位置有关,因为这些节点不是均匀的分布在哈希环上的,所以数据在进行存储时达不到均匀分布的效果。
2024-03-25 22:45:40
1071
原创 9.redis哨兵(sentinel)
作用:哨兵的作用:1、监控redis运行状态,包括master和slave2、当master down机,能自动将slave切换成新master。
2024-03-25 21:59:48
928
原创 8.Redis复制(replica)
由于所有的写操作都是先在Master上操作,然后同步更新到Slave上,所以从Master同步到Slave机器有一定的延迟,当系统很繁忙的时候,延迟问题会更加严重,Slave机器数量的增加也会使这个问题更加严重。11.从机访问主机的通行密码masterauth,必须(从机需要配置,主机不用)5.某台从机down后,master继续,从机重启后他能跟上大部队么?Y,首次一锅端,后续跟随,master写,slave跟。从机不动,原地待命,从机数据可以正常使用;用命令使用的话,2太从机重启后,关系还在么?
2024-03-25 21:27:45
774
原创 5. Redis事务
官网:https://redis.io/docs/interact/transactions/常用命令case1:正常执行MULTIEXECcase2:放弃事务MULTIDISCARDcase3:全体连坐官网说明:case4:冤头债主官网说明:补充:case5:watch监控Redis使用Watch来提供乐观锁,类似于CAS(Check-and-set)watch:初始话k1和balance两个key,先监控在开启multi,保证两个key变动在同一个事务内有加塞篡改unwatch小结:
2024-03-21 23:16:11
207
原创 4.Redis持久化
1.适合大规模的数据恢复2.按照业务定时备份3.对数据完整性和一致性要求不高4.RDB文件在内存中的加载速度要比AOF快的多6.劣势。
2024-03-21 23:08:41
677
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1