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

  金牌会员 | 2024-9-4 03:56:29 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 882|帖子 882|积分 2646

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

目前已经更新到了:



  • Hadoop(已更完)
  • HDFS(已更完)
  • MapReduce(已更完)
  • Hive(已更完)
  • Flume(已更完)
  • Sqoop(已更完)
  • Zookeeper(已更完)
  • HBase(已更完)
  • Redis (已更完)
  • Kafka(已更完)
  • Spark(已更完)
  • Flink(正在更新!)
章节内容

上节完成了如下的内容:


  • 基础环境规划
  • 集群规划
  • 下载安装
  • Standalone模式启动

YARN模式部署


环境变量

  1. vim /etc/profile
  2. export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
  3. export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
  4. export HADOOP_CLASSPATH=`hadoop classpath`
复制代码
设置的结果如下图所示:

退出保存,并革新环境变量。
yarn-site

  1. cd /opt/servers/hadoop-2.9.2/etc/hadoop
  2. vim yarn-site.xml
复制代码
我们需要在原来的基础上,写入一些新的内容:
  1. <!-- YRAN Flink 相关 -->
  2. <property>
  3.         <name>yarn.nodemanager.pmem-check-enabled</name>
  4.         <value>false</value>
  5. </property>
  6. <property>
  7.         <name>yarn.nodemanager.vmem-check-enabled</name>
  8.         <value>false</value>
  9. </property>
  10. <property>
  11.         <name>yarn.resourcemanager.address</name>
  12.         <value>h123.wzk.icu:8032</value>
  13. </property>
  14. <property>
  15.         <name>yarn.resourcemanager.scheduler.address</name>
  16.         <value>h123.wzk.icu:8030</value>
  17. </property>
  18. <property>
  19.         <name>yarn.resourcemanager.resource-tracker.address</name>
  20.         <value>h123.wzk.icu:8031</value>
  21. </property>
复制代码
设置样式如下图所示:

同步设置

我们需要在:


  • h121 节点
  • h122 节点
  • h123 节点
    这三台呆板上,都设置好一样的内容。
由于设置的过程根本重复,这里就跳过我设置的过程了,大致说一下需要设置的内容:


  • Flink环境
  • 环境变量profile
  • yarn-site
  • 停止Flink服务
  • 停止Hadoop集群等服务
  • 停止YARN集群等服务
  • 重启Hadoop集群
  • 重启YARN集群
我这里使用之前的 rsync-script 工具举行同步了:

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

停止Hadoop

  1. cd /opt/servers/hadoop-2.9.2/sbin
  2. stop-all.sh
复制代码
h121


停止YARN集群

h123

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

停止Flink

h121节点执行:
  1. ./stop-cluster.sh
复制代码

停止结果

h121

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

h122


h123


启动Hadoop集群

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

  1. start-all.sh
复制代码

h122


h123


启动YARN集群

h123

为了防止YARN启动异常,我们需要到 h123 包管启动一次:
  1. start-yarn.sh
复制代码

申请资源

查看资助

  1. cd /opt/servers/flink-1.11.1/bin/
  2. ./yarn-session.sh -h
复制代码
可以看到该脚本的说明如下:

测试脚本1 申请资源

  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 执行结果

可以看到一些日志内容:
  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.
  2. 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
  3. 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
  4. 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
  5. 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.
  6. 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)
  1. ./flink run -m yarn-cluster -yn 2 -yjm 1024 -ytm 1024 /opt/wzk//WordCount.jar
复制代码
上述参数的一些表明:


  • -m JobManager 的地点
  • -yn TaskManager的个数
停止 yarn-cluster
  1. yarn application -kill application_xxxxxxxxx
复制代码
脚本2 表明



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表