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

news2024/11/17 3:35:24

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

目前已经更新到了:

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

https://www.apache.org/dyn/closer.lua/flink/flink-1.11.1/flink-1.11.1-bin-scala_2.12.tgz

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

cd /opt/software/
wget https://archive.apache.org/dist/flink/flink-1.11.1/flink-1.11.1-bin-scala_2.12.tgz

等待下载完毕:
在这里插入图片描述
解压配置:

tar -zxvf flink-1.11.1-bin-scala_2.12.tgz

处理过程如下:
在这里插入图片描述
解压完成之后,移动到目录下:

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 资源、网络设置等。

flink-conf.yaml

cd /opt/servers/flink-1.11.1/conf
vim flink-conf.yaml

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

jobmanager.rpc.address: h121.wzk.icu
taskmanager.numberOfTaskSlots: 2

修改内容如下所示:
在这里插入图片描述

Works

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

cd /opt/servers/flink-1.11.1/conf
vim workers

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

h121.wzk.icu
h122.wzk.icu
h123.wzk.icu

写入的结果如下图所示:
在这里插入图片描述

Master

cd /opt/servers/flink-1.11.1/conf
vim masters

写入如下的内容:

h121.wzk.icu:8081

写入的结果如下图:
在这里插入图片描述

服务启动

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

cd /opt/servers/flink-1.11.1/bin/
./start-cluster.sh

启动过程如下所示:
在这里插入图片描述

启动结果

这里要注意,由于我们之前配置过Spark环境,Spark的Web也是8081端口。
记得把Spark的服务停掉(暂时用不到Spark相关的内容了)。
启动后,我们访问:

http://h121.wzk.icu:8081/#/overview

在这里插入图片描述
可以通过 JPS 命令查看主机当前的状态:(不需要的你可以停掉)

  • Hadoop
  • HDFS
  • Flink
  • 等等

在这里插入图片描述

测试效果

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

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 模式可能不太适用,但在资源固定且作业负载相对稳定的情况下,它可以提供稳定可靠的服务。

添加依赖

<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结构如下所示:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2088108.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python 如何进行声音处理(pydub, wave模块)

Python 是一种功能强大的编程语言&#xff0c;它提供了丰富的库和模块用于各种任务的执行&#xff0c;包括声音处理。对于声音处理&#xff0c;pydub 和 wave 模块是最常用的两个库。 一、Python中的声音处理基础知识 在深入探讨具体的模块之前&#xff0c;我们先了解一些声音…

深度学习基础--损失函数

前三章分别介绍了线性回归、浅层神经网络和深度神经网络。这些都属于函数家族&#xff0c;能够实现从输入到输出的映射&#xff0c;其具体的函数取决于模型参数 ϕ \phi ϕ。在训练这些模型时&#xff0c;我们的目标是找到能够为特定任务提供最优输入输出映射的参数。本章将详…

C语言 ——— 文件读取结束的判定

目录 判定文件读取结束的方式 被错误使用的feof函数 判定文件结束的正确使用 判定文件读取结束的方式 判断文本文件是否读取结束&#xff1a; 利用 fgetc 判断返回值是否为 EOF 利用 fgets 判断返回值是否为 NULL 判断二进制文件是否读取结束&#xff1a; 利用 fread 判…

00 Tkinter学习路线

Tkinter学习路线 此Tkinter以更新完毕&#xff0c;几乎涵盖了Tkinter所有知识点 此文章用于快速找到对应的知识点 01 Tkinter介绍 02 Tkinter窗口的管理与设置 03 Tkinter布局方式 04 Tkinter布局组件 05 Tkinter事件 06 Tkinter可变变量 07 Label 组件 08 Button 组件 09 Entr…

大模型技术 | 基于大模型构建本地知识库

前言 随着人工智能技术的发展&#xff0c;大模型已成为智能系统进步的关键力量。 模型以其庞大的数据容量和深度学习能力&#xff0c;为处理复杂任务提供了前所未有的可能性。但在特定应用场景下仍面临挑战&#xff0c;尤其是在需要快速、准确响应的情境中。为了克服这些限制…

.NET Razor类库-热加载 就是运行时编译

1.新建3个项目 1.1 一个.NET Standard2.1项目 IX.Sdk.SvnCICD4NuGet 1.2 一个.NET Razor类库项目 IX.Sdk.SvnCICD4NuGet.RazorWeb 1.3 一个.NET6 Web项目 IX.Sdk.SvnCICD4NuGet.Web 这3个项目的引用关系 Web引用 Razor类库 和 .NET Standard2.1 Razor类库引用.NET Standard2.1…

VBA学习(65):Excel VBA 凭证打印/SQL连接Eexcel文件/Listview控件/CommandButton命令按钮控件

本期内容信息量相当的大&#xff0c;内容涉及很多方面&#xff0c;请耐心阅读&#xff0c;肯定不会让你失望的&#xff01;建议收藏&#xff01; Excel中记账凭证的打印&#xff0c;几种思路 Excel表记账的缺点 最新的打印方法&#xff1a;勾选凭证列表&#xff0c;点打印即可…

OpenCV中使用金字塔LK光流法(下)

接下来通过一个demo来调用calcOpticalFlowPyrLK()实现光流计算,需要注意的是该方法适用于具有丰富特征的像素点的光流计算,平坦区域的像素点往往会得到误差较大的结果。所以我们需要先选取得到一些角点,demo中通过goodFeaturesToTrack()这个接口实现角点提取。 如下有两张图…

nvm切换node版本(windows版本)

如果是win系统&#xff0c;不能直接通过npm来安装nvm(npm install nvm不行&#xff01;)。需要手动去nvm官网下载安装包安装nvm github官网 先卸载本地的node版本 npm ls -g --depth0 // 查看全局安装中是否有早前安装的node 1.点击进去Github上往下滑会发现有一个download。进…

IP网络协议

目录 一、IP协议简介 二、IP协议报头 三、IP网段划分&#xff08;子网划分&#xff09; 四、特殊的IP地址 五、IP地址的数量限制 六、私有IP地址和公网IP地址 七、路由 八、分片与组装 一、IP协议简介 IP指网际互连协议&#xff0c;Internet Protocol的缩写&#xff0…

Vue+ElementUI+Electron环境搭建及程序打包

一.环境 Node.js Element-ui Electron 二.Node.js 1.下载并安装Node.js 2.安装完成后,新建目录”node_cache“ ”node_global“ 3.新建及修改环境变量 4.执行如下命令 npm config set prefix "D:\Source_Install\nodejs\node_global" npm config set cache &q…

设计模式-简单工厂模式工厂方法模式

1. 简单工厂模式定义 简单工厂模式&#xff08;Simple Factory Pattern&#xff09;是一种创建型设计模式&#xff0c;它通过专门定义一个类来负责创建其他类的实例&#xff0c;这个类通常被称为工厂类。简单工厂模式并不是一种正式的设计模式&#xff0c;但它确实是一种常用的…

认识Kubebuilder

认识Kubebuilder 一、什么是Kubebuilder?Kubebuilder&#xff0c;K8s operator创建框架controller-runtime和controller-tools库 二、Kubebuilder&#xff0c;举例来说开源项目kuik 三、使用 kubebuilder init 创建基础项目四、使用kubebuilder create api生成控制器CachedIma…

gitea仓库迁移新服务器 更新远程仓库地址(git remote remove origin)

文章目录 引言I 镜像部署方式迁移案例迁移容器备份gitea服务器配置II 修改​远程仓库地址set-url语法案例III 扩展基于git命令方式进行代码迁移忽略被追踪的文件(update .gitignore)see also引言 由于部署git仓库的机器不稳定,决定进行服务器迁移。更新远程仓库地址的应用场景…

传统助贷机构如何利用CRM系统转型升级

传统助贷机构在利用CRM系统&#xff08;客户关系管理系统&#xff09;进行转型升级时&#xff0c;可以遵循以下几个关键步骤和策略&#xff0c;以优化客户管理、提升业务效率并实现业务增长&#xff1a; 一、明确转型升级目标 首先&#xff0c;传统助贷机构需要明确利用CRM系统…

使用docker compose一键部署 Openldap

使用docker compose一键部署 Openldap LDAP&#xff08;轻量级目录访问协议&#xff0c;Lightweight Directory Access Protocol&#xff09;是一种用于访问分布式目录服务的网络协议&#xff0c;OpenLDAP 是 LDAP 协议的一个开源实现&#xff0c;由 OpenLDAP 项目提供&#x…

python库(21):TextBlob库实现文本处理

1 TextBlob简介 TextBlob 是一个基于 Python 的文本处理库&#xff0c;能够让基础的自然语言处理任务变得异常简单。 它提供了一个简单直观的 API&#xff0c;让你能够轻松执行词性标注、名词短语提取、情感分析、文本分类和关键词提取等功能。 值得一提的是&#xff0c;Tex…

Linux git的基本使用 安装 提交

目录 安装git 首次使用git的配置 拉取仓库 步骤1&#xff1a;新建仓库 步骤2:复制仓库地址 步骤3&#xff1a;远端仓库拉取到本地 上传代码 常用指令 安装git sudo apt-get install git # Ubuntu/Debian sudo dnf install git # Fedora sudo yum insta…

BMS中内阻补偿的使用

在BMS&#xff08;电池管理系统&#xff09;中&#xff0c;内阻补偿的使用主要涉及以下几个步骤和方法&#xff1a; 1. 内阻测量 实时监测&#xff1a;通过专用电路或算法实时测量电池的内阻。常用的方法包括脉冲测试法和交流阻抗测试法。计算内阻&#xff1a;基于电流和电压…

基于AI+多技术融合在流域生态系统服务评价 制图、水资源水环境水生态分析、土壤侵蚀分析、流域产水分析、流域碳收支评估、气候变化影响等应用

流域生态系统服务在环境保护与资源管理中具有不可替代的重要性。随着全球气候变化和人类活动对自然环境的压力日益增大&#xff0c;流域生态系统的稳定性和健康状况面临严峻挑战。水资源短缺、洪水频发、水质污染、生物多样性减少等问题&#xff0c;正在威胁流域内及其下游区域…