当前位置: 首页 > news >正文

Flink集群搭建整合Yarn运行

Flink 集群

1. 服务器规划

服务器
h1、h4、h5

2. StandAlone 模式(不推荐)

2.1 会话模式
在h1操作
#1、解压
tar -zxvf flink-1.19.1-bin-scala_2.12.tgz -C /app/#2、修改配置文件
cd /app/flink-1.19.1/conf
vim conf.yaml
##内容:##
jobmanager:rpc:address: h1bind-host: 0.0.0.0
rest:address: h1bind-address: 0.0.0.0
# TaskManager节点地址.需要配置为当前机器名
taskmanager:bind-host: 0.0.0.0host: h1
#配置jdk地址
env:java:home: /usr/java/jdk-11.0.2
##内容结束###3、设置从节点
vim workers
##内容:##
h1
h4
h5
##内容结束###3、设置主节点
vim masters
##内容:##
h1:8081
##内容结束###4、把安装包分发
cd /app
scp -r flink-1.19.1/ h4:$PWD
scp -r flink-1.19.1/ h5:$PWD#5、分别在h4、h5上修改taskmanager.host为自己的地址
#h4:
taskmanager.host: h4#h5:
taskmanager.host: h5#6、在h1启动测试
#因为组件混合配置,flink在启动之前需要先配置java环境为jdk11
cd /app/flink-1.19.1/
vim bin/start-cluster.sh
##内容##
# 指定新的 JAVA_HOME use jdk11
export JAVA_HOME=/usr/java/jdk-11.0.2
export PATH=$JAVA_HOME/bin:$PATH
##内容结束##bin/start-cluster.sh#停止
bin/stop-cluster.sh#7、查看启动
jps
h1:8081  #浏览器
2.2 单作业模式

Flink 的 Standalone 集群并不支持单作业模式部署。因为单作业模式需要借助一些资源管理平台

2.3 应用模式

应用模式下不会提前创建集群,所以不能调用 start-cluster.sh 脚本。我们可以使用同样在 bin 目录下的 standalone-job.sh 来创建一个 JobManager

#上传jar包到lib目录
cd /app/flink-1.19.1/lib
rz -Ecd /app/flink-1.19.1/
bin/standalone-job.sh start --job-classname com.mywind.bg.wc.SocketStreamWordCount
bin/taskmanager.sh start#测试
nc -lk 7777
ni hao
wo hao#停止
bin/taskmanager.sh stop
bin/standalone-job.sh stop

3. Yarn 运行模式(推荐)

前面的配置文件不会影响

3.1 配置环境
#启动Hadoop集群(HDFS、YARN)
vim /etc/profile.d/my_env.sh
##内容##
HADOOP_HOME=/opt/cloudera/parcels/CDH/
export PATH=$PATH:$HADOOP_HOME/bin
export HADOOP_CONF_DIR=/etc/hadoop/conf
export HADOOP_CLASSPATH=`hadoop classpath`#export HADOOP_CONF_DIR=/etc/hadoop/conf
#export HBASE_CONF_DIR=/etc/hbase/conf
##内容结束##
source /etc/profile.d/my_env.shscp /etc/profile.d/my_env.sh h4:/etc/profile.d/
scp /etc/profile.d/my_env.sh h5:/etc/profile.d/
#分别到h4、h5 source
source /etc/profile.d/my_env.sh#h1、h4、h5创建用户mflink
useradd mflink
passwd mflink
mflink
mflink#创建提交作业的用户目录,并设置权限
sudo -u hdfs hdfs dfs -mkdir /user/mflink
sudo -u hdfs hdfs dfs -chown mflink:supergroup /user/mflink
3.2 会话模式(测试使用)

YARN 的会话模式与独立集群略有不同,需要首先申请一个 YARN 会话(YARN Session)来启动 Flink 集群

#执行脚本命令向YARN集群申请资源,开启一个YARN会话,启动Flink集群
cd /app/flink-1.19.1/
#以后都用mflink用户提交作业
su mflink
bin/yarn-session.sh -nm test  #建议后台提交(加参数 -d)
#in/yarn-session.sh -d -nm yarn-session-test#提交作业测试
./bin/flink run examples/streaming/WordCount.jar
3.3 单作业模式

在 YARN 环境中,由于有了外部平台做资源调度,所以我们也可以直接向 YARN 提交一个单独的作业,从而启动一个 Flink 集群

cd /app/flink-1.19.1/conf/
vim conf.yaml
##内容##
classloader:check-leaked-classloader: false
####
cd /app/flink-1.19.1/
bin/flink run -d -t yarn-per-job examples/streaming/WordCount.jar
3.4 应用模式(生产使用)

应用模式同样非常简单,与单作业模式类似,直接执行 flink run-application 命令即可

3.4.1 命令行提交
cd /app/flink-1.19.1/
bin/flink run-application -t yarn-application examples/streaming/WordCount.jar
3.4.2 上传 HDFS 提交

通过 yarn.provided.lib.dirs 配置选项指定位置,将 flink 的依赖上传到远程

cd /app/flink-1.19.1/
#创建flink文件目录
sudo -u hdfs hdfs dfs -mkdir /flink-dist
sudo -u hdfs hdfs dfs -put lib/ /flink-dist
sudo -u hdfs hdfs dfs -put plugins/ /flink-dist#创建jar包目录
sudo -u hdfs hdfs dfs -mkdir /flink-dist/flink-jars
sudo -u hdfs hdfs dfs -put examples/streaming/WordCount.jar /flink-dist/flink-jars#执行任务
bin/flink run-application -t yarn-application -Dyarn.provided.lib.dirs="hdfs://namenode1/flink-dist/" hdfs://namenode1/flink-dist/flink-jars/WordCount.jar

flink 的依赖和作业 jar 预先上传到 HDFS,不需要单独发送到集群,可以让作业提交更加轻量

相关文章:

Flink集群搭建整合Yarn运行

Flink 集群 1. 服务器规划 服务器h1、h4、h5 2. StandAlone 模式(不推荐) 2.1 会话模式 在h1操作 #1、解压 tar -zxvf flink-1.19.1-bin-scala_2.12.tgz -C /app/#2、修改配置文件 cd /app/flink-1.19.1/conf vim conf.yaml ##内容:## j…...

Linux Ubuntu 安装配置RabbitMQ,springboot使用RabbitMQ

rabbit-Ubuntu 一篇文章学会RabbitMQ 在Ubuntu上查看RabbitMQ状态可以通过多种方式进行,包括使用命令行工具和Web管理界面。以下是一些常用的方法: 1-使用systemctl命令: sudo systemctl start rabbitmq-server sudo systemctl status ra…...

云数据库 MongoDB

MongoDB 是一个基于文档的 NoSQL 数据库,它与传统的关系型数据库不同,采用的是灵活的文档结构(类似 JSON 格式)。MongoDB 是开源的,且高度可扩展,通常用于处理大量的非结构化或半结构化数据。 云数据库 Mon…...

Ionic 8.4 简介

Ionic 是一个用于开发混合移动应用、渐进式Web应用(PWA)以及桌面应用的开源框架。它结合了 Angular、React 或 Vue.js 等现代前端框架与 Cordova/PhoneGap 的力量,允许开发者使用 Web 技术(HTML, CSS, JavaScript)构建…...

蓝桥杯系列---class1

🌈个人主页:羽晨同学 💫个人格言:“成为自己未来的主人~” 我们今天会再开一个系列,那就是蓝桥杯系列,我们会从最基础的开始讲起,大家想要备战明年蓝桥杯的,让我们一起加油。 工具安装 DevC…...

vue3+elementPlus封装的一体表格

目录结构 源码 exportOptions.js export default reactive([{label: 导出本页,key: 1,},{label: 导出全部,key: 2,}, ])index.vue <template><div class"flex flex-justify-between flex-items-end"><div><el-button-group><slot name…...

Junit5 单元测试入门

基础知识 常用注解含义 Test&#xff1a;标记一个方法为测试方法BeforeEach&#xff1a;标记的方法会在每个测试方法执行前执行AfterEach&#xff1a;标记的方法会在每个测试方法执行后执行BeforeAll&#xff1a;标记的方法会在所有测试方法执行前执行一次AfterAll&#xff1…...

数字信号处理-数学基础

来源哪都有&#xff0c;个人复习使用 一 积分 常用积分公式&#xff1a; 基本积分方法 凑微分法(也称第一换元法)&#xff1a; 换元&#xff1a; 分部积分&#xff1a; 卷积 这里有动图解释&#xff1a; https://mathworld.wolfram.com/Convolution.html 欧拉公式 e i x…...

【Exp】# Microsoft Visual C++ Redistributable 各版本下载地址

Microsoft官方页面 https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads Redistributable 2019 X86: https://aka.ms/vs/16/release/VC_redist.x86.exe X64: https://aka.ms/vs/16/release/VC_redist.x64.exe Redistributable 201…...

Hive 分桶表的创建与填充操作详解

Hive 分桶表的创建与填充操作详解 在 Hive 数据处理中&#xff0c;分桶表是一个极具实用价值的功能&#xff0c;它相较于非分桶表能够实现更高效的采样&#xff0c;并且后续还可能支持诸如 Map 端连接等节省时间的操作。不过&#xff0c;值得注意的是&#xff0c;在向表写入数…...

[小白系列]Ubuntu安装教程-安装prometheus和Grafana

Docker安装prometheus 拉取镜像 docker pull prom/prometheus 配置文件prometheus.yml 在/data/prometheus/建立prometheus.yml配置文件。&#xff08;/data/prometheus/可根据自己需要调整&#xff09; global:scrape_interval: 15s # By default, scrape targets ev…...

Flask使用长连接

Flask使用flask_socketio实现websocket Python中的单例模式 在HTTP通信中&#xff0c;连接复用&#xff08;Connection Reuse&#xff09;是一个重要的概念&#xff0c;它允许客户端和服务器在同一个TCP连接上发送和接收多个HTTP请求/响应&#xff0c;而不是为每个新的请求/响…...

数据分析思维案例:游戏评分低,怎么办?

【面试题】 某款手游在应用市场评分相比同类型游戏处于劣势。 请分析可能的原因并给出相关建议。 【分析思路】 一、明确问题 1. 明确业务指标 定义&#xff1a;应用市场评分一般指某一应用在某个应用市场上线以来的总体平均评分。 除“总体平均评分”以外&#xff0c;部分应用…...

【学习总结|DAY012】Javabean书写练习

一、主要代码 public class Phone {public Phone() {}public Phone(String brand, int price, String color) {this.brand brand;this.price price;this.color color;}String brand;int price;String color;public String getBrand() {return brand;}public void setBrand(…...

Mac环境下brew安装LNMP

安装不同版本PHP 在Mac环境下同时运行多个版本的PHP&#xff0c;同Linux环境一样&#xff0c;都是将后台运行的php-fpm设置为不同的端口号&#xff0c;下面将已php7.2 和 php7.4为例 添加 tap 目的&#xff1a;homebrew仅保留最近的php版本&#xff0c;可能没有你需要的版本…...

openEuler 知:安装系统

文章目录 前言图形化安装文本方式安装 前言 本文只介绍安装过程中需要特别注意的地方&#xff0c;常规的内容需要参考其它文档。 图形化安装 自定义分区&#xff1a; 说明&#xff1a;anaconda 默认分区&#xff0c;在 OSNAME.conf 中进行了配置&#xff0c;openEuler 默认根…...

Zephyr 入门-设备树与设备驱动模型

学习链接&#xff1a;https://www.bilibili.com/video/BV1L94y1F7qS/?spm_id_from333.337.search-card.all.click&vd_source031c58084cf824f3b16987292f60ed3c 讲解清晰&#xff0c;逻辑清楚。 1. 设备树概述&#xff08;语法&#xff0c;如何配置硬件&#xff0c;c代码如…...

点云标注软件SUSTechPOINTS的安装和使用,自测win10和ubuntu20.04下都可以用

点云标注软件SUSTechPOINTS的安装和使用 github项目源码&#xff1a;https://github.com/naurril/SUSTechPOINTS gitee源码以及使用教程&#xff1a;https://gitee.com/cuge1995/SUSTechPOINTS 首先拉取源码 git clone https://github.com/naurril/SUSTechPOINTS最好是在cond…...

etcd资源超额

集群内apiserver一直重启&#xff0c;重启kubelet服务后查看日志发现一下报错&#xff1a; Error from server: etcdserver: mvcc: database space exceeded 报错原因&#xff1a; etcd服务未设置自动压缩参数&#xff08;auto-compact&#xff09; etcd 默认不会自动 compa…...

AndroidStudio-常见界面控件

一、Button package com.example.review01import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.Button import android.widget.TextViewclass Review01Activity : AppCompatActivity() {override fun onCreate(savedInstanceStat…...

JavaSec-RCE

简介 RCE(Remote Code Execution)&#xff0c;可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景&#xff1a;Groovy代码注入 Groovy是一种基于JVM的动态语言&#xff0c;语法简洁&#xff0c;支持闭包、动态类型和Java互操作性&#xff0c…...

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

【开发技术】.Net使用FFmpeg视频特定帧上绘制内容

目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法&#xff0c;当前调用一个医疗行业的AI识别算法后返回…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台

🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

OD 算法题 B卷【正整数到Excel编号之间的转换】

文章目录 正整数到Excel编号之间的转换 正整数到Excel编号之间的转换 excel的列编号是这样的&#xff1a;a b c … z aa ab ac… az ba bb bc…yz za zb zc …zz aaa aab aac…; 分别代表以下的编号1 2 3 … 26 27 28 29… 52 53 54 55… 676 677 678 679 … 702 703 704 705;…...

深度剖析 DeepSeek 开源模型部署与应用:策略、权衡与未来走向

在人工智能技术呈指数级发展的当下&#xff0c;大模型已然成为推动各行业变革的核心驱动力。DeepSeek 开源模型以其卓越的性能和灵活的开源特性&#xff0c;吸引了众多企业与开发者的目光。如何高效且合理地部署与运用 DeepSeek 模型&#xff0c;成为释放其巨大潜力的关键所在&…...

[特殊字符] 手撸 Redis 互斥锁那些坑

&#x1f4d6; 手撸 Redis 互斥锁那些坑 最近搞业务遇到高并发下同一个 key 的互斥操作&#xff0c;想实现分布式环境下的互斥锁。于是私下顺手手撸了个基于 Redis 的简单互斥锁&#xff0c;也顺便跟 Redisson 的 RLock 机制对比了下&#xff0c;记录一波&#xff0c;别踩我踩过…...

聚六亚甲基单胍盐酸盐市场深度解析:现状、挑战与机遇

根据 QYResearch 发布的市场报告显示&#xff0c;全球市场规模预计在 2031 年达到 9848 万美元&#xff0c;2025 - 2031 年期间年复合增长率&#xff08;CAGR&#xff09;为 3.7%。在竞争格局上&#xff0c;市场集中度较高&#xff0c;2024 年全球前十强厂商占据约 74.0% 的市场…...

ArcPy扩展模块的使用(3)

管理工程项目 arcpy.mp模块允许用户管理布局、地图、报表、文件夹连接、视图等工程项目。例如&#xff0c;可以更新、修复或替换图层数据源&#xff0c;修改图层的符号系统&#xff0c;甚至自动在线执行共享要托管在组织中的工程项。 以下代码展示了如何更新图层的数据源&…...

EEG-fNIRS联合成像在跨频率耦合研究中的创新应用

摘要 神经影像技术对医学科学产生了深远的影响&#xff0c;推动了许多神经系统疾病研究的进展并改善了其诊断方法。在此背景下&#xff0c;基于神经血管耦合现象的多模态神经影像方法&#xff0c;通过融合各自优势来提供有关大脑皮层神经活动的互补信息。在这里&#xff0c;本研…...