- 博客(30)
- 资源 (4)
- 收藏
- 关注
原创 使用 .idea 远程调试 flink 程序
flink 配置调试 client修改 bin/flink 脚本,在 exec $JAVA_RUN $JVM_ARGS $FLINK_ENV_JAVA_OPTS "${log_setting[@]}" -classpath "manglePathList “CCCLASSPATH:CC_CLASSPATH:CCCLASSPATH:INTERNAL_HADOOP_CLASSPATHS”" org.apache.flink.client.cli.CliFrontend "$@" 命令之前,添加下面的命令:
2020-10-15 15:25:55
1242
1
原创 制作 jvm 火焰图
1 jvm-profiler 编译git clone https://github.com/uber-common/jvm-profiler.gitcd jvm-profilermvn clean packagejvm-profiler-1.0.0.jar 包在 target 目录下2 运行 java 程序要运行的 java 程序启动命令中添加如下 jvm 参数:-javaagent:lib/jvm-profiler-1.0.0.jar=sampleInterval=50javaagen
2020-09-22 14:09:35
1055
原创 网络监控工具 ifstat
1. 下载安装wget http://gael.roualland.free.fr/ifstat/ifstat-1.1.tar.gztar zxvf ifstat-1.1.tar.gz cd ifstat-1.1./configuremakemake install2. 命令行ifstat [-a] [-l] [-z] [-n] [-v] [-h] [-t] [-i if0,if1,...] [-d drv[:opt]] [-s [comm@][#]host[/nn]] [-T] [-A]
2020-09-17 10:17:09
1323
原创 flink-1.11 native k8s 测试
flink on k8s 目前有两种模式:Kubernetes:用户通过定义 flink 的 k8s 资源描述文件,由 kubectl 命令启动,最终以 standalone session cluster 或 standalone job cluster 模式运行。其中 standalone session cluster 运行多个作业;standalone job cluster 只运行一个作业。Native Kubernetes:用户通过 flink run 命令直接提交作业,由 flink 客
2020-09-11 11:58:55
1806
原创 k8s 操作备忘
删除 servicekubectl delete service prometheus-tim-3864503240-rwpq5 查看 pod 信息kubectl describe pod prometheus-tim-3864503240-rwpq5删除 podkubectl delete pod prometheus-tim-3864503240-rwpq5 -n kube-system获取 pod 日志kubectl logs flink-cluster-913082d2-aa20
2020-08-27 15:31:26
269
原创 docker 操作备忘
1.docker 私服创建私服docker run -d -p 5000:5000 --restart=always --name registry registry:2拉取 docker 镜像docker pull busybox拉取最新的busybox镜像后,再给其打标,准备发布到Registry中docker tag flink:1.10.0.1 myk8s:5000/flink:1.10.0.1最后再推送给Registrydocker push myk8s:5000/flink
2020-08-27 15:14:11
116
原创 flink-1.11 pyflink 部署文档
官方文档对 pyflink 的使用说明不是很详细。本文主要参考了 孙金城 大佬的下面几篇文章:Apache Flink 说道系列 - PyFlink 作业的多种部署模式Three Min Series - How to using PyFlink Shell代码参考:https://github.com/pyflink/playgrounds结合自己测试过程,有些地方做了修改,做一个记录。1.从源码编译 flink如果已经获得 flink 二进制包,可以跳过该步骤。可以参考官方文档 Build
2020-08-03 10:29:35
1637
原创 flink-1.11 Application 模式
1. 背景flink-1.11 引入了一种新的部署模式,即 Application 模式。目前,flink-1.11 已经可以支持基于 Yarn 和 Kubernetes 的 Application 模式。2. 优势Session模式:所有作业共享集群资源,隔离性差,JM 负载瓶颈,main 方法在客户端执行。Per-Job模式:每个作业单独启动集群,隔离性好,JM 负载均衡,main 方法在客户端执行。通过以上两种模式的特点描述,可以看出,main方法都是在客户端执行,社区考虑到在客户端执行
2020-07-27 18:06:13
5576
原创 flink state restore 流程源码分析
之前我们了解过 flink checkpoint 流程 和 flink checkpoint 存储策略 ,而当 flink 作业失败恢复或者用户手动从某一个 savepoint/checkpoint 恢复时,就会触发 state restore 流程。下面我们对该流程进行详细分析。本文代码基于 flink-1.10.1.和 checkpoint 流程一样,checkpoint state restore 也需要 CheckpointCoordinator 的参与。CheckpointCoordinat
2020-06-28 19:05:26
2063
原创 flink checkpoint 存储策略源码分析
我们在 flink checkpoint 流程分析 这篇文章中,详细介绍了 checkpoint 的过程;在 Flink 如何保存状态数据 中,介绍了 state 的分类、state 的三种后端存储方式和具体使用方法,并在逻辑上简要介绍了 statebackend 保存 state 的方法。本文将在上面两篇文章基础上,详细介绍 state 的存储策略。本文基于 flink-1.10 版本。文章目录1.同步阶段1.1 DefaultOperatorStateBackend#snapshot()1.2
2020-06-10 16:12:19
2676
2
原创 flink checkpoint 流程源码分析
flink 容错机制的核心是对数据流做连续的分布式快照(snapshots)。在系统失败时,各个算子可以从这些快照构成的检查点(checkpoint)恢复到故障之前的状态,保证即使遇到故障,作业的最终结果只被数据流中的每一条消息影响一次(exactly-once) (这里可以通过配置退化成 at least once)。生成分布式快照的机制在 “[Lightweight Asynchronous Snapshots for Distributed Dataflows](Lightweight Asynchr
2020-05-14 16:53:09
1701
转载 Flink 基于 MailBox 实现的 StreamTask 线程模型
文章目录@[toc]1.动机2.设计方案2.1 StreamTask 中要做的改变2.2 client 代码需要做的改变2.3 event 的产生与处理2.4 Checkpoint 和 timer 的 trigger3.具体实现3.1 StreamTask 处理流程3.1.1 process-mail 处理3.1.2 event-processing 处理3.1.3 checkpoint trig...
2020-04-23 10:45:03
2533
3
转载 flink-1.10 pyflink onyarn 安装文档(支持 UDF)
1.从源码编译 flink注意:需要 Python 3.5+如果已经有 apache-flink-*.dev0.tar.gz 二进制包,可以跳过这一步。mvn clean install -DskipTests会在 flink-python/dist 目录生成一个 apache-flink-*.dev0.tar.gz 二进制包,拷贝该包到需要安装 pyflink 的机器2.安装并测试...
2020-03-03 19:36:04
2527
18
翻译 flink-1.10 native-k8s (Beta)
注意:flink-1.10 版本的 native-k8s 还是实验版本,相关配置或客户端可能在未来变更。并且当前版本仅支持 session 模式1.环境需求Kubernetes 版本 >= 1.9用户需要有在 k8s 集群上的相关权限(list/create/delete pods/delete services),需要准备好 KubeConfig 文件,默认会使用( ~/.kube...
2020-03-03 12:49:52
722
原创 flink-1.10 统一作业提交逻辑
文章目录1.FLIP-73 : 通用的 Executor 接口2.FLIP-81:Executor 相关的新配置3.FLINK-74:Flink JobClient APIflink-1.10 之前,任务提交通常遇到以下问题:任务提交由 Execution Environments 负责,并且和部署的环境(yarn k8s mesos)高度绑定,导致最终 Execution Environm...
2020-02-25 17:56:36
2115
翻译 flink1.10-release-note及新特性整理
附 xmind 源文件:链接: https://pan.baidu.com/s/1MGiCshlxTRg0OFbCRvZNrA 提取码: mt6c
2020-02-24 10:54:45
668
翻译 flink-1.10 内存模型详解
文章目录1.概览2.框架内存(Framework Memory)3.根据比例限制的组件(Capped Fractionated Components)4.对应的 JVM 参数(JVM Parameters)5.本地执行时的内存策略(Local Execution)之前的一篇 文章(flink-1.10 如何配置 Task Executor 内存)介绍了新的内存模型下配置 task executo...
2020-02-20 16:43:19
4203
翻译 flink-1.10 如何配置 Task Executor 内存
文章目录配置总内存配置 Task Heap 和 Managed MemoryTask (Operator) Heap MemoryManaged Memory配置 Off-Heap Memory (direct or native)flink 分别提供了通用和细粒度的内存配置,来满足不同用户的需求。配置总内存[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VOC...
2020-02-19 17:32:34
4894
1
原创 flink 异步 io(Async I/O) 示例
文章目录异步 I/O 是为了解决 flink 与外部系统 (REST SERVER/Hbase/Mysql 等) 进行频繁交互时的延时而提出的一个特性。官方文档见https://ci.apache.org/projects/flink/flink-docs-master/dev/stream/operators/asyncio.htmlhttps://cwiki.apache.org/c...
2020-01-17 14:23:47
1292
原创 java 调试命令
文章目录jpsjstackjmap(Memory Map) and jhat(Java Heap Analysis Tool)jps输出JVM中运行的进程状态信息jps [-q] [-mlvV] [<hostid>]-q 不输出类名、Jar名和传入main方法的参数-m 输出传入main方法的参数-l 输出main类或Jar的全限名-v 输出传入JVM的参数jstac...
2019-11-12 16:04:52
762
翻译 Flink 如何保存状态数据
Flink 的一个重要特性就是有状态计算(stateful processing)。Flink 提供了简单易用的 API 来存储和获取状态。但是,我们还是要理解 API 背后的原理,才能更好的使用。本文分为 3 个部分:Flink支持的三种 State Backendstate 文件格式state 持久化及故障恢复我们首先看下 state 究竟存储在哪里。State 存储方式Fli...
2019-11-06 19:37:41
12333
转载 Yarn NodeManager restart 特性
一、介绍默认Yarn NodeManager重启后会断开所有当前正在运行的container的状态,这意味着重启后需要重新启动container进程,该特性的作用就是把NM的状态临时保存到本地,重启后从之前的状态恢复运行。二、配置配置以下三个参数到conf/yarn-site.xml中yarn.nodemanager.recovery.enabled默认为false,设置为true启...
2019-10-30 18:48:58
507
转载 深入理解 Flink 容错机制
本文转载自深入理解 Flink 容错机制作为分布式系统,尤其是对延迟敏感的实时计算引擎,Apache Flink 需要有强大的容错机制,以确保在出现机器故障或网络分区等不可预知的问题时可以快速自动恢复并依旧能产生准确的计算结果。事实上,Flink 有一套先进的快照机制来持久化作业状态[1],确保中间数据不会丢失,这通常需要和错误恢复机制(作业重启策略或 failover 策略)配合使用。在遇到错...
2019-10-30 16:48:58
747
原创 Flink 如何读取 kafka 数据后以 gzip 压缩格式写入hdfs?
Flink官方提供了 StreamingFileSink 用来写行或者列式数据到 hdfs,官方提供了 Row-encoded 和 Bulk-encoded 的例子,并分别以 String 类型和 parquet 类型提供了示例。https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/connectors/streamfil...
2019-10-25 12:20:50
1944
1
原创 Flink Broadcast State 使用示例
什么是 Broadcast StateBroadcast State 是 Flink 1.5 引入的新特性。在开发过程中,如果遇到需要下发/广播配置、规则等低吞吐事件流到下游所有 task 时,就可以使用 Broadcast State 特性。下游的 task 接收这些配置、规则并保存为 BroadcastState, 将这些配置应用到另一个数据流的计算中 。英语好的同学可以直接移步 Flink...
2019-03-29 17:03:31
7511
1
原创 Flink-Release Notes - Flink 1.8
状态(State)连续增量的清理过期的 state 数据Flink 从 1.6 版本开始引入了 Keyed State 的 TTL(time-to-live) 机制。当访问 Keyed State 时,flink 会检查是否过期,并清理已经过期的 state。其他的 state 可以在写 savepoint/checkpoint 时被清理。Flink 1.8 为 RocksDB state ...
2019-03-27 18:19:03
543
原创 HiveServer2 配置 HA 及在 HA 模式下的连接
HiveServer2 HA 模式依赖 Zookeeper,需要预先安装好 ZK 集群。HA 模式一般需要启动2个以上的 HiveServer2,当然启动一个也可以连接。配置 HA 模式1.修改 HiveServer2 的hive/conf/hive-site.xml 文件,添加下面4个配置<property> <name>hive.server2.supp...
2019-03-21 15:53:13
2362
1
原创 Flink Vs Storm性能测试
吞吐和延时是实时流处理的两个重要指标,本次性能测试也围绕这两个指标进行。测试环境集群单个机器参数测试集群共3个机器,每个机器配置如下:参数项参数值CPUIntel® Xeon® CPU E5-2430 v2 @ 2.50GHzcore24Memory125GOSCentOS Linux release 7.2.1511 (Core)网卡...
2019-03-12 16:08:40
2322
2
原创 Flink 通过 REST API 获取实时 task metric 汇总统计信息
#Flink 通过 REST API 获取实时 task metric 汇总统计信息运行 flink 程序时会经常需要查看当前程序的运行状况,flink 提供了 UI 界面,有比较详细的统计信息。但是 UI 界面也有不完善的地方,比如想要获取 flink 的实时吞吐。本文通过示例介绍通过 flink REST API 获取 flink 实时吞吐。为了更简单的表示,以下的 REST API 请求...
2019-03-11 19:49:26
9874
2
原创 hadoop运行命令总结(更新中)
hadoop版本:hadoop-1.2.1,解压缩到 /usr/java/hadoop 目录下1.进入hadoop目录:cd /usr/java/hadoop/hadoop-1.2.12.启动hadoop: hadoop@ck-ubuntu:/usr/java/hadoop/hadoop-1.2.1$ ./bin/start-all.sh3.jps查看所有java进程:hado
2015-01-07 19:42:14
798
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人