Local 模式是最简单的Flink 运行模式,你只要下载Flink 1.10或更新版本,然后解压缩即可。不要在Flink的lib文件下下载任何connector jar,也不要修改flink-conf.xml,我们从最简单的配置开始,以防出现奇怪问题,让问题排查变得复杂。然后指定 FLINK_HOME 以及 flink.execution.mode 为 local 就可以,如下图。
Local 模式会在本地启动一个MiniCluster(会以线程的方式跑在Flink Interpreter进程中)
有可能出现的问题是端口冲突问题,如下图
这种情况是由于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里。 |
视频教程
钉钉群+公众号