blink解决的一个flink分析痛点

浪院长 浪尖聊大数据

blink正在紧锣密鼓的与flink合并,作为flink开发者,大数据开发者,还是有必要测试一下的,经常有粉丝微信群里问浪尖会不会用blink,关于这点,我发过文章了:

浪尖你怎么看blink开源?

我的建议是等合并之后,测试稳定了再用。

那么今天也主要是测试调研一下blink。前面说了对于大数据框架,除了要理解底层的原理之外,还要掌握如何分析查看性能瓶颈,blink除了从底层多处进行优化之外,还优化了flink的 web ui,而且都有了比较大的提升。

关于blink的官方优化点说明,大家可以查看flink 的github blink 分支,里面的readme.md文档。

https://github.com/apache/flink/tree/blink

首先,导入blink入idea

idea直接支持通过git上导入blink,方式是

跳出下面的窗口,在url栏输入flink的地址

然后就是等待了,,,

导入成功之后,在右下角切换分支到blink

然后就可以编译了,编译之前呢,需要注释掉pom.xml里代码风格检测的内容。然后执行

mvn clean package -DskipTests

编译结束之后,会在build-target目录下生成blink的安装文件,然后你可以复制出来,仅仅想本地模式测试的话,可以直接,执行

bin/start-cluster.sh

启动完成之后,浏览器输入host:8081,即可登陆blink的web ui。

可以看到web ui的内容风格已经完全重构,而且细节非常丰富。

下面是官方给出的web 优化点:

我们在 Flink Runtime Web 的易用性与性能等多个方面进行了改进,从资源使用、作业调优、日志查询等维度新增了大量功能,使得用户可以更方便的对 Flink 作业进行运维。资源使用:新增 Cluster、TaskManager 与 Job 三个级别的资源信息,资源的申请与使用情况一目了然。作业调优:作业的拓扑关系及数据流向可以追溯至 Operator 级别,Vertex 增加 InQueue,OutQueue等多项指标,可以方便的追踪数据的反压、过滤及倾斜情况。日志查询:TaskManager 和 JobManager 的日志功能得到大幅度加强,从Job、Vertex、SubTask 等多个维度都可以关联至对应日志,提供多日志文件访问入口,以及分页展示查询和日志高亮功能。交互优化:对页面交互逻辑进行了整体优化,绝大部分关联信息在单个页面就可以完成查询和比对工作,减少了大量不必要的跳转。性能提升:使用 Angular 7.0 进行了整体重构,页面运行性能有了一倍以上的提升。在大数据量情况下也不会发生页面假死或者卡顿情况。

日志管理

在这里浪尖主要想提的就是关于日志相关的监控,大家都知道flink日志只有taskmanager和jobmanager的,要是集群运行多任务的话就会导致日志分析很蛋疼,所以目前on yarn的情况都是单个任务。

blink的日志,给我们细分了文件,方便我们针对应用程序查看

运行两个简单的任务

bin/flink run examples/streaming/bin/flink run examples/streaming/Kafka010Example.jar --input-topic test --output-topic boo --bootstrap.servers mt-mdh.local:9093 --groupid test

查看taskmanager的日志,可以看到TaskManager 和 JobManager 的日志功能得到大幅度加强,从Job、Vertex、SubTask 等多个维度都可以关联至对应日志,提供多日志文件访问入口,以及分页展示查询和日志高亮功能。

当然这个日志文件名区分度还不是很高,主要要根据提交任务的主机,然后提交顺序来查找:日志和程序之间的对应关系,但是已经大幅度提高了我们分析日志的能力了,因为原有的flink日志比较集中于taskmanager,那么就假如运行时间久,日志文件会越滚越大,运行任务多日志交叉,然后导致问题分析变的难度比较高。

好了,今天分析就到这,后面继续揭开blink 的神秘面纱。

2019年欢迎加入浪尖知识星球,与580位球友一起学习,今天继续flink教程~

©著作权归作者所有:来自51CTO博客作者mob604756ed02fe的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 成为大数据高手的活法-晚上复盘
  2. 注定不平凡的2019~~
  3. 重要|Spark driver端得到executor返回值的方法
  4. Spark Core读取ES的分区问题分析
  5. Flink通过异步IO实现redis维表join
  6. 浪尖刷过leetcode的题
  7. flink sql使用中的一个问题
  8. spark面试该准备点啥
  9. 获取yarn上APP的状态案例

随机推荐

  1. Android(安卓)SDK更新后 ADT R17 E/Andro
  2. android xml 常用控件介绍
  3. android 创建动态创建菜单(钩子)
  4. android 开启本地相册选择图片并返回显示
  5. 如何解决:Android中 Error generating fin
  6. Android横竖屏切换解决方案
  7. Android的安装和配置【Z】
  8. Android生成keystore是报错拒绝访问
  9. Received status code 400 from server:
  10. Android helloword demo程序不能运行