搭建flink集群 —— 筑梦之路

Apache Flink 是一个框架和分布式处理引擎,
用于在无边界和有边界数据流上进行有状态的计算。
Flink 能在所有常见集群环境中运行,并能以内存速度和任意规模进行计算。
Flink并没有依靠自身实现所有分布式系统需要解决的问题,
而是在已有集群基础设施和服务之上专注于它的核心功能。

一个 Flink 集群总是包含一个 JobManager 以及一个或多个 Flink TaskManager。
JobManager 负责处理 Job 提交、 Job 监控以及资源管理。
Flink TaskManager 运行 worker 进程, 
负责实际任务 Tasks 的执行,而这些任务共同组成了一个 Flink Job

官网:https://flink.apache.org/
安装包:https://flink.apache.org/downloads/

 Flink搭建需要四个不同组件
1.作业管理器(JobManager)
控制一个应用程序执行的主进程,也就是说,每个应用程序都会被一个不同的 JobManager 所控制执行。

2.资源管理器(ResourceManager)
主要负责管理任务管理器(TaskManager)的插槽(slot),TaskManger 插槽是Flink中定义的处理资源单元。

3.任务管理器(TaskManager)
Flink中的工作进程。通常在Flink中会有多个TaskManager运行,每一个TaskManager都包含了一定数量的插槽(slots)。
插槽的数量限制了TaskManager能够执行的任务数量。

4.分发器(Dispatcher)
可以跨作业运行,它为应用提交提供了REST接口。

 一个 Flink 集群总是包含一个 JobManager 以及一个或多个 Flink TaskManager。JobManager 负责处理 Job 提交、 Job 监控以及资源管理。 Flink TaskManager 运行 worker 进程, 负责实际任务 Tasks 的执行,而这些任务共同组成了一个 Flink Job。

 进入 Flink 官网,下Apache Flink 1.18.0
https://flink.apache.org/zh/downloads/

1.下载Linux环境下的jdk1.8
https://www.oracle.com/java/technologies/downloads/#java82.JDK压缩包解压
tar -zxvf jdk-8u391-linux-x64.tar.gz -C /usr/local3.环境变量导入
vi /etc/profileexport JAVA_HOME=/usr/local/jdk1.8.0_391
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}##环境变量生效
source /etc/profile##确认安装是否成功
[root@flink01 conf]# java -version
java version "1.8.0_391"
Java(TM) SE Runtime Environment (build 1.8.0_391-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.391-b13, mixed mode)
cat >> /etc/hosts << EOF
172.18.12.85    flink01
172.18.12.86    flink02
172.18.12.87    flink03
EOF1.进入conf目录中,配置flink-conf.yaml文件[root@flink01 opt]# cd /flink/flink-1.18.0/conf/
[root@flink01 conf]# ll
total 56
-rw-r--r-- 1 501 games 14142 Oct 18 20:07 flink-conf.yaml
-rw-r--r-- 1 501 games  2917 Oct 18 20:07 log4j-cli.properties
-rw-r--r-- 1 501 games  3184 Oct 18 20:07 log4j-console.properties
-rw-r--r-- 1 501 games  2041 Oct 18 20:07 log4j-session.properties
-rw-r--r-- 1 501 games  2708 Oct 18 20:07 log4j.properties
-rw-r--r-- 1 501 games  2865 Oct 18 20:07 logback-console.xml
-rw-r--r-- 1 501 games  1550 Oct 18 20:07 logback-session.xml
-rw-r--r-- 1 501 games  2314 Oct 18 20:07 logback.xml
-rw-r--r-- 1 501 games    15 Oct 24  2022 masters
-rw-r--r-- 1 501 games    10 Oct 18 20:07 workers
-rw-r--r-- 1 501 games  1434 Oct 18 20:07 zoo.cfg[root@flink01 conf]# vi flink-conf.yaml# jobManager 的IP地址
jobmanager.rpc.address: flink01# 每个TaskManager 提供的任务 slots 数量大小
# 它的意思是当前task能够同时执行的线程数量 (实际生产环境建议是CPU核心-1)
taskmanager.numberOfTaskSlots: 2jobmanager.rpc.address: node01 JobManager地址
jobmanager.rpc.port: 6123 JobManagerRPC通信端口
jobmanager.heap.size: 1024m JobManager所能使用的堆内存大小
taskmanager.heap.size: 1024m TaskManager所能使用的堆内存大小
taskmanager.numberOfTaskSlots: 2 TaskManager管理的TaskSlot个数,依据当前物理机的
核心数来配置,一般预留出一部分核心(25%)给系统及其他进程使用,一个slot对应一个core。如果
core支持超线程,那么slot个数*2
rest.port: 8081 指定WebUI的访问端口   --单节点放开此选项即可注意:flink01 jobmanager.rpc.address为flink01
flink02 jobmanager.rpc.address为flink01
flink03 jobmanager.rpc.address为flink012.配置masters文件
flink01\flink02\flink03节点均修改为:#localhost:8081
flink01:80813.配置workers文件
flink01\flink02\flink03节点均修改为:
#localhost
flink02
flink03
vi /etc/profile添加以下内容:
export FLINK_HOME=/flink/flink-1.18.0
export PATH=$PATH:$FLINK_HOME/bin环境变量生效
source /etc/profile启动:
start-cluster.sh[root@flink01 ~]# start-cluster.sh
Starting cluster.
Starting standalonesession daemon on host flink01.
root@flink02's password: 
Starting taskexecutor daemon on host flink02.
root@flink03's password: 
Starting taskexecutor daemon on host flink03.[root@flink01 ~]# jps
3525 Jps
3439 StandaloneSessionClusterEntrypoint[root@flink02 ~]# jps
1665 Jps[root@flink03 ~]# jps
1645 Jps停止:
stop-cluster.sh[root@flink01 conf]# stop-cluster.sh
root@flink02's password: 
Stopping taskexecutor daemon (pid: 2225) on host flink02.
root@flink03's password: 
Stopping taskexecutor daemon (pid: 2205) on host flink03.
Stopping standalonesession daemon (pid: 4370) on host flink01.可视化界面
http://192.168.3.15:18080/#/overview
1.SSH服务异常
[root@flink01 ~]# start-cluster.sh
Starting cluster.
Starting standalonesession daemon on host flink01.
/flink/flink-1.18.0/bin/config.sh: line 525: ssh: command not found
/flink/flink-1.18.0/bin/config.sh: line 525: ssh: command not foundyum install -y openssh-clients openssh-server initscripts net-tools
netstat -anp | grep 22    --查看端口systemctl start sshd
[root@flink02 ~]# netstat -lnput |grep :22
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      333/sshd            
tcp6       0      0 :::22                   :::*                    LISTEN      333/sshd   2.Flink web UI 打开不了解决办法
systemctl status firewalld.service查看防火墙状态,看是否是inactive
如果防火墙没有问题还开不了,看flink/conf/flink-conf.yaml里面的 rest.bind-address 参数 改为0.0.0.0
最后重启集群

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

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

相关文章

系列十一、解压文件到指定目录

一、解压文件到指定目录 1.1、需求 Linux的/opt目录有一个文件zookeeper-3.4.11.tar.gz&#xff0c;我现在想把该文件解压至/usr/local/目录&#xff0c;那么应该怎么做呢&#xff1f; 语法&#xff1a;tar -zxvf xxx -C /usr/local/ tar -zxvf zookeeper-3.4.11.tar.gz -C /u…

【一致性】角色 - 表情差异生成 【1】

原理&#xff1a;通过segment 局部重绘 可以根据lora 产生面部表情图片 模型&#xff1a;sam_vit_h_4b8939.pth 导入图片到segment 开启&#xff1a;Enable GroundingDINO GroundingDINO Detection Prompt &#xff1a;输入 face 然后点击&#xff1a;Preview Segmentation …

ES6的默认参数和rest参数

✨ 专栏介绍 在现代Web开发中&#xff0c;JavaScript已经成为了不可或缺的一部分。它不仅可以为网页增加交互性和动态性&#xff0c;还可以在后端开发中使用Node.js构建高效的服务器端应用程序。作为一种灵活且易学的脚本语言&#xff0c;JavaScript具有广泛的应用场景&#x…

使用Promise.all来并行调用多个异步函数;依次同步调用函数

场景&#xff1a; 在一个 vue页&#xff0c;有个form表单数据需要使用到三个后端接口返回的数据&#xff08;常见的就是详情回显&#xff0c;需要下拉数据&#xff09;&#xff0c;要求拿到三个接口返回的数据后&#xff0c;再赋值给表单form。 总结&#xff1a;将方法从同步执…

基于遗传算法的双层规划,基于ga的双层规划

目录 背影 遗传算法的原理及步骤 基本定义 编码方式 适应度函数 运算过程 代码 结果分析 完整代码: 基于遗传算法的双层规划,基于ga的双层规划(代码完整,数据齐全)资源-CSDN文库 https://download.csdn.net/download/abc991835105/88674651 背影 基于遗传算法的双层规划…

贪心算法Part01 455分发饼干

455分发饼干 376摆动序列 53 最大子数组和

Mybatis之入门使用

系列文章目录 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 Mybatis之入门使用 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 系列文章目录前言一、环境准备二、持久…

AIGC系统ChatGPT系统源码,Midjourney绘画,GPT语音对话+ChatFile文档对话总结+DALL-E3文生图+思维导图一站式解决方案

一、前言 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作Ch…

JUnit 简介

JUnit 是什么&#xff1f; JUnit是一个Java测试框架&#xff0c;主要用于单元测试、集成测试&#xff0c;也可以用于创建自动测试。 JUnit框架是最流行的Java测试框架之一。它提供了一些功能&#xff0c;使编写测试变得容易&#xff0c;包括支持多个测试用例、断言和报告。JUn…

CSS animation动画和关键帧实现轮播图效果HTML

CSS animation动画和关键帧实现轮播图效果HTML 这轮播图效果使用h5和css3实现效果&#xff0c;不需要js控制&#xff0c;但是其中的缺点就是不能使用鼠标进行切换效果。 具有代码如下 <!DOCTYPE html> <html lang"en"><head><meta charset&qu…

华为无线AC内三层漫游配置详解

重要说明 1、在一台ac中实现三层漫游 2、ac和核心的互联vlan和ap的管理vlan是同一个广播域&#xff0c;可以不用配option 43 3、直接转发模式&#xff0c;ac上可以不起业务vlan&#xff0c;ac和核心交换机上可以只放行一个互联vlan 10 4、ac上要启两个vap魔板&#xff0c;两个…

使用JAVA Zookeeper构建分布式键值存储

在这篇文章中,我将使用 JAVA 和网络套接字构建一个简单的分布式键值存储。 我将展示如何在具有多个分区和复制的集群中使用 Zookeeper 作为协调服务。 本系统中Zookeeper服务的功能如下: 维护从服务器到分区的映射,即哪些服务器属于分区“i”。这些数据还可用于推断哪些服务…

flutter 之proto

和嵌入式用proto协议来通信&#xff0c;以mac来演示 先在电脑上安装protobuf&#xff08;在博主文章内容里面搜Mac安装protobuf&#xff09;&#xff0c;然后在桌面上放这几个文件&#xff0c;且build_proto_dart.sh文件内容如图所示 #!/bin/bashSCRIPT$(readlink -f "$0…

【JavaWeb】day01-HTMLCSS

day01-HTML&CSS HTML 图片标签&#xff1a;<img> src&#xff1a;指定图像URL&#xff08;绝对路径/相对路径&#xff09;width&#xff1a;图像宽度&#xff08;像素/相对于父元素的百分比&#xff09;height&#xff1a;图像高度&#xff08;像素/相对于父元素的百…

ubuntu terminator 非常好用的护眼配置

安装 sudo apt install terminator 配置文件&#xff1a;sudo gedit ~/.config/terminator/config &#xff08;如果没有就创建&#xff09; 配置如下&#xff1a; [global_config] handle_size -3 title_transmit_fg_color "#000000" title_trans…

c# label 自定义行间距

label 添加 Paint 事件。用"\n" 段落换行 private void label2_Paint(object sender, PaintEventArgs e){int LineDistance 8;//行间距System.Windows.Forms.Label label sender as System.Windows.Forms.Label;System.Drawing.Font drawFont label.Font;label.Au…

【neo4j】neo4j的安装与使用

【neo4j】neo4j的安装与使用 安装java https://www.oracle.com/java/technologies/downloads/ 按照步骤安装即可 配置环境变量 在系统变量中添加 path变量中添加 安装neo4j https://neo4j.com/deployment-center/ 下载后&#xff0c;在指定位置解压缩 与java相同&#…

R语言【base】——which():给出逻辑对象的 TRUE 索引,允许使用数组索引。

Package base version 4.2.0 Parameters which(x, arr.ind FALSE, useNames TRUE)arrayInd(ind, .dim, .dimnames NULL, useNames FALSE) 参数【x】&#xff1a;逻辑向量或数组。允许省略 NA&#xff08;视作 FALSE&#xff09;。 参数【arr.ind】&#xff1a;逻辑&…

Android MVP 写法

前言 Model&#xff1a;负责数据逻辑 View&#xff1a;负责视图逻辑 Presenter&#xff1a;负责业务逻辑 持有关系&#xff1a; 1、View 持有 Presenter 2、Model 持有 Presenter 3、Presenter 持有 View 4、Presenter 持有 Model 辅助工具&#xff1a;ViewBinding 执行…

ORACLE P6 v23.12 最新虚拟机(VM)全套系统环境分享

引言 根据上周的计划&#xff0c;我简单制作了两套基于ORACLE Primavera P6 最新发布的23.12版本预构建了虚拟机环境&#xff0c;里面包含了全套P6 最新版应用服务 此虚拟机仅用于演示、培训和测试目的。如您在生产环境中使用此虚拟机&#xff0c;请先与Oracle Primavera销售代…