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

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

目前已经更新到了:

  • 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 版本

shell 复制代码
https://www.apache.org/dyn/closer.lua/flink/flink-1.11.1/flink-1.11.1-bin-scala_2.12.tgz

你也可以直接使用 wget 下载,目前我们登录到服务器 h121 节点上

shell 复制代码
cd /opt/software/
wget https://archive.apache.org/dist/flink/flink-1.11.1/flink-1.11.1-bin-scala_2.12.tgz

等待下载完毕:

解压配置:

shell 复制代码
tar -zxvf flink-1.11.1-bin-scala_2.12.tgz

处理过程如下:

解压完成之后,移动到目录下:

shell 复制代码
mv flink-1.11.1 ../servers/
cd ../servers/
ls

Standalone模式部署

上述我们已经完成了 h121 服务器节点的配置安装,接下来我们修改配置文件。

Standalone 模式是一种相对简单的 Flink 集群部署方式,适合在拥有固定资源的环境中运行 Flink 应用程序。所有的 Flink 组件(如 JobManager 和 TaskManager)都是手动配置和启动的,没有依赖外部的资源管理系统。

启动与配置

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

我们修改的内容有这么两处:

shell 复制代码
jobmanager.rpc.address: h121.wzk.icu
taskmanager.numberOfTaskSlots: 2

修改内容如下所示:

Works

不同的版本可能叫不同的名字,我这里是 works

shell 复制代码
cd /opt/servers/flink-1.11.1/conf
vim workers

写入如下的内容,我们有三台云节点:

shell 复制代码
h121.wzk.icu
h122.wzk.icu
h123.wzk.icu

写入的结果如下图所示:

Master

shell 复制代码
cd /opt/servers/flink-1.11.1/conf
vim masters

写入如下的内容:

shell 复制代码
h121.wzk.icu:8081

写入的结果如下图:

服务启动

暂时就可以先启动进行测试了:

shell 复制代码
cd /opt/servers/flink-1.11.1/bin/
./start-cluster.sh

启动过程如下所示:

启动结果

这里要注意,由于我们之前配置过Spark环境,Spark的Web也是8081端口。

记得把Spark的服务停掉(暂时用不到Spark相关的内容了)。

启动后,我们访问:

shell 复制代码
http://h121.wzk.icu:8081/#/overview

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

  • Hadoop
  • HDFS
  • Flink
  • 等等

测试效果

官方提供的Demo,可以运行测试一下是否正常

shell 复制代码
cd /opt/servers/flink-1.11.1/bin
./flink run ../examples/streaming/WordCount.jar

执行结果如下图:

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

特点与优缺点

优点

  • 简洁易用:Standalone 模式不需要额外的资源管理系统,配置相对简单,特别适合在资源固定的小型集群中运行。
  • 独立性强:这种模式下,Flink 集群不依赖于外部系统,可以在没有 Yarn、Kubernetes 等资源管理平台的环境中独立运行。
  • 低延迟:由于不涉及外部资源调度系统,Standalone 模式在资源调度上的延迟相对较低,适合需要低延迟任务调度的场景。

缺点

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

使用场景

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

扩展性与限制

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

添加依赖

xml 复制代码
<build>
  <plugins>
    <!-- 打jar插件 -->
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-shade-plugin</artifactId>
      <version>2.4.3</version>
      <executions>
        <execution>
          <phase>package</phase>
          <goals>
            <goal>shade</goal>
          </goals>
          <configuration>
            <filters>
              <filter>
                <artifact>*:*</artifact>
                <excludes>
                  <exclude>META-INF/*.SF</exclude>
                  <exclude>META-INF/*.DSA</exclude>
                  <exclude>META-INF/*.RSA</exclude>
                </excludes>
              </filter>
            </filters>
          </configuration>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>

pom结构如下所示:

相关推荐
2202_754421544 分钟前
生成MPSOC以及ZYNQ的启动文件BOOT.BIN的小软件
java·linux·开发语言
蓝染-惣右介7 分钟前
【MyBatisPlus·最新教程】包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段
java·数据库·tomcat·mybatis
小林想被监督学习8 分钟前
idea怎么打开两个窗口,运行两个项目
java·ide·intellij-idea
HoneyMoose10 分钟前
IDEA 2024.3 版本更新主要功能介绍
java·ide·intellij-idea
我只会发热11 分钟前
Java SE 与 Java EE:基础与进阶的探索之旅
java·开发语言·java-ee
是老余12 分钟前
本地可运行,jar包运行错误【解决实例】:通过IDEA的maven package打包多模块项目
java·maven·intellij-idea·jar
crazy_wsp13 分钟前
IDEA怎么定位java类所用maven依赖版本及引用位置
java·maven·intellij-idea
.Ayang15 分钟前
tomcat 后台部署 war 包 getshell
java·计算机网络·安全·web安全·网络安全·tomcat·网络攻击模型
一直学习永不止步21 分钟前
LeetCode题练习与总结:最长回文串--409
java·数据结构·算法·leetcode·字符串·贪心·哈希表
EasyCVR35 分钟前
私有化部署视频平台EasyCVR宇视设备视频平台如何构建视频联网平台及升级视频转码业务?
大数据·网络·音视频·h.265