flink
Jeseva
简单简单的大数据开发小兵.
期望使用SQL来降低各个技术的学习成本
展开
-
flink on k8s native 再次实践
基于flink 1.13.2版本做的实践本次主要实践flink on k8s native 的两种方式, 分别是sesion 和 application方式第一步: k8s环境准备 1, 创建一个namespace kubectl create namespace flink-session-cluster-test-1213 2, 新建一个serviceaccount, 用来提交flink的任务 kubectl create serviceaccount flink -n原创 2021-12-15 18:05:53 · 4216 阅读 · 7 评论 -
使用arthas在线诊断flink的那些事
最近在使用arthas诊断工具, 诊断java服务的一些问题, 突然想到能不能使用arthas诊断flink的jobManager和taskManager呢? 答案是可以的.下载tunnel-server的jar包使用的是Arthas Tunnel方式.第一步: 先启动一个 tunnel-server服务, 在服务器:10.0.16.1 执行 java -jar -Dserver.port=4433 -Darthas.server.port=7766 arthas-tunnel-server-原创 2021-09-10 14:14:22 · 1337 阅读 · 7 评论 -
flink1.13 on native k8s
flink 版本: 1.13.0 k8s 版本: v1.16.2 本次试用都是在default的namespace下操作的, 如果有需要可以 通过 -Dkubernetes.namespace=default来指定namespace, 并在在kubectl操作时, -n来指定方案一: 基于flink session来实现 先创建一个flink session. 此时由于没有任务的提交, 是没有taskManager的./data/flink-1.13.0/bin/kubern..原创 2021-05-13 17:01:52 · 1716 阅读 · 5 评论 -
flink流元素理解
StreamElement 为flink的数据流的流元素的接口类. 其有四个子类.StreamRecord: 1, 封装了每一个元素, 视为一条数据,或者是一个事件.LatencyMarker: 1, 用来评估数据流转DAG的延时, 用来监控数据处理延时使用.StreamStatus: 1, 用来通知task是否会继续接收到上游的记录或者Watermark.StreamStatus在数据源算子中生成,向下游DAG传播. 有两种状态, 一种为空闲状态,一种为活动状态Watermark:原创 2021-05-07 15:18:04 · 233 阅读 · 0 评论 -
flink资源篇之内存管理
在谈及Flink的内存管理时, 必须要回答一个问题. Flink为什么需要自己管理内存, 而不是使用JVM来管理内存? 现在通常的回答是: 1) jvm存储对象密度低. 2) full gc 会极大的影响性能, 可能达到秒级甚至分钟级. 3) OOM问题等.1. JobManager/TaskManager的内存模型:官方文档源码中的位置为:org.apache.flink.configuration.TaskManagerOptionsorg.apa..原创 2021-04-29 17:37:39 · 793 阅读 · 0 评论 -
使用grafana+prometheus监控flink任务
1,软件安装:grafana+prometheus 安装教程请参考文章: 安装教程2,flink配置方案一: 修改文件conf/flink-conf.yamlmetrics.reporter.promgateway.class: org.apache.flink.metrics.prometheus.PrometheusPushGatewayReporter#这里填写安装的prometheusGateway的ipmetrics.reporter.promgateway.host原创 2021-04-22 17:01:01 · 2915 阅读 · 0 评论 -
flink提交到yarn时, 自定义container的提交命令
在flink提交命令到yarn时,有时需要添加自定义的命令或者参数, 那么可以使用-yD yarn.container-start-command-template 来实现.-yD yarn.container-start-command-template="%java% %jvmmem% %jvmopts% %logging% -Dkafka.servers=xx.xx.xx.xx:9092,xx.xx.xx.xx:9092,xx.xx.xx.xx:9092 -Dflink.job.yarn.原创 2021-03-11 10:55:54 · 416 阅读 · 0 评论 -
flink on yarn时的 slot,taskManager,jobManager,parallelism,container之间的关系
在使用命令提交任务到yarn时.flink run -m yarn-cluster -ys 2 -p 1 -yjm 1G -ytm 2G -d -yqu default -ynm iot_flink_flow-3812_1 -c cn..IotFileMain iot-flink-sql-runtime-1.0.3-SNAPSHOT.jar -jsonFile ./iot_flink_flow-3812_1.txtys 表示为一个taskManager的slot大小yjm 表示为jobMan原创 2021-02-24 17:19:01 · 956 阅读 · 0 评论 -
flinkSql 时间窗口到达前 输出结果
flinkSql的时间窗口,可以将一段时间内的数据进行聚合计算. 但是有时, 我们希望可以在时间窗口截止前, 就可以看到结果. 一种方案是: 使用嵌套的时间窗口, 另一种方案是, 在代码进行配置.我们这里说下如何在代码里进行配置比如, 时间窗口为 12小时-12小时 (24小时为一个窗口), 但是希望每5分钟就需要输出一次结果. 配置如下: Configuration conf = new Configuration(); conf.setString( "ta原创 2020-08-28 14:51:34 · 1895 阅读 · 4 评论 -
flinkSql将嵌套Json映射成source表
flinkSql在遇到复杂的json时,如何映射成表呢? 这里推荐一种方便的方式:嵌套的json格式如下:{ "data":{ "data":{ "mac_value":0, "ad_name":2056, "voice":75, "dataTimeStamp":1598522106830 }, "type":3, "deviceId":原创 2020-08-28 14:13:18 · 2142 阅读 · 4 评论 -
flinksql的primary key异常处理
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2020-08-08 14:58:04 · 7539 阅读 · 1 评论 -
flink的akka timeout异常处理
flink运行时, 出现akka timeout异常ERROR akka.remote.Remoting - Association to [akka.tcp://flink@xxxxx:36569有可能的原因是 jdk版本不对 升级jdk版本, 将版本(jdk1.8.0_11 )升至jdk1.8.0_221或之后,重新启动集群,重新提交作业,可以正常运行...原创 2020-08-05 10:13:10 · 1690 阅读 · 0 评论 -
Flink使用RestApi
flink是一个非常好用的流任务计算框架, 这次我们来试用flink的restApi来提交任务.1, 上传jar包 public static boolean uploadJar( File jarFile) { RequestBody requestBody = new MultipartBody.Builder() .setType(MultipartBody.FORM) .addFormDataPart("fil原创 2020-08-05 09:51:30 · 5099 阅读 · 3 评论