Local 模式是最简单的Flink 运行模式,你只要下载Flink 1.10或更新版本,然后解压缩即可。不要在Flink的lib文件下下载任何connector jar,也不要修改flink-conf.xml,我们从最简单的配置开始,以防出现奇怪问题,让问题排查变得复杂。然后指定 FLINK_HOME 以及 flink.execution.modelocal 就可以,如下图。

image.png

Local 模式会在本地启动一个MiniCluster(会以线程的方式跑在Flink Interpreter进程中)

有可能出现的问题是端口冲突问题,如下图
image.png

这种情况是由于MiniCluster的JobManager需要使用8081端口作为Rest API的端口,如果这个端口被其他进程占用,那么就会碰到这个错误。一种比较大的可能性是你正好在本地启动了Flink的 Standalone cluster。 因为Standalone模式下的JobManager碰巧也是用8081端口。所以如果是碰到这种错误,那么检查下你是否在本地起了一个Flink Standalone 集群,或者有没有其他程序使用了8081端口。

Interpreter Binding 模式

Local模式有个限制是你只能使用shared interpreter binding 模式,也就是所有note,所有user都是共享一个MiniCluster。因为MiniCluster使用8081端口,起多个MiniCluster就会导致上面说的端口冲突。

Flink Cluster 生命周期

Local 模式的 Flink Cluster就是上文说的运行在Flink Interpreter进程中的MiniCluster,他的生命周期是Zeppelin控制的。你启动Flink Interpreter的时候就创建这个MiniCluster,当你停止或者重启Flink Interpreter的时候就会销毁这个MiniCluster。

Local 模式配置选项

配置项 默认值 描述
local.number-taskmanager
4 local 模式下的TaskManager个数,默认是4个。Local 模式下的TaskManager是按线程模式跑在Flink Interprete里。

视频教程

Flink on Zeppelin 2. Local模式.mp4 (38.8MB)

钉钉群+公众号

Flink on Zeppelin 3群钉钉.JPG image.png