Apache Hudi学习笔记(持续更新)
Apache Hudi学习笔记前言apache hudi是是下一代流数据湖平台,能够解决hive不能频繁的更新和删除的操作,能够给用户提供近实时的分析。
hudi编译安装
Redis学习笔记08-Redis集群安装
Redis集群安装前言Redis的集群模式有三种:主从复制模式,哨兵模式,Cluster 集群模式(Redis官方),本次使用的是cluster集群模式,对应的Redis版本为6.2.7。
集群规划如下:
主机
端口
类型
Hadoop01
6379
Master01
Hadoop01
6380
Salve01
Hadoop02
6379
Master02
Hadoop02
6380
Slave02
Hadoop03
6379
Master03
Hadoop03
6380
Slave03
下载Redis
Redis官网:https://redis.io/
下载地址: https://download.redis.io/releases/redis-6.2.7.tar.gz
1wget https://download.redis.io/releases/redis-6.2.7.tar.gz
编译安装12345678# 安装依赖,编译需要yum install -y gcc gcc-c++# 解压tar -zxf redis-6.2.7.ta ...
jvm学习笔记01-jvm与Java体系结构
这是jvm学习笔记的第一篇文章,主要的内容是jvm与Java体系结构,对应着尚硅谷宋红康JVM全套教程(详解java虚拟机)(P1~P25)
第1章-JVM和Java体系架构前言你是否也遇到过这些问题?
运行着的线上系统突然卡死,系统无法访问,甚至直接 OOM!
想解决线上 JVM GC 问题,但却无从下手。
新项目上线,对各种 JVM 参数设置一脸茫然,直接默认吧,然后就 GG了 。
每次面试之前都要重新背一遍 JVM 的一些原理概念性的东西,然而面试官却经常问你在实际项目中如何调优 JVM 参数,如何解决 GC、OOM 等问题,一脸懵逼。
大部分Java开发人员,除了会在项目中使用到与Java平台相关的各种高精尖技术,对于Java技术的核心Java虚拟机了解甚少。
开发人员如何看待上层框架
一些有一定工作经验的开发人员,打心眼儿里觉得SSM、微服务等上层技术才是重点,基础技术并不重要,这其实是一种本末倒置的“病态”。
如果我们把核心类库的API比做数学公式的话,那么Java虚拟机的知识就好比公式的推导过程。
计算机系统体系对我们来说越来越远,在不了解底层实现 ...
butterfly主题文章段落标题美化
前言在网上找了一些文章段落标题美化的文章,在这里汇总记录一下。
标题左侧显示美化查看效果实现方式在custom.css(如果没有需要自己新建,并添加到对应的butterfly配置文件中,查看引入自定义css教程)文件中添加以下代码:12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364/* 文章页H1-H6图标 显示H1~H6 */@-webkit-keyframes ccc { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg) } to { -webkit-transform: rotate(-1turn); transform: rotate(-1turn) }}@keyframes ccc ...
butterfly主题魔改教程
前言收集的各种butterfly主题魔改教程,会持续更新的。。。
分类标签右上角显示数量教程地址查看效果Eurkon-Butterfly 标签云增加文章数上下标https://blog.eurkon.com/post/6687849c.html
归档(时间轴)页面显示生肖LOGO教程地址查看效果糖果屋-时间轴生肖图标教程贴https://akilar.top/posts/22257072/
hexo-butterfly底部信息的修改教程地址查看效果Harry の 心 阁-hexo-butterfly底部信息的修改https://u.mr90.top/posts/83507599/
文章段落美化教程地址查看效果butterfly主题文章段落标题美化https://www.yuweizhan.cn/post/1f839f2c.html
kafka学习笔记01-kafka概述与安装
前言这是kafka学习笔记的第一篇文章,主要的内容是kafka的概述以及安装,对应着尚硅谷2022版Kafka3.x教程(P1~P7)
kafka概述定义
kafka传统定义:Kafka是一个分布式的基于发布/订阅模式的消息队列(MessageQueue),主要应用于大数据实时处理领域。
kafka最新定义:Kafka是 一个开源的分布式事件流平台(Event StreamingPlatform),被数千家公司用于高性能数据管道、流分析、数据集成和关键任务应用。
消息队列
目 前企 业中比 较常 见的 消息 队列产 品主 要有 Kafka、ActiveMQ 、RabbitMQ 、RocketMQ 等。
在大数据场景主要采用 Kafka 作为消息队列。在 JavaEE 开发中主要采用 ActiveMQ、RabbitMQ、RocketMQ。
传统消息队列的应用场景
传统的消息队列的主要应用场景包括:缓存/消峰、解耦和异步通信。
缓冲/消峰:有助于控制和优化数据流经过系统的速度,解决生产消息和消费消息的处理速度不一致的情况。
解耦:允许你独立的扩展或修改两边的处理过程,只要确 ...
flink学习笔记04-flink高级API
Flink四大基石Flink之所以能这么流行,离不开它最重要的四个基石:Checkpoint、State、Time、Window。
Checkpoint这是Flink最重要的一个特性。
Flink基于Chandy-Lamport算法实现了一个分布式的一致性的快照,从而提供了一致性的语义。
Chandy-Lamport算法实际上在1985年的时候已经被提出来,但并没有被很广泛的应用,而Flink则把这个算法发扬光大了。
Spark最近在实现Continue streaming,Continue streaming的目的是为了降低处理的延时,其也需要提供这种一致性的语义,最终也采用了Chandy-Lamport这个算法,说明Chandy-Lamport算法在业界得到了一定的肯定。
分布式快照算法: https://zhuanlan.zhihu.com/p/53482103
State提供了一致性的语义之后,Flink为了让用户在编程时能够更轻松、更容易地去管理状态,还提供了一套非常简单明了的State API,包括ValueState、ListState、MapState, ...
flink学习笔记03-flink流批一体API
流处理相关概念数据的时效性日常工作中,我们一般会先把数据存储在表,然后对表的数据进行加工、分析。既然先存储在表中,那就会涉及到时效性概念。
如果我们处理以年,月为单位的级别的数据处理,进行统计分析,个性化推荐,那么数据的的最新日期离当前有几个甚至上月都没有问题。但是如果我们处理的是以天为级别,或者一小时甚至更小粒度的数据处理,那么就要求数据的时效性更高了。比如:对网站的实时监控、对异常日志的监控,这些场景需要工作人员立即响应,这样的场景下,传统的统一收集数据,再存到数据库中,再取出来进行分析就无法满足高时效性的需求了。
流处理和批处理官方介绍:https://ci.apache.org/projects/flink/flink-docs-release-1.12/zh/learn-flink/
Batch Analytics,右边是 Streaming Analytics。批量计算: 统一收集数据->存储到DB->对数据进行批量处理,就是传统意义上使用类似于 Map Reduce、Hive、Spark Batch 等,对作业进行分析、处理、生成离线报表
Streamin ...
flink学习笔记01-flink核心特性
flink学习笔记01-flink核心特性flink有着高吞吐,低延迟,是现在主流的流式框架之一
flink核心特性
统一数据处理组件栈,处理不同类型的数据需求(Batch, Stream, Mache Learning, Graph)
支持事件时间(Event Time),接入时间(Ingestion Time),处理时间(Processing Time)等时间概念。
基于轻量级分布式快照(Snapshot) 实现的容错
支持有状态计算
支持高度灵活的窗口(Window)操作
带反压的连续流模型
基于JVM实现独立的内存管理:
Flink在JVM中实现了自己的内存管理。
应用可以超出主内存的大小限制,并且承受更少的垃圾收集的开销。
对象序列化二进制存储,类似于C对内存的管理。
flink学习笔记02-flink部署与应用
flink集群架构flink集群架构由JobManager, TaskManager 以及Client组成。
JobManger: 管理节点,每个集群至少一个,管理整个集群计算资源,Job管理与调度执行,以及Checkpoint协调。
TaskManager: 每个集群有多个TM,负责计算资源提供。
Client: 本地执行应用main()方法解析JobGraph对象,并最终将JobGraph提交到JobManager运行,同时监控Job执行的状态。
JobManger
TaskManager
client
JobGraph
flink集群部署模式flink集群部署模式对比根据以下两种条件将集群部署模式分为三种类型:
1.集群的生命周期和资源隔离
2.根据程序main()方法执行在client还是JobManager
Session Mode
共享JobManager和TaskManager, 所有提交的Job都在一个runtime中运行
Per-Job Mode
独享JobManager与TaskManager, 好比为每个Job单独启动一个Runtime
Appli ...