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 系统对安装包进行解压:
微信截图_20190523132319.png -
修改安装目录下 conf 文件夹内的 flink-conf.yaml 配置文件,指定 JobManager:
微信截图_20190523132410.png
微信截图_20190523132434.png -
修改安装目录下 conf 文件夹内的 slave 配置文件,指定 TaskManager:
微信截图_20190523132531.png - 将配置好的 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 节点启动集群:
微信截图_20190523133148.png -
通过 jps 查看进程信息:
微信截图_20190523133223.png -
访问集群 web 界面(8081 端口):
微信截图_20190523133306.png
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:
微信截图_20190523133508.png
5 修改安装目录下 conf 文件夹内的 slave 配置文件,指定 TaskManager:
微信截图_20190523133545.png
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 页面,可以看到刚才提交的会话:
微信截图_20190523133911.png -
在提交 Session 的节点查看进程:
微信截图_20190523133943.png - 提交 Jar 到集群运行:
/opt/modules/flink-1.6.1/bin/flink run -m yarn-cluster examples/batch/WordCount.jar
-
提交后在 Yarn 的 Web 页面查看任务运行情况:
微信截图_20190523134104.png -
任务运行结束后在控制台打印如下输出:
微信截图_20190523134144.png
网友评论