IT贫道
10余年大数据架构行业工作经验,多年线下和线上大数据教学经验,专注于大数据技术分享。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Apache Flink连载(四十九):Flink Source - 集合 Source
本文介绍了如何使用Flink从集合中获取DataStream数据流。通过定义基站日志类StationLog(包含基站ID、主被叫号码、通话类型、时间戳和时长等字段),分别给出了Java和Scala版本的实现代码。演示了如何创建包含多个StationLog对象的集合,并通过env.fromCollection()方法将其转换为DataStream,最后打印输出。该方法适用于测试场景,还提到类似的env.fromElements()方法也可用于获取DataStream。原创 2025-09-06 11:45:00 · 66 阅读 · 0 评论 -
Apache Flink连载(四十八):Flink Source - File Source
本文介绍了Flink读取HDFS文件数据的方法,指出旧版readTextFile()方法已过时,推荐使用DataStreamConnectors。演示了从HDFS读取文本文件的步骤:创建/上传文件到HDFS,添加flink-connector-files和hadoop-client依赖,并提供Java和Scala两种实现代码示例。最后说明该方法还支持读取avro、csv、json、parquet等格式文件,并附上官网参考链接。文章结尾提供博主联系方式及一对一辅导服务信息。原创 2025-09-05 11:45:00 · 63 阅读 · 0 评论 -
Apache Flink连载(四十七):Flink编程模型
摘要:本文介绍了Flink编程中的核心概念与序列化机制。主要内容包括:1)DataStream编程模型的五个组成部分(Environment、DataSource、Transformation、DataSink和执行触发);2)Flink数据类型系统,重点讲解TypeInformation及其子类(BasicTypeInfo、TupleTypeInfo等)和POJO类型要求;3)序列化机制原理,对比Kryo、Avro等序列化器,并提供了Java/Scala自定义Kryo序列化的完整代码示例。文章特别强调了类原创 2025-09-04 11:45:00 · 100 阅读 · 0 评论 -
Apache Flink连载(四十六):Flink API
Flink提供多层级API以满足不同业务需求:1)底层状态流处理API提供灵活的状态与时间操作;2)核心DataStream/DataSet API(类似Java Stream风格);3)声明式Table API(基于SQL语法);4)最高层SQL抽象。上层API易用性高,下层API灵活性强,可混合使用。Flink1.12后,批处理推荐使用Table API/SQL或DataStream的批模式,DataSet API将被淘汰。学习Flink建议从核心DataStream API入手。原创 2025-09-03 11:45:00 · 36 阅读 · 0 评论 -
Apache Flink连载(四十五):Flink基于Kubernetes部署 - Native Kubernetes部署-Application Cluster模式
本文详细介绍了在Kubernetes环境下搭建Harbor私有镜像仓库并部署Flink ApplicationCluster的完整流程。主要内容包括:1)在独立节点安装Docker和docker-compose,配置Harbor企业级镜像仓库;2)通过Dockerfile构建包含用户jar包的Flink自定义镜像并推送到Harbor;3)以ApplicationCluster模式提交Flink任务,实现每个应用独立集群隔离;4)演示任务部署、监控及集群管理操作。该方案解决了Flink在Kubernetes上原创 2025-09-02 11:45:00 · 48 阅读 · 0 评论 -
Apache Flink连载(四十四):Flink基于Kubernetes部署 - Native Kubernetes部署-Session Cluster模式
Flink的Native Kubernetes集成允许我们直接将Flink部署到正在运行的Kubernetes集群上,Flink能够根据所需的资源通过与Kubernetes 集群通信动态分配和取消分配taskmanager,其部署原理图如下:Flink Native kubernetes集成需要一个Kubernetes集群,并且Kubernetes版本需要大于等于1.9 版本,Flink Native kubernetes支持Flink Client 创建Session Cluster和Applicatio原创 2025-09-01 11:45:00 · 35 阅读 · 0 评论 -
Apache Flink连载(四十三):Flink基于Kubernetes部署 - Kubernetes部署模式之Application Cluster-HA Application Cluster
本文介绍了基于Kubernetes部署Flink Application集群的HA高可用模式配置方法。主要内容包括:1)配置文件中需添加HA相关参数,如集群ID、高可用模式、元数据存储目录等;2)创建ClusterRole并绑定服务账户以授权ConfigMap操作;3)部署JobManager和TaskManager的YAML文件配置,包括副本数、HDFS挂载、环境变量等;4)启动HDFS集群后执行部署命令;5)通过Web UI验证集群状态。相比非HA模式,HA模式无需jobmanager-server.y原创 2025-08-29 11:56:54 · 295 阅读 · 0 评论 -
Apache Flink连载(四十二):Flink基于Kubernetes部署 - Kubernetes部署模式之Application Cluster-非HA Application Cluster
以下参数中 standalone-job、--job-classname 是固定的,后面一个参数是运行的Flink 主类,还可以继续跟参数,例如:"--input","/xxx/xx"- name: job-artifacts-volume #这里必须指定该路径,注意是usrlib ,Flink会从该路径读取用户自己的jar包。#将主类对应的jar包放入到该路径下(该路径要在k8s集群所有节点都要有才可以),可以自定义路径,直接会挂载到容器中。浏览器中输入的ip可以是K8s集群中任意节点的IP。原创 2024-03-07 11:45:00 · 439 阅读 · 0 评论 -
Apache Flink连载(四十一):Flink基于Kubernetes部署 - Kubernetes部署模式之Session Cluster部署-HA Session Cluster部署及测试
以上删除该Active JobManager对应的pod后,Kubernetes机制本身会尝试重启新的Pod,当然由于我们配置了Flink HA ,所以Kubernetes会在新启动的JobManager Pod与原来运行的Standby JobManager Pod中进行自动选主,有一定概率会选择原来一直运行的JobManager Pod当做Active JobManager。由于HA模式使用到了HDFS集群,所以这里应该首先启动HDFS集群然后再部署对应的yaml文件。原创 2024-03-06 11:45:00 · 318 阅读 · 0 评论 -
Apache Flink连载(四十):Flink基于Kubernetes部署 - Kubernetes部署模式之Session Cluster部署-非HA Session Cluster部署及测试
向K8S部署的Flink集群中提交应用程序如果打印结果到控制台不支持在WebUI中的TaskManager中查看对应的Console日志,主要原因是K8S 基于Docker运行Flink TaskExecutor和JobMaster 进程时不会将STDOUT日志重定向到文件中。基于K8s的Flink Standalone 集群我们可以通过Flink WebUI来提交Flink任务,也可以通过Flink客户端命令提交任务。Session集群WebUI。浏览器中输入的ip可以是K8s集群中任意节点的IP。原创 2024-03-06 11:45:00 · 321 阅读 · 0 评论 -
Apache Flink连载(三十九):Kuberneters 部署案例
这里为了强化对Kubernetes集群的理解,我们基于Kubernetes集群进行部署nginx服务,nginx服务我们设置2个副本,同时将nginx服务端口80暴露到宿主机上。访问任意kubernetes集群的节点30080端口查看nginx服务是正常,例如:浏览器输入node1:30080。🚩 私聊博主:私聊博主加WX好友,获取更多资料哦~原创 2024-03-05 11:45:00 · 326 阅读 · 0 评论 -
Apache Flink连载(三十八):Kubernetes集群UI及主机资源监控
🏡🚩 私聊博主:私聊博主加WX好友,获取更多资料哦~原创 2024-03-04 11:45:00 · 259 阅读 · 0 评论 -
Apache Flink连载(三十七):Flink基于Kubernetes部署(7)-Kubernetes 集群搭建-3
🏡🚩 私聊博主:私聊博主加WX好友,获取更多资料哦~原创 2024-03-03 11:45:00 · 414 阅读 · 0 评论 -
Apache Flink连载(三十六):Flink基于Kubernetes部署(6)-Kubernetes 集群搭建-2
K8s使用calico部署集群网络,安装参考网址:https://projectcalico.docs.tigera.io/about/about-calico。只需要在Master节点安装即可。主要用来验证k8s集群节点网络是否正常。这里只需要在Master节点安装就可以。原创 2024-03-02 11:45:00 · 353 阅读 · 0 评论 -
Apache Flink连载(三十五):Flink基于Kubernetes部署(5)-Kubernetes 集群搭建-1
🏡🚩 私聊博主:私聊博主加WX好友,获取更多资料哦~这里安装Kubernetes版本为1.25,在所有主机(node1,node2,node3)安装kubeadm,kubelet,kubectl。原创 2024-03-01 21:10:34 · 477 阅读 · 0 评论 -
Apache Flink连载(三十四):Flink基于Kubernetes部署(4)-Kubernetes 集群搭建环境准备
🏡🚩 私聊博主:私聊博主加WX好友,获取更多资料哦~这里使用kubeadm部署工具来进行部署Kubernetes。Kubeadm是为创建Kubernetes集群提供最佳实践并能够“快速路径”构建kubernetes集群的工具。它能够帮助我们执行必要的操作,以获得最小可行的、安全的集群,并以用户友好的方式运行。原创 2024-02-24 11:45:00 · 305 阅读 · 0 评论 -
Apache Flink连载(三十三):Flink基于Kubernetes部署(3)-Kubernetes 核心概念
🏡🚩 私聊博主:私聊博主加WX好友,获取更多资料哦~Kubernetes中有非常多的核心概念,下面主要介绍Kubernetes集群中常见的一些概念。原创 2024-02-23 11:45:00 · 287 阅读 · 0 评论 -
Apache Flink连载(三十二):Flink基于Kubernetes部署(2)-Kubernetes集群架构及组件
🏡🚩 私聊博主:私聊博主加WX好友,获取更多资料哦~一个Kubernetes集群至少有一个主控制平面节点(Control Plane)和一台或者多台工作节点(Node)组成,控制面板和工作节点实例可以是物理设备或云中的实例。原创 2024-02-22 11:45:00 · 280 阅读 · 0 评论 -
Apache Flink连载(三十一):Flink基于Kubernetes部署(1)-Kubernetes介绍
🏡🚩 私聊博主:私聊博主加WX好友,获取更多资料哦~Kubernetes是Google公司在2014年6月开源的一个容器集群管理系统,使用Go语言开发,也叫K8S(k8s 这个缩写是因为k和s之间有八个字符的关系)。Kubernetes这个名字源于希腊语,意为“舵手”或“飞行员”。Kubernetes的目标是让部署容器化的应用简单并且高效,提供应用部署,维护,规划,更新。Kubernetes一个核心的特点就是能够自主的管理容器来保证云平台中的容器按照用户的期望状态运行,让用户能够方便的部署自己的应用。原创 2024-02-21 11:45:00 · 260 阅读 · 0 评论 -
Apache Flink连载(三十):Flink 内存模型
🏡🚩 私聊博主:私聊博主加WX好友,获取更多资料哦~在大数据中所有开源计算框架都会使用到JVM ,例如:MapReduce、Storm、Spark等,这些计算框架在处理数据过程中涉及到将大量数据存储在内存中,此时如果内存管理过渡依赖JVM,就会出现java对象存储密度低导致内存使用率低以及垃圾回收导致系统不稳定问题,这极大影响了系统的性能和稳定性。原创 2024-02-20 11:45:00 · 286 阅读 · 0 评论 -
Apache Flink连载(二十九):Flink细粒度资源管理(2)-用法、测试及局限性
🏡🚩 私聊博主:私聊博主加WX好友,获取更多资料哦~原创 2024-02-19 11:45:00 · 293 阅读 · 0 评论 -
Apache Flink连载(二十八):Flink细粒度资源管理(1)-适用场景和原理
Apache Flink 在1.14版本之前使用的是粗粒度资源管理方式,每个算子Slot Request 所需要的资源都是未知的,在Flink源码内部使用UNKNOWN的特殊值来表示,这个值可以和任意资源规格的物理Slot进行匹配,站在TaskManager的角度来说,它拥有的Slot个数与Slot资源是根据Flink的配置来决定。原创 2024-02-18 20:51:03 · 737 阅读 · 0 评论 -
Apache Flink连载(二十七):TaskSlot任务槽-(2)-SSG测试与均匀分配TaskSlot
🏡🚩 私聊博主:私聊博主加WX好友,获取更多资料哦~原创 2024-01-29 11:45:00 · 338 阅读 · 0 评论 -
Apache Flink连载(二十六):TaskSlot任务槽-(1)-TaskSlot&SlotSharingGroup
🏡🚩 私聊博主:私聊博主加WX好友,获取更多资料哦~提交到集群中的Flink程序最终会转换成一个个的Subtask,Subtask是Flink任务调度的基本单元,这些task最终被发送到不同的TaskManager节点上分布式执行,假设现在我们有一个TaskManager,一个Flink 任务有多个Subtask,这些Subtask能否正常在该TaskManager上启动?到底一个TaskManager上能同时执行多少个Subtask?原创 2024-01-27 11:45:00 · 318 阅读 · 0 评论 -
Apache Flink连载(二十五):Flink执行图
Flink代码提交到集群执行时最终会被转换成task分布式的在各个节点上运行,在前面我们学习到DataFlow数据流图,DataFlow是一个Flink应用程序执行的高级视图,展示了Flink应用程序执行的总体流程,在Flink底层由DataFlow最终转换成执行的task的过程还涉及一些对象转换。下图以一个普通的Flink处理数据流程展示了一个Flink任务提交到集群后内部对象转换关系和流程,其中每个虚线框代表一个task,p代表并行度,这里假设为2。🚩 私聊博主:私聊博主加WX好友,获取更多资料哦~原创 2024-01-26 11:45:00 · 243 阅读 · 0 评论 -
Apache Flink连载(二十四):Apache Flink术语
🏡🚩 私聊博主:私聊博主加WX好友,获取更多资料哦~Flink计算框架可以处理批数据也可以处理流式数据,Flink将批处理看成是流处理的一个特例,认为数据原本产生就是实时的数据流,这种数据叫做无界流(unbounded stream),无界流是持续不断的产生没有边界,批数据只是无界流中的一部分叫做有界流(bounded stream),针对无界流数据处理叫做实时处理,这种程序一般是7*24不间断运行的;针对有界流数据处理叫做批处理,这种程序处理完当前批数据就停止。原创 2024-01-25 11:45:00 · 423 阅读 · 0 评论 -
Apache Flink连载(二十三):Flink HA - Flink基于Yarn HA
🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-优快云博客🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频。原创 2024-01-01 11:45:00 · 503 阅读 · 0 评论 -
Apache Flink连载(二十二):Flink HA - Flink基于Standalone HA
🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-优快云博客🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频Standalone模式下,JobManager的高可用性的基本思想是,任何时候都有一个Alive JobManager和多个Standby JobManager。原创 2023-12-31 11:45:00 · 1037 阅读 · 0 评论 -
Apache Flink连载(二十一):Flink On Yarn运行原理-Yarn Application模式
🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-优快云博客🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频。原创 2023-12-30 11:45:00 · 1255 阅读 · 0 评论 -
Apache Flink连载(二十):Flink On Yarn运行 - Yarn Per-Job模式(弃用)
🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-优快云博客🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频。Per-Job模式就是直接由客户端向Yarn中提交Flink作业,每个作业形成一个单独的Flink集群。原创 2023-12-29 11:45:00 · 1238 阅读 · 0 评论 -
Apache Flink连载(十九):Flink On Yarn运行-Yarn Session模式
🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-优快云博客🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频。原创 2023-12-28 11:45:00 · 1667 阅读 · 0 评论 -
Apache Flink连载(十八):Flink On Yarn运行原理及环境准备
🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-优快云博客🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频。原创 2023-12-27 23:54:11 · 1867 阅读 · 0 评论 -
Apache Flink连载(十七):Flink On Standalone任务提交-Standalone Application模式
🏡🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。原创 2023-12-21 05:00:00 · 991 阅读 · 0 评论 -
Apache Flink连载(十六):Flink On Standalone任务提交-Standalone Session模式
🏡🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。Flink On Standalone 即Flink任务运行在Standalone集群中,Standalone集群部署时采用Session模式来构建集群,即:首先构建一个Flink集群,Flink集群资源就固定了,所有提交到该集群的Flink作业都运行在这一个集群中,如果集群中提交的任务多资源不够时,需要手动增加节点,所以Flink 基于Standalone运行任务一般用在开发测试或者企业实时业务较少的场景下。。原创 2023-12-20 06:15:00 · 1019 阅读 · 0 评论 -
Apache Flink连载(十五):Flink任务提交模式
Flink分布式计算框架可以基于多种模式部署,每种部署模式下提交任务都有相应的资源管理方式,例如:Flink可以基于Standalone部署模式、基于Yarn部署模式、基于Kubernetes部署模式运行任务,以上不同的集群部署模式下提交Flink任务会涉及申请资源、各角色交互过程,不同模式申请资源涉及到的角色对象大体相同,下面我们以Flink运行时架构流程为例来总体了解下Flink任务提交后涉及到对象交互流程,以便后续学习不同任务提交模式下任务提交流程。原创 2023-12-19 07:00:00 · 1078 阅读 · 0 评论 -
Apache Flink连载(十四):Flink 本地模式开启WebUI
在工作中我们一般使用IntelliJ IDEA开发工具进行代码开发,为了能方便快速的调试Flink和了解Flink程序的运行情况,我们希望本地开发工具中运行Flink时能查看到WebUI,这就可以在编写Flink程序时开启本地WebUI。在Flink1.15版本之前根据使用Scala版本在Java Flink项目或Scala Flink项目中添加对应Scala版本的依赖。在Flink1.15版本之后,无论是Java Flink项目还是Scala Flink项目,添加如下依赖,不需额外依赖Scala版本。原创 2023-12-18 11:14:21 · 1414 阅读 · 0 评论 -
Apache Flink连载(十三):Flink History Server
🏡🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。基于Standalone或者Yarn模式提交Flink任务后,当任务执行失败、取消或者完成后,可以在WebUI中查看对应任务的统计信息,这些统计信息在生产环境中对我们来说非常重要,可以知道一个任务异常挂掉前发生了什么,便于定位问题。原创 2023-12-14 08:00:00 · 1047 阅读 · 0 评论 -
Apache Flink连载(十二):Flink集群部署-Flink On Yarn
🏡🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。Flink可以基于Yarn来运行任务,Yarn作为资源提供方,可以根据Flink任务资源需求动态的启动TaskManager来提供资源。Flink基于Yarn提交任务通常叫做Flink On Yarn,Yarn资源调度框架运行需要有Hadoop集群。原创 2023-12-13 07:30:00 · 987 阅读 · 0 评论 -
Apache Flink连载(十一):Flink集群部署-Standalone集群部署
🏡🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。Flink的安装和部署主要分为本地(单机)模式和集群模式,其中本地模式只需直接解压就可以使用,不用修改任何参数,一般在做一些简单测试的时候使用。本地模式在这里不再赘述。集群部署模式主要包含Standalone、Hadoop Yarn 、Kubernetes等,Flink可以借助以上资源管理器来实现分布式计算,目前企业使用最多的是Flink 基于Hadoop Yarn资源管理器模式,本小节我们重点讲解Flink 基于Standalone集群。原创 2023-12-12 22:52:41 · 1428 阅读 · 0 评论 -
Apache Flink连载(十):Flink集群基础环境搭建-JDK及MySQL搭建
🏡🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。原创 2023-12-09 04:00:00 · 968 阅读 · 0 评论
分享