「 FLINK 」
October 31, 2020
Words count
23k
Reading time
21 mins.
Flink版本:1.10.1
kubernetes:1.16.5
Flink 在Kubernetes上部署分为Job cluster和Session cluster两种模式。Job cluster需要我们将自己的Jar打到flink镜像里一块部署,session模式可以启动cluster之后,我们再提交jar到session cluster。
在YARN模式部署的文章里,我们是直接从官网下载编译后的包进行部署的。由于Job Cluster模式需要我们重新打镜像,在环境准备这一部分,我们尝试...
Read article
「 PYTHON 」
October 21, 2020
Words count
6.6k
Reading time
6 mins.
版本说明:
python=2.7
Conda 的Pack工具,可以说是让我发现了新大陆。之前有个项目使用它解决了一个棘手的问题,一直没有整理相关笔记,时间长了容易淡忘,恰好有同事问我如何实现的,这里就重新整理一下。
简单描述一下项目中遇到的这个棘手问题:
这个项目是一个Python2.7开发的Flask服务,它里面有不少依赖需要使用pip安装,并且在网络不好的情况下容易下载失败。要求是能够让用户能够快速部署,几乎不做复杂的操作,就能够运行我们的项目,甚至是目标主机没有联网的情况下,都能够直接...
Read article
「 读书笔记 」
October 20, 2020
Words count
391
Reading time
1 mins.
学习了《设计模式就该这样学》中的门面模式和装饰器模式。
门面模式比较好理解,就是将多个子系统的功能,统一到一起。
装饰器模式,在不改变原有类的前提下,新增以下功能。
2020年10月19日19:00到21:30
开始学习《Netty实战》,目前学习到了第二章的第一个Netty应用程序,客户端的编写部分。前面介绍了以下Java的Socket编程,NIO,以及Netty的一些核心组件的介绍,如Channel、回调、Future、事件和ChannelHandler。
2020年10月20日18:00到...
Read article
「 LINUX 」
October 20, 2020
Words count
6.8k
Reading time
6 mins.
fdisk -l
磁盘 /dev/vda:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0008e9bc
设备 Boot Start End Blocks Id System
/dev/vda1 * 2048 2099199 1048576 83 Linux...
Read article
「 PYTHON 」
September 25, 2020
Words count
1.4k
Reading time
1 mins.
写多了Spark、Flink突然觉得到处是map、flatmap,在这些框架中有map、flatmap算子,在scala语言里有对应的方法,而在java 8之后,我们ye可以通过stream api使用map和flatmap,这些用法,用一次就会爱上它,代码确实优雅、好用。早之前我一直以为python里也有这样的用法,也使用过filter、map等方法,但直到今天在写一个小脚本需要用到flatmap时,才发现竟然在语言层面没有原生支持。
这里不罗逼嗦了,直接上实现flatmap的代码,参考https...
Read article
「 FLINK 」
September 20, 2020
Words count
38k
Reading time
35 mins.
根据数据量动态调整Flink应用的算子并行度,在实际业务应用中很常见。对于无状态的算子来说,更改算子并行度非常的容易。但对于有状态的算子来说,调整算子并行度时,需要考虑状态的重新分配。之前文章里提到,Flink中的状态分为键值分区状态、算子列表状态、算子聚合状态、广播状态,那么这些状态在并行度改变时,是如何在子任务实例间迁移的?这篇文章,将分别使用代码示例介绍这四种状态的迁移过程。
键值分区状态,是应用在KeyedStream上的算子里使用的状态,关于状态的知识,可以参考我的另一篇博客:https...
Read article
「 JAVA 」
August 24, 2020
Words count
3.8k
Reading time
3 mins.
C语言中申请内存: malloc free
C++: new delete
Java: new ?
自动内存回收,编程上简单,系统不容易出错
手动释放内存,容易出现两种类型的问题
- 忘记回收
- 多次回收
没有任何引用执行的一个对象或者多个对象(循环引用)
引用计数
根可达
Mark-Sweep 标记清除
位置不连续,产生碎片
Copying 拷贝
没有碎片,浪费空间
Mark Compact 标记压缩
没有碎片,效率偏低
部分垃圾回收器使用的模型
新生代+老年代+永久代(1.7)/ 元...
Read article