Flink on yarn 不废话集群部署

文章目录

Flink on yarn 集群部署

前言

为什么采用Flink on yarn 的集群部署模式

在实际开发中,使用Flink时,更多的使用方式是Flink On Yarn模式,原因如下:

  1. Yarn的资源可以按需使用,提高集群的资源利用率

  2. Yarn的任务有优先级,根据优先级运行作业

  3. 基于Yarn调度系统,能够自动化地处理各个角色的 Failover(容错)
    ○ JobManager 进程和 TaskManager 进程都由 Yarn NodeManager 监控
    ○ 如果 JobManager 进程异常退出,则 Yarn ResourceManager 会重新调度 JobManager 到其他机器
    ○ 如果 TaskManager 进程异常退出,JobManager 会收到消息并重新向 Yarn ResourceManager 申请资源,重新启动 TaskManager

  4. 基于native方式,taskManager资源按需申请和启动,防止资源浪费

  5. 依托于yarn,部署集群与提交任务都非常简单、

但是,在采用部署模式的时候往往更需要考虑其缺点,看其缺点是否影响生产才是最重要的

flink on yarn正是依托于yarn,产品的相互分离便会导致一些劣势:

  1. 资源隔离问题,特别突出的是网络资源的隔离,在这方面,yarn还做的不够完善
  2. 离线和实时作业同时运行时,需要重视相互干扰的问题
  3. kerberos认证超期问题导致checkpoint无法持久化

好了,说了这么多,我们就先开始部署吧!

先安装好yarn集群,在我们这个环境中使用的是CDH6.3,也就是基于hadoop3.0的大数据生态环境

flink部署

1.包下载

链接:https://pan.baidu.com/s/1YrErLZ3RzD_m2KRIw0h56w
提取码:7788

2.将所下载的包放置/opt/flink下进行解压安装

tar -zxvf flink-1.11.1-bin-scala_2.12.tgz -C /opt/flink/

安装包解压至 /opt/flink目录下

3.切换到相关目录

cd /opt/flink/flink-1.11.1

4.配置hadoop相关路径

vim /etc/profile

#conf配置

export HADOOP_CONF_DIR=/etc/hadoop/conf

#lib包配置

export HADOOP_CLASSPATH=/opt/cloudera/parcels/CDH/lib/hadoop:/opt/cloudera/parcels/CDH/lib/hadoop-hdfs:/opt/cloudera/parcels/CDH/lib/hadoop-yarn:/opt/cloudera/parcels/CDH/lib/hadoop-mapreduce

source /etc/profile

5.如果第四步采用后仍然报错找不到相关包,则切换到lib包中并将相关hadoop包放置lib目录下

cd lib

flink-shaded-hadoop-3-3.1.1.7.0.3.0-79-7.0.jar、commons-cli-1.4.jar

将以上jar包放置/opt/flink/flink-1.11.1/lib目录下

6.确保你的环境有足够的内存能够启动集群后,开始进行启动

./bin/yarn-session.sh -jm 1024m -tm 1024m

jm:JobManager容器的内存(默认值:MB);

tm:每个TaskManager容器的内存(默认值:MB);

7.启动成功后,会提供客户端网址,输入浏览器可进行查看,成功代表集群已经启动

2021-10-28 10:54:33,470 INFO org.apache.flink.yarn.YarnClusterDescriptor [] - Found Web Interface hadoop104:44565 of application ‘application_1635386832867_0004’.
JobManager Web Interface: http://hadoop104:44565

输入浏览器访问即可

上一篇:Flink部署


下一篇:MySQL数据库的各种存储引擎详解