Flink 可以选择的部署方式有:
Local、Standalone(资源利用率低)、Yarn、Mesos、Docker、Kubernetes、AWS。
我们主要对 Standalone 模式和 Yarn 模式下的 Flink 集群部署进行分析。
3.1Standalone 模式安装
我们对 standalone 模式的 Flink 集群进行安装,准备三台虚拟机,其中一台作为
JobManager(hadoop-senior01),另外两台作为 TaskManager(hadoop-senior02、
hadoop-senior03)。
- 在官网下载 1.6.1 版本 Flink(https://archive.apache.org/dist/flink/flink-1.6.1/)。
- 将安装包上传到要按照 JobManager 的节点(hadoop-senior01)。
-
进入 Linux 系统对安装包进行解压:
-
修改安装目录下 conf 文件夹内的 flink-conf.yaml 配置文件,指定 JobManager:
-
修改安装目录下 conf 文件夹内的 slave 配置文件,指定 TaskManager:
- 将配置好的 Flink 目录分发给其他的两台节点:
scp -r /opt/modules/flink-1.6.1 hadoop-senior02.itguigu.com:/opt/modules
scp -r /opt/modules/flink-1.6.1 hadoop-senior03.itguigu.com:/opt/modules
-
在 hadoop-senior01 节点启动集群:
-
通过 jps 查看进程信息:
-
访问集群 web 界面(8081 端口):
3.2Yarn 模式安装
1 在官网下载 1.6.1 版本 Flink(https://archive.apache.org/dist/flink/flink-1.6.1/)。
2 将安装包上传到要按照 JobManager 的节点(hadoop-senior01)。
3 进入 Linux 系统对安装包进行解压:
4 修改安装目录下 conf 文件夹内的 flink-conf.yaml 配置文件,指定 JobManager:
5 修改安装目录下 conf 文件夹内的 slave 配置文件,指定 TaskManager:
6 将配置好的 Flink 目录分发给其他的两台节点:
scp -r /opt/modules/flink-1.6.1 hadoop-senior02.itguigu.com:/opt/modules
scp -r /opt/modules/flink-1.6.1 hadoop-senior03.itguigu.com:/opt/modules
- 明确虚拟机中已经设置好了环境变量 HADOOP_HOME。
- 启动 Hadoop 集群(HDFS 和 Yarn)。
- 在 hadoop-senior01 节 点 提 交 Yarn-Session, 使 用 安 装目 录 下 bin 目录中的yarn-session.sh 脚本进行提交:
/opt/modules/flink-1.6.1/bin/yarn-session.sh -n 2 -s 6 -jm 1024 -tm 1024 -nm test -d
其中:
-n(--container):TaskManager 的数量。
-s(--slots): 每个 TaskManager 的 slot 数量,默认一个 slot 一个 core,默认每个
taskmanager 的 slot 的个数为 1。
-jm:JobManager 的内存(单位 MB)。
-tm:每个 taskmanager 的内存(单位 MB)。
-nm:yarn 的 appName(现在 yarn 的 ui 上的名字)。
-d:后台执行。
-
启动后查看 Yarn 的 Web 页面,可以看到刚才提交的会话:
-
在提交 Session 的节点查看进程:
- 提交 Jar 到集群运行:
/opt/modules/flink-1.6.1/bin/flink run -m yarn-cluster examples/batch/WordCount.jar
-
提交后在 Yarn 的 Web 页面查看任务运行情况:
-
任务运行结束后在控制台打印如下输出: