大数据-110 Flink 安装部署 下载解压设置 Standalone模式启动 打包依赖 ...

打印 上一主题 下一主题

主题 548|帖子 548|积分 1654

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

目前已经更新到了:



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

上节完成了如下的内容:


  • Flink 紧张脚色
  • TaskManager
  • ResourceManager
  • 各个组件之间的关系
  • Sink Task SubTask 等等内容

安装模式

Flink支持多种安装模式:



  • local(当地):单机模式,一般当地开发调试
  • Standalone独立模式:Flink自带集群,自己管理资源调理,部分生产情况会这么用
  • YARN模式:计算资源同一由Hadoop YRAN管理,生产情况大部分是这种
底子情况

基于我们之前的大数据的情况:


  • JAVA_HOME 之前已经配好了
  • SSH 免密登录 三台节点之间 之前也设置好了
集群规划


我们对应的机器是:


  • h121 2C4G
  • h122 2C4G
  • h123 2C2G
下载安装

选择的版本是:Flink 1.11.1 版本
  1. https://www.apache.org/dyn/closer.lua/flink/flink-1.11.1/flink-1.11.1-bin-scala_2.12.tgz
复制代码
你也可以直接使用 wget 下载,目前我们登录到服务器 h121 节点上
  1. cd /opt/software/
  2. wget https://archive.apache.org/dist/flink/flink-1.11.1/flink-1.11.1-bin-scala_2.12.tgz
复制代码
期待下载完毕:

解压设置:
  1. tar -zxvf flink-1.11.1-bin-scala_2.12.tgz
复制代码
处理过程如下:

解压完成之后,移动到目次下:
  1. mv flink-1.11.1 ../servers/
  2. cd ../servers/
  3. ls
复制代码
Standalone模式部署

上述我们已经完成了 h121 服务器节点的设置安装,接下来我们修改设置文件。
Standalone 模式是一种相对简单的 Flink 集群部署方式,得当在拥有固定资源的情况中运行 Flink 应用程序。所有的 Flink 组件(如 JobManager 和 TaskManager)都是手动设置和启动的,没有依赖外部的资源管理系统。
启动与设置



  • 手动启动:在 Standalone 模式下,JobManager 和 TaskManager 必要通过脚本手动启动。可以通过 Flink 提供的启动脚本(如 start-cluster.sh)来启动整个集群,或者单独启动每个组件。
  • 设置文件:Standalone 模式的设置紧张通过 flink-conf.yaml 文件进行,设置内容包括 JobManager 和 TaskManager 的数量、内存和 CPU 资源、网络设置等。
flink-conf.yaml

  1. cd /opt/servers/flink-1.11.1/conf
  2. vim flink-conf.yaml
复制代码
我们修改的内容有这么两处:
  1. jobmanager.rpc.address: h121.wzk.icu
  2. taskmanager.numberOfTaskSlots: 2
复制代码
修改内容如下所示:

Works

不同的版本可能叫不同的名字,我这里是 works
  1. cd /opt/servers/flink-1.11.1/conf
  2. vim workers
复制代码
写入如下的内容,我们有三台云节点:
  1. h121.wzk.icu
  2. h122.wzk.icu
  3. h123.wzk.icu
复制代码
写入的效果如下图所示:

Master

  1. cd /opt/servers/flink-1.11.1/conf
  2. vim masters
复制代码
写入如下的内容:
  1. h121.wzk.icu:8081
复制代码
写入的效果如下图:

服务启动

暂时就可以先启动进行测试了:
  1. cd /opt/servers/flink-1.11.1/bin/
  2. ./start-cluster.sh
复制代码
启动过程如下所示:

启动效果

这里要留意,由于我们之前设置过Spark情况,Spark的Web也是8081端口。
记得把Spark的服务停掉(暂时用不到Spark相关的内容了)。
启动后,我们访问:
  1. http://h121.wzk.icu:8081
  2. /#/overview
复制代码

可以通过 JPS 命令查看主机当前的状态:(不必要的你可以停掉)


  • Hadoop
  • HDFS
  • Flink
  • 等等

测试效果

官方提供的Demo,可以运行测试一下是否正常
  1. cd /opt/servers/flink-1.11.1/bin
  2. ./flink run ../examples/streaming/WordCount.jar
复制代码
实行效果如下图:

可视化的页面也可以看到:

特点与优缺点

长处



  • 简洁易用:Standalone 模式不必要额外的资源管理系统,设置相对简单,特别得当在资源固定的小型集群中运行。
  • 独立性强:这种模式下,Flink 集群不依赖于外部系统,可以在没有 Yarn、Kubernetes 等资源管理平台的情况中独立运行。
  • 低耽误:由于不涉及外部资源调理系统,Standalone 模式在资源调理上的耽误相对较低,得当必要低耽误任务调理的场景。
缺点



  • 资源弹性差:由于没有集成外部资源管理系统,Standalone 模式的资源调理和管理相对固定,不支持动态扩展或缩减资源。这在面对变化的工作负载时,可能会导致资源浪费或不足。
  • 管理复杂:在大规模集群中,手动管理多个 JobManager 和 TaskManager 可能变得复杂,特别是在必要高可用性和故障恢复的情况下。
  • 缺乏高级特性:相比于集成 Yarn 或 Kubernetes 的部署模式,Standalone 模式缺乏一些高级的资源管理特性,如自动化资源分配、动态扩展、集群隔离等。
使用场景



  • 开发与测试:Standalone 模式非常得当用于 Flink 应用的开发与测试阶段,由于它设置简单,易于快速部署和运行作业。
  • 小型集群:在资源固定且规模较小的集群中,Standalone 模式可以提供足够的灵活性和控制力。
  • 边沿计算:在某些资源有限的情况(如边沿计算或嵌入式设备)中,Standalone 模式可以提供一种轻量级的分布式计算办理方案。
扩展性与限定



  • 扩展性有限:虽然 Standalone 模式允许在固定资源下进行扩展,但由于缺乏动态资源管理,扩展能力有限,难以应对大规模或动态变化的工作负载。
  • 适应性:对于必要频仍调整资源的场景,Standalone 模式可能不太实用,但在资源固定且作业负载相对稳固的情况下,它可以提供稳固可靠的服务。
添加依赖

  1. <build>
  2.   <plugins>
  3.     <!-- 打jar插件 -->
  4.     <plugin>
  5.       <groupId>org.apache.maven.plugins</groupId>
  6.       <artifactId>maven-shade-plugin</artifactId>
  7.       <version>2.4.3</version>
  8.       <executions>
  9.         <execution>
  10.           <phase>package</phase>
  11.           <goals>
  12.             <goal>shade</goal>
  13.           </goals>
  14.           <configuration>
  15.             <filters>
  16.               <filter>
  17.                 <artifact>*:*</artifact>
  18.                 <excludes>
  19.                   <exclude>META-INF/*.SF</exclude>
  20.                   <exclude>META-INF/*.DSA</exclude>
  21.                   <exclude>META-INF/*.RSA</exclude>
  22.                 </excludes>
  23.               </filter>
  24.             </filters>
  25.           </configuration>
  26.         </execution>
  27.       </executions>
  28.     </plugin>
  29.   </plugins>
  30. </build>
复制代码
pom结构如下所示:


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

本帖子中包含更多资源

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

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

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

本版积分规则

泉缘泉

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

标签云

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