flink学习(三)flink on yarn

为什么用on yarn模式

在集群运行时,可能会有很多的集群实例包括MapReduce、Spark、Flink等等,那么如果它们全基于on Yarn就可以完成资源分配,减少单个实例集群的维护,提高集群的利用率。

两种模式

  1. 内存集中管理模式(Session模式)

这种方式需要先启动集群,然后在提交作业,接着向yarn申请一块空间后,资源永远保持不变。如果资源满了,下一个作业就无法提交,只能等到yarn中的其中一个作业执行完成后,释放了资源,那下一个作业才会正常提交.
在这里插入图片描述

  1. 内存Job管理模式(Run a Flink job on YARN)

这种方式的好处是一个任务会对应一个job,即没提交一个作业会根据自身的情况,向yarn申请资源,直到作业执行完成,并不会影响下一个作业的正常运行,除非是yarn上面没有任何资源的情况下。

在这里插入图片描述

Session模式搭建

先配置以下yarn-site.xml文件,关闭yarn的内存检查

在这里插入图片描述
将修改好的yarn文件分发给另外两个节点
在这里插入图片描述

启动

在环境变量中添加HADOOP_CONF_DIR

export HADOOP_CONF_DIR=/usr/hadoop/hadoop-3.1.4/etc/hadoop

启动Hadoop集群
在这里插入图片描述
启动flink集群

在这里插入图片描述
在这里插入图片描述

启动session模式,开辟资源

yarn-session的参数介绍
  -n : 指定TaskManager的数量;
  -d: 以分离模式运行;
  -id:指定yarn的任务ID;
  -j:Flink jar文件的路径;
  -jm:JobManager容器的内存(默认值:MB);
  -nl:为YARN应用程序指定YARN节点标签;
  -nm:在YARN上为应用程序设置自定义名称;
  -q:显示可用的YARN资源(内存,内核);
  -qu:指定YARN队列;
  -s:指定TaskManager中slot的数量;
  -st:以流模式启动Flink;
  -tm:每个TaskManager容器的内存(默认值:MB);
  -z:命名空间,用于为高可用性模式创建Zookeeper子路径;
[root@master1 bin]# yarn-session.sh -n 2 -jm 1024 -tm 1024 -d

没有报错
在这里插入图片描述
在这里插入图片描述
好像没啥问题再去yarn查看
在这里插入图片描述
总感觉哪里有问题

在这里插入图片描述

测试

上传一份测试文件

[root@master1 test]# hadoop fs -put /root/test/word.txt /test

在这里插入图片描述
在这里插入图片描述

[root@master1 batch]# flink run WordCount.jar -input hdfs://master1:9000/test/test.txt -output hdfs://master1:9000/test/output1/word1.txt  

在这里插入图片描述
在这里插入图片描述
看看yarn
在这里插入图片描述
在这里插入图片描述

内存Job管理模式(Run a Flink job on YARN)

启动测试

命令:

[root@master1 batch]# flink run -m yarn-cluster -yjm 1024 -ytm 1024 /usr/flink/flink-1.12.2/examples/batch/WordCount.jar

在这里插入图片描述
在这里插入图片描述
因为没有指定处理的文件,它会自动处理它默认的文件
一会就变成finished
运行完会自动释放内存

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值