Flink On YARN 远程 debug
配置⽂件修改:flink-conf.yaml # jobmanager debug端⼝ env.java.opts.jobmanager: "- agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5006" # taskmanager debug端⼝ env.java.opts.taskman
Flink Session 集群任务运⾏完后 TaskManager 30s 释放资源
场景Flink 批任务提交中,如果任务运行结束后,整个作业的 TaskManager 会释放掉资源,下次如果继续往这个 Session 集群新提交任务的话,会重新申请 TaskManager。但是如果作业需要较多的 TaskManager 的话,申请资源的时间会较长,对于分钟级别的调度任务会有较大的影响。 原因通常会出现这个日志:TaskExecutor exceeded the idle
list增强for循环删除元素报错
原因在Java中,使用增强for循环(也称为for-each循环)遍历一个列表,并在遍历时删除其中的元素是一个常见的错误,因为它会导致并发修改异常(ConcurrentModificationException)。举例: List<Integer> list = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5, 6)); fo
ChatGPT的插件和工具推荐
WebChatGPT通过这款扩展,它可以访问互联网上的最新信息。 ChatGPT for Google可以在搜索引擎的搜索结果页面,同时显示ChatGPT的回答,打开谷歌并且开始搜索,ChatGPT for Google插件会出现在右侧,ChatGPT会根据你的Google搜索结果回答你的问题。 YouTube Summary with ChatGPT当你在 YouTube 上浏览视频时,
SLF4J日志记录常见写法
代码示例 protected final Logger log = LoggerFactory.getLogger(getClass()); 使用protected final Logger log定义日志对象是为了避免在类中重复创建Logger实例,因为Logger实例的创建可能会比较昂贵。protected关键字可以让子类继承该Logger对象,而final关键字则表示该Logge
Flink调度之调度器、调度策略、调度模式
调度器SchedulerNG:介绍:是Flink从1.10版本开始引入的新的任务调度器,相比之前的调度器具有更高的性能和可扩展性。特性:1、负责将任务分配给可用的执行槽,并管理执行槽的生命周期。2、根据任务的需求和执行槽的资源情况,动态地决定任务在哪个执行槽上执行,并实现任务和执行槽之间的匹配和调度。3、采用了基于优先级的任务调度算法,可以根据任务的优先级和需求对任务进行排序和调度。4、提供了
Flink的Task实现方式
介绍Flink的Task是通过线程实现的。在Flink中,每个并行的任务都会被分配给一个线程来执行。Flink的任务执行引擎会根据任务的并行度来创建对应数量的线程,并将不同的任务分配到这些线程上进行执行。每个Flink任务都包含一个或多个子任务(也称为子任务链),并且每个子任务都分配给一个线程来执行。当一个子任务完成时,它的输出数据将被传递给下一个子任务,这些子任务可以在同一个线程或不同的线程
Java表达式求值引擎 - Aviator
介绍Aviator是一个高性能的Java表达式求值引擎,它可以快速地计算表达式的值。Aviator是一个高性能、简单、安全和可扩展的Java表达式求值引擎,它可以提高应用程序的性能并确保表达式的安全性。 特性快速:Aviator是一个高性能的表达式求值引擎,它比Java的原生求值方式更快,可以提高应用程序的性能。简单:Aviator的语法比较简单,类似于Java语法。开发人员可以很容易地学习
Flink Table Store 的介绍
概述Flink Table Store是Apache Flink的一种存储格式,它使用表格的概念来组织数据,Flink Table Store是一种高效、灵活、易用的数据存储格式,它可以支持大规模数据的处理和查询,并且可以方便地与Flink的其他组件集成。 特性基于表格:Flink Table Store是基于表格的,它使用类似于SQL的语法来查询和操作数据。这种语法比较容易理解,因此使用F
Flink - datagen 的介绍
介绍在Flink中,Datagen是一个用于生成模拟数据的工具,可以用于在Flink集群中测试和调试Flink作业。它可以生成随机的数据流或批数据,以及按照特定规则生成数据流或批数据。 特性高度可定制性:Datagen可以生成各种类型的数据,例如数字、字符串、日期等,并可以根据用户的需要进行高度定制。支持流和批处理:Datagen可以生成无限的数据流或有限的批处理数据,并且可以指定数据生成速
Flink的Job manager中包含了哪三个组件
介绍在Flink中,Job Manager(作业管理器)是整个Flink集群的中心组件,它负责协调、调度和管理Flink作业的运行。Job Manager中包含了以下三个组件:JobMaster:JobMaster是作业管理器的核心组件,负责作业的调度和管理。当用户提交一个Flink作业时,JobMaster会为该作业创建一个ExecutionGraph(执行图)并启动一个JobExecuti
final修饰和static final修饰的区别
概述final 和 static final 都是Java中的关键字,它们都用于限制变量的修改。但是它们之间还是有区别的。final 关键字用于修饰变量,表示该变量的值在初始化之后不能再被修改。static final 关键字用于修饰变量,表示该变量是静态的,它的值在初始化之后也不能被修改。同时,static final 变量是一个常量,它只有一个拷贝存在于内存中,因此可以被所有实例共享。另外
final修饰String的作用
介绍当一个String类型的变量被final修饰时,表示该变量所引用的字符串对象是不可变的。这意味着,该变量所引用的字符串对象在被创建后,其值不能被修改。例如,下面的代码定义了一个String类型的变量str,并将其用final关键字修饰: final String str = "hello"; 在这种情况下,str引用的字符串对象”hello”是不可变的,即使尝试
final修饰Map的作用
介绍在Java中,当一个变量被final修饰时,意味着该变量的值不能再被修改。如果将final关键字用于一个类,则该类不能被继承。在Map被final修饰时,表示该Map变量引用的对象不能被替换为另一个对象,但是可以修改该对象的内容。 举例 final Map<String, Integer> map = new HashMap<>(); map.put(&quo
Flink发行包中 lib 目录下的文件作用
flink-core.jar:包含了Flink的核心代码,例如JobGraph、TaskManager、Task、Checkpoint等。这些类是Flink运行时环境的核心组件,负责实现作业的调度、执行和容错等功能。 flink-java.jar:包含了Flink的Java API,例如DataStream、DataSet、ExecutionEnvironment等。这些类是Flink编程的
jvm 可以限制cpu吗
介绍JVM 并不能直接限制 CPU 使用率,因为 CPU 使用率是由操作系统调度进程和线程所决定的。但是,可以通过 JVM 参数来影响 JVM 在系统中的 CPU 使用情况。下面介绍几种方式:设置 JVM 的 CPU 亲和性在多核 CPU 的情况下,可以通过设置 JVM 进程的 CPU 亲和性来限制 JVM 所使用的 CPU 核心。在 Linux 系统下,可以使用 taskset 命令来设置
yarn-per-job提交流程
执行流程图
Flink内部之间的通信
Akka:Flink内部节点(组件)之间的通信是用,比如JobManager和TaskManager之间的通信。Netty:operator之间的数据传输。RPC框架:组件通信的总称;Akka、Netty等都是它的具体实现。Flink整个通信框架的组件主要由RpcEndpoint、RpcService、RpcServer、AkkaInvocationHandler、AkkaRpcActor等构
CDH6.3的Kafka消费不到消息
主要原因集群内仅配置一个broker,但是kafka里的offsets.topic.replication.factor=3 解决的方案https://blog.csdn.net/haoxiaoyan/article/details/90269305
设置root用户有写入和查询hdfs上面文件的权限
以HDFS超级用户身份登录到NameNode节点上的终端 执行以下命令来为root用户授权: hadoop fs -chmod -R 777 /user/ 确认授权是否成功,可以使用以下命令来检查: hadoop fs -ls /user/