01 2024 档案
摘要:在 Flink 中,有一套完整的容错机制来保证故障后的恢复,其中最重要的就是检查点。 1.检查点(Checkpoint) 在流处理中,我们可以用存档读档的思路,就是将之前某个时间点所有的状态保存下来,这份“存档”就是所谓的“检查点”(checkpoint)。 遇到故障重启的时候,我们可以从检查点中“
阅读全文
摘要:与 Keyed State 中的 ListState 一样,将状态表示为一组数据的列表。 与 Keyed State 中的列表状态的区别是:在算子状态的上下文中,不会按键(key)分别 处理状态,所以每一个并行子任务上只会保留一个“列表”(list),也就是当前并行子任务上 所有状态项的集合。列表中
阅读全文
摘要:流处理 API,无论是基本的转换、聚合,还是更为复杂的窗口操作,其实 都是基于 DataStream 进行转换的,所以可以统称为 DataStream API。 在 Flink 更底层,我们可以不定义任何具体的算子(比如 map,filter,或者 window),而只是提炼出一个统一的“处理”(p
阅读全文
摘要:在批处理统计中,我们可以等待一批数据都到齐后,统一处理。但是在实时处理统计中,我们是来一条就得处理一条,那么我们怎么统计最近一段时间内的数据呢?引入“窗口”。 所谓的“窗口”,一般就是划定的一段时间范围,也就是“时间窗”;对在这范围内的数据进行处理,就是所谓的窗口计算。所以窗口和时间往往是分不开的。
阅读全文
摘要:流程如下 Environment(执行环境) -> Source(数据源) -> Transformation(转换操作) -> Sink(输出) 1.Environment(执行环境) package cn.coreqi.env; import org.apache.flink.api.commo
阅读全文
摘要:本文基于:Flink Java Demo 1.开发中开启WEB UI 1.添加依赖 <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-runtime-web</artifactId> <version>1.18.0<
阅读全文
摘要:本文将历史服务器的日志信息保存到Hadoop 的 HDFS上,也可选择保存到本地磁盘上。 1.在HDFS上创建保存日志的文件夹 hadoop fs -mkdir -p /logs/flink-job 2.修改flink配置文件,添加历史服务器相关配置 vi /usr/flink/flink-1.18
阅读全文
摘要:应用模式:用户代码在JobManger上解析、运行,而不是在客户端上进行 YARN上部署的过程: 客户端把 Flink 应用提交给 Yarn 的 ResourceManager,Yarn 的 ResourceManager 会向 Yarn 的 NodeManager 申请容器。在这些容器上,Flin
阅读全文
摘要:单作业模式:提交作业时才启动Flink集群。不用事先启动,直接flink run即可,注意需要添加-t yarn-per-job参数用于区分。 YARN上部署的过程: 客户端把 Flink 应用提交给 Yarn 的 ResourceManager,Yarn 的 ResourceManager 会向
阅读全文
摘要:YARN上部署的过程: 客户端把 Flink 应用提交给 Yarn 的 ResourceManager,Yarn 的 ResourceManager 会向 Yarn 的 NodeManager 申请容器。在这些容器上,Flink 会部署 JobManager 和 TaskManager 的实例,从而
阅读全文
摘要:本文基于:Flink Java Demo 1.下载 https://dlcdn.apache.org/flink/flink-1.18.0/flink-1.18.0-bin-scala_2.12.tgz 2.解压 mkdir /usr/flink tar -zxvf /home/flink-1.18
阅读全文
摘要:1.新建Maven项目 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
阅读全文
摘要:本文基于Flink Java Demo 1.WebUI作业提交 2.命令行提交 1.将Maven打包后的jar包上传到集群节点[略] 2.提交作业 /usr/flink/flink-1.18.0/bin/flink run -m 192.168.58.130:8081 -c cn.coreqi.Wo
阅读全文
摘要:Flink 在Standalone集群模式下不支持单作业模式部署,单作业模式需要借助资源管理平台。 1.Flink角色 Client:用于提交任务的客户端 JobManager:调度、分发任务的管理器 TaskManager:执行任务 2.集群规划 节点服务器 Hadoop02(192.168.58
阅读全文
摘要:本文的前提条件: SparkStreaming in Java 参考地址:Spark Streaming + Kafka Integration Guide (Kafka broker version 0.10.0 or higher) 1.添加POM依赖 <dependency> <groupId
阅读全文
摘要:本文的前提条件: SparkStreaming in Java 参考地址:Spark Streaming Custom Receivers 1.自定义数据采集器 package cn.coreqi.receiver; import org.apache.spark.storage.StorageLe
阅读全文
摘要:参考地址:Spark Streaming Programming Guide 1.新建Maven项目,POM引入依赖 <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-streaming_2.13</artifact
阅读全文
摘要:Spark Thrift Server是Spark社区基于HiveServer2实现的一个Thrift服务 协议和接口同HiveServer2完全一致,无缝兼容HiveServer2 目的是取代HiveServer2,依旧可以和Hive的Metastore进行交互,获取Hive元数据 部署Spark
阅读全文
摘要:本文的前提条件: SparkSQL in Java 1.增加POM依赖 <dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> <version>8.0.33</version> </d
阅读全文
摘要:Spark中本身内置了Hive,但一般用于测试,生产环境中需要连接外置的Hive 1.将Hive的配置文件hive-site.xml拷贝到Spark的配置目录下 cp /usr/hive/apache-hive-3.1.3-bin/conf/hive-site.xml /usr/spark/spar
阅读全文
摘要:本文的前提条件: SparkSQL in Java 参考地址:JDBC To Other Databases 1.POM添加Mysql JDBC驱动 <dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</ar
阅读全文
摘要:本文的前提条件: SparkSQL in Java 参考地址:User Defined Aggregate Functions (UDAFs) 1.声明列实体类 package cn.coreqi.entity; import java.io.Serializable; public class U
阅读全文
摘要:本文的前提条件: SparkSQL in Java 参考地址:User Defined Aggregate Functions (UDAFs) 1.自定义实体类 package cn.coreqi.entity; import java.io.Serializable; public class A
阅读全文
摘要:本文的前提条件: SparkSQL in Java 代码如下 1.自定义聚合函数 package cn.coreqi.udaf; import org.apache.spark.sql.Row; import org.apache.spark.sql.expressions.MutableAggre
阅读全文
摘要:本文的前提条件: SparkSQL in Java 参考地址: Scalar User Defined Functions (UDFs) 完整代码 package cn.coreqi; import static org.apache.spark.sql.functions.udf; import
阅读全文
摘要:参考地址:Starting Point: SparkSession 1.新建Maven项目,POM引入依赖 <dependencies> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.13</art
阅读全文
摘要:独立部署(Standalone)模式由 Spark 自身提供计算资源,无需其他框架提供资源。这种方式降低了和其他第三方资源框架的耦合性,独立性非常强。但是Spark 主要是计算框架,而不是资源调度框架,所以本身提供的资源调度并不是它的强项,所以还是和其他专业的资源调度框架集成会更靠谱一些。 在国内工
阅读全文
摘要:1.下载Spark 3.5.0 https://spark.apache.org/downloads.html 2.安装JDK Linux 安装Openjdk 3.安装Hadoop Hadoop-3.3.6分布式集群搭建步骤 4.安装Zookeeper ZooKeeper 3.9.1 集群模式安装
阅读全文
摘要:1.连接节点 bin/zkCli.sh -server 192.168.58.131:2181 2.命令行语法 命令基本语法 功能描述 help 显示所有操作命令 ls path 使用ls命令来查看当前znode的子节点[可监听]-w 监听子节点变化-s 附加次级信息 create 普通创建-s 含
阅读全文
摘要:1.安装 rsync远程同步工具 apt install -y rsync 2.配置host映射【略】 vi /etc/hosts 3.配置SSH免密登录 使用SSH远程登陆Linux 4.编写xsync集群分发脚本 vi /usr/bin/xsync #! /bin/bash #1 获取输入参数个
阅读全文
摘要:1.创建脚本 vi /usr/bin/zk #!/bin/bash if [ 1 in "start"){ for i in 192.168.58.130 192.168.58.131 1
阅读全文
摘要:准备三台集群节点 1.下载ZooKeeper 3.9.1 https://dlcdn.apache.org/zookeeper/zookeeper-3.9.1/apache-zookeeper-3.9.1-bin.tar.gz 2.安装JDK Linux 安装Openjdk 3.解压 mkdir /
阅读全文
摘要:配置文件位于Conf/zoo_sample.cfg,如果要生效的话需要重命名为zoo.cfg 1.tickTime tickTime=2000,通信心跳时间,Zookeeper服务器与客户端心跳时间,单位毫秒 2.initLimit initLimit=10,LF初始通信时限,Leader和Foll
阅读全文
摘要:1.下载ZooKeeper 3.9.1 https://dlcdn.apache.org/zookeeper/zookeeper-3.9.1/apache-zookeeper-3.9.1-bin.tar.gz 2.安装JDK Linux 安装Openjdk 3.解压 mkdir /usr/zooke
阅读全文
摘要:本文章的前提是 Spark 3.5.0 独立部署(Standalone)模式 or Spark Yarn模式 1.在Hadoop上创建用于存放Spark日志的存储路径 hadoop fs -mkdir /spark_logs 2.tmp目录创建存放事件日志的目录 mkdir /tmp/spark-e
阅读全文