大数据-111 Flink 安装部署 YARN部署模式 FlinkYARN模式申请资源、提交任务

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 大数据-111 Flink 安装部署 YARN部署模式 FlinkYARN模式申请资源、提交任务

点一下关注吧!!!非常感谢!!持续更新!!!

目前已经更新到了:

Hadoop(已更完)

HDFS(已更完)

MapReduce(已更完)

Hive(已更完)

Flume(已更完)

Sqoop(已更完)

Zookeeper(已更完)

HBase(已更完)

Redis (已更完)

Kafka(已更完)

Spark(已更完)

Flink(正在更新!)

章节内容

上节完成了如下的内容:


基础环境规划

集群规划

下载安装

Standalone模式启动

e7c63dea6335ef9376bf2bbc17f6357a_194c2c5099014d4b810f5d52249fc5e0.png

环境变量

vim /etc/profile
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HADOOP_CLASSPATH=`hadoop classpath`

配置的结果如下图所示:

退出保存,并刷新环境变量。

yarn-site

cd /opt/servers/hadoop-2.9.2/etc/hadoop
vim yarn-site.xml

我们需要在原来的基础上,写入一些新的内容:

<!-- YRAN Flink 相关 -->
<property>
        <name>yarn.nodemanager.pmem-check-enabled</name>
        <value>false</value>
</property>
<property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
</property>
<property>
        <name>yarn.resourcemanager.address</name>
        <value>h123.wzk.icu:8032</value>
</property>
<property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>h123.wzk.icu:8030</value>
</property>
<property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>h123.wzk.icu:8031</value>
</property>

配置样式如下图所示:

同步配置

我们需要在:


h121 节点

h122 节点

h123 节点

这三台机器上,都配置好一样的内容。

由于配置的过程基本重复,这里就跳过我配置的过程了,大致说一下需要配置的内容:


Flink环境

环境变量profile

yarn-site

停止Flink服务

停止Hadoop集群等服务

停止YARN集群等服务

重启Hadoop集群

重启YARN集群

我这里使用之前的 rsync-script 工具进行同步了:

漫长的等待之后,可以看到已经传输完毕了:

停止Hadoop

cd /opt/servers/hadoop-2.9.2/sbin
stop-all.sh

h121

停止YARN集群

h123

h123节点执行(ResourceManager节点在这里):

停止Flink

h121节点执行:

./stop-cluster.sh
• 1

停止结果

h121

(还剩下一个ZK的服务,非必须,想结束的话也可以结束掉)

h122

h123

启动Hadoop集群

一切确认没有问题之后,我们就可以重新启动了。

h121

start-all.sh
• 1

h122

h123

启动YARN集群

h123

为了防止YARN启动异常,我们需要到 h123 保证启动一次:

start-yarn.sh
• 1

申请资源

查看帮助

cd /opt/servers/flink-1.11.1/bin/
./yarn-session.sh -h
• 1
• 2

可以看到该脚本的说明如下:

测试脚本1 申请资源

./yarn-session.sh -n 2 -tm 800 -s 1 -d

上面的脚本的含义是:


-n 表示申请2个容器 这里就是指多少个TaskManager

-s 表示每个TaskManager的Slots数量

-tm 表示每个 TaskManager的内存大小

-d 表示后台的方式运行程序

脚本1 解释

上面的脚本会向YARN申请3个Container,即便写的是2个,因为ApplicationMaster和JobManager有一个额外的容器,一旦将Flink部署到YARN集群中,就会显示JobManger的连接详细信息。


2个Container启动TaskManager -n 2,每个TaskManager拥有1个TaskSlots -s 1,并且向每个TaskManager的Container申请800M的内存,以及一个 ApplicationMaster jobManager

如果不想让Flink YRAN客户端始终运行,那么也可以启动分离的YARN会话,被参数被称为-d或–detached,这种情况下,Flink YARN客户端只会将Flink提交给集群,然后关闭它自己。


整个过程大概是:yarn-session.sh(开辟资源) + Flink run(提交任务)


使用Flink中的yarn-session,会启动两个必要服务JobManager和TaskManager

客户端通过Flink run提交作业

yarn-session 会一直启动,不停的接收客户端提交的作业

这种方式创建的Flink集群会独占资源

如果有大量的 作业/任务 较小、工作时间短,适合使用这种方式,减少资源创建的时间。

脚本1 执行结果

可以看到一些日志内容:

2024-07-24 16:34:33,236 WARN  org.apache.flink.yarn.configuration.YarnLogConfigUtil        [] - The configuration directory ('/opt/servers/flink-1.11.1/conf') already contains a LOG4J config file.If you want to use logback, then please delete or rename the log configuration file.
2024-07-24 16:34:33,381 INFO  org.apache.hadoop.yarn.client.RMProxy                        [] - Connecting to ResourceManager at h123.wzk.icu/124.223.26.81:8032
2024-07-24 16:34:33,724 INFO  org.apache.flink.runtime.util.config.memory.ProcessMemoryUtils [] - The derived from fraction jvm overhead memory (160.000mb (167772162 bytes)) is less than its min value 192.000mb (201326592 bytes), min value will be used instead
2024-07-24 16:34:33,734 INFO  org.apache.flink.runtime.util.config.memory.ProcessMemoryUtils [] - The derived from fraction jvm overhead memory (172.800mb (181193935 bytes)) is less than its min value 192.000mb (201326592 bytes), min value will be used instead
2024-07-24 16:34:34,210 INFO  org.apache.flink.yarn.YarnClusterDescriptor                  [] - The configured JobManager memory is 1600 MB. YARN will allocate 2048 MB to make up an integer multiple of its minimum allocation memory (1024 MB, configured via 'yarn.scheduler.minimum-allocation-mb'). The extra 448 MB may not be used by Flink.
2024-07-24 16:34:34,211 INFO  org.apache.flink.yarn.YarnClusterDescriptor                  [] - The configured TaskManager memory is 1728 MB. YARN will allocate 2048 MB to make up an integer multiple of its minimum allocation memory (1024 MB, configured via 'yarn.scheduler.minimum-allocation-mb'). The extra 320 MB may not be used by Flink.

运行过程如下图所示:

测试脚本2 提交运行

我们也可以直接在YARN上提交运行Flink作业(Run a Flink job on YARN)

./flink run -m yarn-cluster -yn 2 -yjm 1024 -ytm 1024 /opt/wzk//WordCount.jar

上述参数的一些解释:

  • -m JobManager 的地址
  • -yn TaskManager的个数
  • 停止 yarn-cluster
yarn application -kill application_xxxxxxxxx

脚本2 解释

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
目录
相关文章
|
13天前
|
分布式计算 监控 大数据
大数据-131 - Flink CEP 案例:检测交易活跃用户、超时未交付
大数据-131 - Flink CEP 案例:检测交易活跃用户、超时未交付
43 0
|
12天前
|
SQL 分布式计算 大数据
大数据-168 Elasticsearch 单机云服务器部署运行 详细流程
大数据-168 Elasticsearch 单机云服务器部署运行 详细流程
32 2
|
13天前
|
分布式计算 监控 大数据
大数据-148 Apache Kudu 从 Flink 下沉数据到 Kudu
大数据-148 Apache Kudu 从 Flink 下沉数据到 Kudu
39 1
|
11天前
|
消息中间件 分布式计算 Kafka
大数据平台的毕业设计02:Spark与实时计算
大数据平台的毕业设计02:Spark与实时计算
|
12天前
|
SQL 运维 大数据
大数据实时计算产品的对比测评
在使用多种Flink实时计算产品后,我发现Flink凭借其流批一体的优势,在实时数据处理领域表现出色。它不仅支持复杂的窗口机制与事件时间处理,还具备高效的数据吞吐能力和精准的状态管理,确保数据处理既快又准。此外,Flink提供了多样化的编程接口和运维工具,简化了开发流程,但在界面友好度上还有提升空间。针对企业级应用,Flink展现了高可用性和安全性,不过价格因素可能影响小型企业的采纳决策。未来可进一步优化文档和自动化调优工具,以提升用户体验。
65 0
|
13天前
|
SQL 大数据 API
大数据-132 - Flink SQL 基本介绍 与 HelloWorld案例
大数据-132 - Flink SQL 基本介绍 与 HelloWorld案例
37 0
|
13天前
|
SQL 消息中间件 分布式计算
大数据-130 - Flink CEP 详解 - CEP开发流程 与 案例实践:恶意登录检测实现
大数据-130 - Flink CEP 详解 - CEP开发流程 与 案例实践:恶意登录检测实现
28 0
|
13天前
|
分布式计算 监控 大数据
大数据-129 - Flink CEP 详解 Complex Event Processing - 复杂事件处理
大数据-129 - Flink CEP 详解 Complex Event Processing - 复杂事件处理
34 0
|
13天前
|
消息中间件 分布式计算 大数据
大数据-128 - Flink 并行度设置 细节详解 全局、作业、算子、Slot
大数据-128 - Flink 并行度设置 细节详解 全局、作业、算子、Slot
57 0
|
13天前
|
存储 SQL 分布式计算
大数据-127 - Flink State 04篇 状态原理和原理剖析:状态存储 Part2
大数据-127 - Flink State 04篇 状态原理和原理剖析:状态存储 Part2
13 0