1. **# 如果你是使用 Flink 1.11 以上版本,建议用 **[**yarn-application **](https://www.yuque.com/jeffzhangjianfeng/gldg8w/wfbu5c)**模式,如果是Flink 1.10 那么可以使用这里的Interpreter Yarn 模式 #**<br /> 首先需要声明的是这里的Interpreter Yarn 模式和 Flink的Yarn模式不是一个概念。Flink的Yarn模式是指把Flink集群运行在Yarn环境里,而这里的 Interpreter Yarn 模式是指把 Flink Interpreter 进程运行在 Yarn 环境里。<br /> 那为什么我们要引入Interpreter Yarn 模式呢?因为默认情况下 Flink Interpreter 进程和 Zeppelin 是运行在同一台机器上。如果我们是采用 Isolated Per Note 模式,每个Note就会起一个 Flink Interpreter 进程,会对Zeppelin那台机器造成很大的资源压力。Interpreter Yarn 模式就是把 Flink Interpreter进程跑在Yarn环境里,从而减轻 Zeppelin 那台机器的压力。

架构

  • 这是默认的进程布局图

image.png

  • 这是Yarn Interpreter 模式的进程布局

image.png

配置

要启动Yarn Interpreter模式,需要做以下几点配置:

  • 安装hadoop client (hadoop 2和3都支持)
  • 把 $HADOOP_HOME/bin放到环境变量 PATH 里. 因为Zeppelin会调用命令hadoop classpath 获取所有hadoop相关的jar,然后放到CLASSPATH 里
  • 在 zeppelin-env.sh 中配置 USE_HADOOP 为true,以及配置 HADOOP_CONF_DIR

除了这几个配置,你还需要可以配置下面这些参数来控制 interpreter process

Name Default Value Description
zeppelin.interpreter.yarn.resource.memory 1024 memory for interpreter process, unit: mb
zeppelin.interpreter.yarn.resource.cores 1 cpu cores for interpreter proces
zeppelin.interpreter.yarn.queue default yarn queue name

视频教程

Flink on Zeppelin 23. Yarn Interpreter 模式.mp4 (38.25MB)

钉钉群+公众号

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