Flink的Standalone部署实战

在Flink是通用的框架,以混合和匹配的方式支持部署不同场景,而Standalone单机部署方便快速部署,记录本地部署过程,方便备查。

环境要求

1)JDK1.8及以上
2)flink-1.14.3
3)CentOS7

Flink相关信息可到 Flink官网下载和查看相关信息。

第一步、下载并解压

推荐使用 wget 方式,本次选择的是版本 flink-1.14.3-bin-scala_2.12.tgz,下载并解压,执行以下命令。

// 下载
wget https://archive.apache.org/dist/flink/flink-1.14.3/flink-1.14.3-bin-scala_2.12.tgz
// opt下创建文件夹
mkdir /opt/flink
// 解压到opt下目录
tar -zxvf flink-1.14.3-bin-scala_2.12.tgz -C /opt/flink/

下载界面如下图所示。
在这里插入图片描述

第二步、配置环境变量

进入环境变量配置文件profile, 即 vi /etc/profile,添加以下内容。

#flink
export Flink_HOME=/opt/flink/flink-1.14.3/
# 将flink路径添加到PATH路径下
export PATH=$JMETER/bin/:$PATH:$Flink_HOME/bin

:wq 保存配置信息,主要要刷新环境变量

// 刷新环境变量
source /etc/profile
// 查看安装位置
which flink
// 进入到bin目录下,启动
start-cluster.sh
// 查看flink进程
ps -ef | grep flink
// 测试
jps

执行以上步骤,则表示flink已经启动成功,执行结果如下图所示。
在这里插入图片描述
但此时在浏览器访问 http://192.168.184.137:8081/#/overview,其中 192.168.184.137为虚拟机的IP地址,还无法进入flink控制台。
在这里插入图片描述

第三步、修改虚拟机配置

此时仍需要修改连接的配置信息,首先关闭flink服务,并在 配置 flink-conf.yaml 放开默认8081端口和绑定的地址。

// 在bin目录下,终止flink启动
stop-cluster.sh
// 打开配置文件
vi /opt/flink/flink-1.14.3/conf/flink-conf.yaml 

放开注释信息,如下图所示。
在这里插入图片描述
注意:必须将端口添加到防火墙的信任列表,并刷新

// 添加防火墙
firewall-cmd --zone=public --add-port=8081/tcp --permanent
firewall-cmd --reload

此时浏览器再次访问 http://192.168.184.137:8081/#/overview,即可进入控制台,如下图所示。
在这里插入图片描述

第四步、启动作业流

数据输入需要使用 nc 命令,可提前yum安装。

// 安装nc
yum install nc

一步步安装即可。
在这里插入图片描述

打开两个xshell连接

第一个连接
作用是发送流数据

// nc命令,端口9999
nc -l 9999

执行完命令后,输入要传递的数据。
在这里插入图片描述

第二个连接
作用是接收和处理数据
flink目录下有example 测试demo,flink run 即可启动,注意端口保持一致。

flink run /opt/flink/flink-1.14.3/examples/streaming//SocketWindowWordCount.jar --port 9999

将Job任务提交运行,可在控制台查询执行结果。
在这里插入图片描述

以上即Flink的Standalone部署过程,有问题可留言交流!

异常处理

【1】错误信息
org.apache.flink.util.FlinkException: TaskExecutor akka.tcp://flink@192.168.184.137:34207/user/rpc/taskmanager_0 has no more allocated slots for job 8aa6239dce488f7b9a9bb237343871a6.
处理方案
standalone模式,需要指定TaskManager主机的地址

【2】启动提示输入密码

root@localhost’s password:
处理方案一、免密登录
生成并上传公钥,可免密登录。

// 生成密钥,会在 .ssh 目录下生成密钥文件
ssh-keygen
// 上传公钥
ssh-copy-id -i /$USER/.ssh/id_rsa.pub $USER@本机ip

在这里插入图片描述

处理方案二,密码登录
如忘记密码,可用root重置密码,命令为 passwd 账户名
在这里插入图片描述

参考博客

【1】https://blog.csdn.net/zou79189747/article/details/107255299

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

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

相关文章

第 7 章 排序算法(4)(插入排序)

7.7插入排序 7.7.1插入排序法介绍: 插入式排序属于内部排序法,是对于欲排序的元素以插入的方式找寻该元素的适当位置,以达到排序的目的。 7.7.2插入排序法思想: 插入排序(Insertion Sorting)的基本思想是:把n个待排…

点云平面拟合和球面拟合

一、介绍 In this tutorial we learn how to use a RandomSampleConsensus with a plane model to obtain the cloud fitting to this model. 二、代码 #include <iostream> #include <thread> #include <pcl/point_types.h> #include <pcl/common/io.…

Android GreenDao数据库升级(附Demo)

前言 大家好久不见&#xff0c;一转眼马上八月份下旬了&#xff0c;最近由于工作比较忙&#xff0c;没时间给大家更新博文。百忙之中抽出时间&#xff0c;给大家来更新一篇关于GreenDao3数据库的升级。 关于GreenDao的详细介绍以及一些逻辑性的增、删、改、查等&#xff0c;可以…

Nevron Open Vision for .NET Crack

Nevron Open Vision for .NET Crack NET Vision是一个用于生成具有数据可视化功能的强大数据表示应用程序的包。该套件具有用于.NET的Nevron Chart、用于.NET的Nevron Diagram和用于.NET的Nevron User Interface。精心设计的对象模型、许多功能和卓越的演示使复杂数据的可视化变…

git操作:将一个仓库的分支提交到另外一个仓库分支

这个操作&#xff0c;一般是同步不同网站的同个仓库&#xff0c;比如说gitee 和github。某个网站更新了&#xff0c;你想同步他的分支过来。然后基于分支开发或者其它。 操作步骤 1.本地先clone 你自己的仓库。也就是要push 分支的仓库。比如A仓库&#xff0c;把B仓库分支&am…

分类预测 | MATLAB实现S4VM半监督支持向量机二分类预测

分类预测 | MATLAB实现S4VM半监督支持向量机二分类预测 目录 分类预测 | MATLAB实现S4VM半监督支持向量机二分类预测分类效果基本介绍程序设计参考资料 分类效果 基本介绍 分类预测 | MATLAB实现S4VM半监督支持向量机二分类预测 程序设计 完整源码和数据获取方式&#xff1a; …

使用端口映射实现Spring Boot服务端接口的公网远程调试:详细配置与步骤解析

文章目录 前言1. 本地环境搭建1.1 环境参数1.2 搭建springboot服务项目 2. 内网穿透2.1 安装配置cpolar内网穿透2.1.1 windows系统2.1.2 linux系统 2.2 创建隧道映射本地端口2.3 测试公网地址 3. 固定公网地址3.1 保留一个二级子域名3.2 配置二级子域名3.2 测试使用固定公网地址…

解决npm安装依赖失败,node和node-sass版本不匹配的问题

npm安装依赖报错&#xff1a; npm ERR! cb() never called! npm ERR! This is an error with npm itself. 一. 问题描述 用npm安装依赖报错&#xff1a; npm ERR! cb() never called! npm ERR! This is an error with npm itself. Please report this error at: npm ERR! …

【数据结构】C语言实现栈(详细解读)

前言: &#x1f4a5;&#x1f388;个人主页:​​​​​​Dream_Chaser&#xff5e; &#x1f388;&#x1f4a5; ✨✨专栏:http://t.csdn.cn/oXkBa ⛳⛳本篇内容:c语言数据结构--C语言实现栈 目录 什么是栈 栈的概念及结构 实现栈的方式 链表的优缺点: 顺序表的优缺点: 栈…

深入探索快速排序:高效分而治之的算法

1. 引言&#xff1a;快速排序的背景与重要性 快速排序&#xff08;Quick Sort&#xff09;是一种高效的排序算法&#xff0c;以其出色的性能和普适性而受到广泛关注。它利用了分而治之的思想&#xff0c;通过将数组分割成较小的子数组&#xff0c;并将这些子数组分别排序来实现…

使用 Amazon Redshift Serverless 和 Toucan 构建数据故事应用程序

这是由 Toucan 的解决方案工程师 Django Bouchez与亚马逊云科技共同撰写的特约文章。 带有控制面板、报告和分析的商业智能&#xff08;BI&#xff0c;Business Intelligence&#xff09;仍是最受欢迎的数据和分析使用场景之一。它为业务分析师和经理提供企业的过去状态和当前状…

MQ消息队列(主要介绍RabbitMQ)

消息队列概念&#xff1a;是在消息的传输过程中保存消息的容器。 作用&#xff1a;异步处理、应用解耦、流量控制..... RabbitMQ&#xff1a; SpringBoot继承RabbitMQ步骤&#xff1a; 1.加入依赖 <dependency><groupId>org.springframework.boot</groupId&g…

隧道HTTP具备的条件

作为一名专业的爬虫代理供应商&#xff0c;我们都知道使用代理是保证爬虫的高效性和稳定性的重要手段之一。而隧道代理则是近年来备受推崇的一种代理形式&#xff0c;它通过将请求通过隧道传输&#xff0c;可以有效地隐藏爬虫的真实IP地址&#xff0c;提高爬虫的反爬能力。 在…

ConfigMap(可变应用配置管理)

实验环境 实验环境&#xff1a; 1、win10,vmwrokstation虚机&#xff1b; 2、k8s集群&#xff1a;3台centos7.6 1810虚机&#xff0c;1个master节点,2个node节点k8s version&#xff1a;v1.22.2containerd://1.5.5实验软件(无) 1 基础知识 1.1 什么是ConfigMap(可变配置管理…

matlab工具箱Filter Designer设计butterworth带通滤波器

1、在matlab控制界面输入fdatool; 2、在显示的界面中选择合适的参数&#xff1b;本实验中采样频率是200&#xff0c;低通30hz&#xff0c;高通60hz,点击butterworth滤波器。 3、点击设计滤波器按钮后&#xff0c;在生成的界面点击红框按钮&#xff0c;可生成simulink模型到当前…

Linux下彻底卸载jenkins

文章目录 1、停服务进程2、查找安装目录3、删掉相关目录4、确认已完全删除 1、停服务进程 查看jenkins服务是否在运行&#xff0c;如果在运行&#xff0c;停掉 ps -ef|grep jenkins kill -9 XXX2、查找安装目录 find / -name "jenkins*"3、删掉相关目录 # 删掉相…

一文全懂!带你了解芯片“流片”!

一、流片是什么&#xff1f; 流片(tape-out)是指通过一系列工艺步骤在流水线上制造芯片&#xff0c;是集成电路设计的最后环节&#xff0c;也就是送交制造。 流片即为"试生产"&#xff0c;简单来说就是设计完电路以后&#xff0c;先生产几片几十片&#xff0c;供测试…

C++入门:内联函数,auto,范围for循环,nullptr

目录 1.内联函数 1.1 概念 1.2 特性 1.3 内联函数与宏的区别 2.auto关键字(C11) 2.1 auto简介 2.2 auto的使用细则 2.3 auto不能推导的场景 3.基于范围的for循环(C11) 3.1 范围for的语法 3.2 范围for的使用方法 4.指针空值nullptr(C11) 4.1 C98中的指针空值 1.内联…

15.树与二叉树基础

目录 一. 树&#xff0c;基本术语 二. 二叉树 &#xff08;1&#xff09;二叉树 &#xff08;2&#xff09;满二叉树 &#xff08;3&#xff09;完全二叉树 三. 二叉树的性质 四. 二叉树的存储结构 &#xff08;1&#xff09;顺序存储结构 &#xff08;2&#xff09;链…

C#__自定义类传输数据和前台线程和后台线程

// 前台线程和后台线程 // 默认情况下&#xff0c;用Thread类创建的线程是前台线程。线程池中的线程总是后台线程。 // 用Thread类创建线程的时候&#xff0c;可以设置IsBackground属性&#xff0c;表示一个后台线程。 // 前台线程在主函数运行结束后依旧执行&#xff0c;后台线…