Flink集群部署搭建

AI-摘要
Geek GPT
AI初始化中...
介绍自己 🙈
生成本文简介 👋
推荐相关文章 📖
前往主页 🏠
前往爱发电购买
Flink集群部署搭建
曦Flink1.14.0集群部署
1 | # 修改conf目录下的workers将三台主机名写进去 |
Flink1.17.0集群部署
1 | # 修改conf目录下的workers将三台主机名写进去 |
Flink1.14.0高可用部署
1 | # 前面正常部署,后面在high中新增 |
Flink On Yarn
1.flink的Yarn部署模式分为三种方式:一种是Application Mode, 一种是Per-lob Mode,一种是Session Mode
1 | 配置环境变量,增加环境变量配置如下: |
2 会话模式部署
YARN的会话模式与独立集群略有不同,需要首先申请一个YARN会话(YARN Session)来启动Flink集群。具体步骤如下:
(1)启动集群
1 | bin/yarn-session.sh -nm test |
YARN Session启动之后会给出一个Web UI地址以及一个YARN application ID,如下所示,用户可以通过Web UI或者命令行两种方式提交作业。
1 | 2022-11-17 15:20:52,711 INFO org.apache.flink.yarn.YarnClusterDescriptor [] - Found Web Interface hadoop104:40825 of application 'application_1668668287070_0005'. |
(2)通过命令行提交作业
- ① 将FlinkTutorial-1.0-SNAPSHOT.jar任务上传至集群。
- ② 执行以下命令将该任务提交到已经开启的Yarn-Session中运行。
1 | bin/flink run -c com.atguigu.wc.SocketStreamWordCount FlinkTutorial-1.0-SNAPSHOT.jar |
3 单作业模式部署
在YARN环境中,由于有了外部平台做资源调度,所以我们也可以直接向YARN提交一个单独的作业,从而启动一个Flink集群
(1)执行命令提交作业
1 | bin/flink run -d -t yarn-per-job -c com.atguigu.wc.SocketStreamWordCount FlinkTutorial-1.0-SNAPSHOT.jar |
注意:如果启动过程中报如下异常
1 | Exception in thread “Thread-5” java.lang.IllegalStateException: Trying to access closed classloader. Please check if you store classloaders directly or indirectly in static fields. If the stacktrace suggests that the leak occurs in a third party library and cannot be fixed immediately, you can disable this check with the configuration ‘classloader.check-leaked-classloader’. |
解决办法:在flink的/opt/module/flink-1.17.0/conf/flink-conf.yaml配置文件中设置
1 | [atguigu@hadoop102 conf]$ vim flink-conf.yaml |
(2)可以使用命令行查看或取消作业,命令如下。
1 | [atguigu@hadoop102 flink-1.17.0]$ bin/flink list -t yarn-per-job -Dyarn.application.id=application_XXXX_YY |
4 应用模式部署
(1)应用模式同样非常简单,与单作业模式类似,直接执行flink run-application命令即可。
1 | bin/flink run-application -t yarn-application -c com.atguigu.wc.SocketStreamWordCount FlinkTutorial-1.0-SNAPSHOT.jar |
(2)在命令行中查看或取消作业。
1 | [atguigu@hadoop102 flink-1.17.0]$ bin/flink list -t yarn-application -Dyarn.application.id=application_XXXX_YY |
2)上传HDFS提交
可以通过yarn.provided.lib.dirs配置选项指定位置,将flink的依赖上传到远程。
(1)上传flink的lib和plugins到HDFS上
1 | [atguigu@hadoop102 flink-1.17.0]$ hadoop fs -mkdir /flink-dist |
(2)提交作业
1 | bin/flink run-application -t yarn-application -Dyarn.provided.lib.dirs="hdfs://hadoop102:8020/flink-dist" -c com.atguigu.wc.SocketStreamWordCount hdfs://hadoop102:8020/flink-jars/FlinkTutorial-1.0-SNAPSHOT.jar |
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果