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

【极数系列】Flink环境搭建(02)

【极数系列】Flink环境搭建(02)

引言

1.linux

直接在linux上使用jdk11+flink1.18.0版本部署

2.docker

使用容器部署比较方便,一键启动停止,方便参数调整

3.windows

搭建Flink 1.18.0版本需要使用Cygwin或wsl工具模拟unix环境+编写对应bat脚本以及路径存在转义符问题,暂时还没搭建成功,小伙伴要是有成功的可以评论区留言下,新版本在windows搭建已经搞得我汗流浃背了!!

一.Linux部署Flink

(1) 部署Linux版本JDK

1.下载Linux版本的JDK11

版本:jdk-11.0.2_linux-x64_bin.tar.gz

https://repo.huaweicloud.com/java/jdk/

2.创建目录

mkdir /usr/java

3.上传并解压

cd /usr/java
rz jdk-11.0.2_linux-x64_bin.tar.gz
tar -xzvf jdk-11.0.2_linux-x64_bin.tar.gz
解压后目录:/usr/java/jdk-11.0.2

4.配置环境变量

vi /etc/profile
#把下面三行加到文件末尾
export JAVA_HOME=/usr/java/jdk-11.0.2
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH

5.刷新环境变量

source /etc/profile

6.检查jdk安装是否成功

看到版本即可 java -version

(2) 部署Flink1.18.0

1.下载Flink1.18.0版本包

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

2.上传压缩包到服务器

cd /www
rz flink-1.18.0-bin-scala_2.12.tgz
tar -xvf flink-1.18.0-bin-scala_2.12.tgz

3.修改flink-config.yaml配置

tips:修改这个配置主要是为了外部网络可以访问,否则只能本地访问

vi /www/flink-1.18.0/conf/flink-config.yaml
把这个配置#rest.bind-address: 0.0.0.0前面的#去掉,如果value是localhost则改为0.0.0.0

在这里插入图片描述

4.启动服务

cd /www/flink-1.18.0
./bin/start-cluster.sh

5.浏览器访问

flinkUI地址:http://127.0.0.1:8081

注意云服务器可能需要关闭对应的防火墙或者是开发端口

#通过命令查看防火墙策略
sudo iptables -L | more
#如果输出内容为Chain INPUT (policy DROP),再执行修改策略
sudo iptables -P INPUT ACCEPT
#直到确认输出为Chain INPUT (policy ACCEPT),才可清除所有规则停止防火墙
sudo iptables -F 
#关闭防火墙
systemctl stop firewalld.service

6.停止服务

cd /www/flink-1.18.0
./bin/stop-cluster.sh

二.docker部署Flink

1.安装yum-utils软件包

tips:提供yum-config-manager 实用程序,配置加速源

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2.安装docker

yum install -y docker-ce docker-ce-cli containerd.io  

3.启动docker

systemctl start docker  

4.设置docker自启动

systemctl enable docker 

5.配置Docker使用systemd作为默认Cgroup驱动

cat <<EOF > /etc/docker/daemon.json
{"exec-opts": ["native.cgroupdriver=systemd"]
}
EOF

6.重启docker

systemctl restart docker

7.拉取最新镜像

tips:目前最新镜像默认是:flink 1.18.0

docker pull flink

8.检查镜像

docker images

9.编写dockerFile文件

docker-compose.yaml文件内容如下

version: "1.0"
services:jobmanager:image: flinkexpose:- "6123"ports:- "8081:8081"command: jobmanagerenvironment:- JOB_MANAGER_RPC_ADDRESS=jobmanagertaskmanager:image: flinkexpose:- "6121"- "6122"depends_on:- jobmanagercommand: taskmanagerlinks:- "jobmanager:jobmanager"environment:- JOB_MANAGER_RPC_ADDRESS=jobmanager

10.执行dockerFile

tips:在docker-compose.yaml文件同级目录执行

docker-compose up -d

11.检查flink是否启动成功

docker ps |grep flink

12.检查日志是否正常

docker logs --tail="500" root-jobmanager-1
docker logs -f root-taskmanager-1

13.查看端口是否存在

netstat -anltp|grep 8081

14.浏览器访问

tips:查看FLink页面web UI页面,云服务器查看防火墙是否开启

http://ip:port/8081

三.本地开发安装JDK11

1.下载jdk11版本包

tips:下载地址https://repo.huaweicloud.com/java/jdk/

在这里插入图片描述

2.安装jdk11服务

双击解压后jdk的exe运行文件

3.路径选择

tips:一般不安装在C盘,修改路径,接着直接next

#使用管理员身份打开cmd命令,进入刚才安装的jdk目录
E:
cd E:\java_11\#生成jre目录文件
bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre

在这里插入图片描述

4.设置环境变量

此电脑–属性–高级系统设置–环境变量–找到系统变量path–选择新建–把jdk与jre目录均加上

在这里插入图片描述

5.多版本JDK共存

进入oracle目录,如我的是C:\ProgramData\Oracle\Java\javapath,删除该目录下的所有 java.exe,javaw.exe 文件,后续就会按照环境变量的顺序默认选择jdk11,如果想切换回jdk8,只需要把jdk8的环境变量移动到jdk11环境变量之前即可

6.验证安装成功与否

打开cmd命令行,执行java -version,出现对应版本表示安装成功

在这里插入图片描述

四.idea配置JDK11

1.修改JDK编译版本

tips:或者在编译打包插件也可

idea--->Settings-->Build,Execution,Deployment--->Java Compiler

在这里插入图片描述

2.调整JDK开发版本

tips: 在 idea 的左上角找到 File 选择 Peoject Structure
在这里插入图片描述

相关文章:

【极数系列】Flink环境搭建(02)

【极数系列】Flink环境搭建&#xff08;02&#xff09; 引言 1.linux 直接在linux上使用jdk11flink1.18.0版本部署 2.docker 使用容器部署比较方便&#xff0c;一键启动停止&#xff0c;方便参数调整 3.windows 搭建Flink 1.18.0版本需要使用Cygwin或wsl工具模拟unix环境…...

仓储管理系统——软件工程报告(需求分析)②

需求分析 一、系统概况 仓库管理系统是一种基于互联网对实际仓库的管理平台&#xff0c;旨在提供一个方便、快捷、安全的存取货物和查询商品信息平台。该系统通过在线用户登录查询&#xff0c;可以线上操作线下具体出/入库操作、查询仓库商品信息、提高仓库运作效率&#xff…...

立创EDA学习:PCB布局

参考内容 【PCB布线教程 | 嘉立创EDA专业版入门教程&#xff08;11&#xff09;】 https://www.bilibili.com/video/BV1mW4y1Z7kb/?share_sourcecopy_web&vd_sourcebe33b1553b08cc7b94afdd6c8a50dc5a 单路布线 遵循顺序 先近后远&#xff0c;先易后难 可以拖动让拐角缩小…...

tomcat与Apache---一起学习吧之服务器

Apache和Tomcat都是Web服务器&#xff0c;但它们有一些重要的区别。 Apache服务器是普通服务器&#xff0c;本身只支持HTML即普通网页。不过可以通过插件支持PHP&#xff0c;还可以与Tomcat连通&#xff08;单向Apache连接Tomcat&#xff0c;就是说通过Apache可以访问Tomcat资…...

Vue3的优势

Vue3和Vue2之间存在以下主要区别&#xff1a; 1. 性能优化&#xff1a;Vue3在内部进行了重写和优化&#xff0c;采用了新的响应式系统&#xff08;Proxy&#xff09;&#xff0c;相较于Vue2中的Object.defineProperty&#xff0c;更具性能优势。Vue3还对编译和渲染进行了优化&…...

鸿蒙开发案例002

1、目标需求 界面有增大字体按钮&#xff0c;每次点击增大字体按钮&#xff0c;“Hello ArkTS”都会变大 2、源代码 Entry Component struct Page {textValue: string Hello ArkTSState textSize: number 50myClick():void{this.textSize 4}build() {Row() {Column() {//…...

Git学习笔记(第9章):国内代码托管中心Gitee

目录 9.1 简介 9.1.1 Gitee概述 9.1.2 Gitee帐号注册和登录 9.2 VSCode登录Gitee账号 9.3 创建远程库 9.4 本地库推送到远程库(push) 9.5 导入GitHub项目 9.6 删除远程库 9.1 简介 9.1.1 Gitee概述 众所周知&#xff0c;GitHub服务器在国外&#xff0c;使用GitHub作为…...

使用k8s 配置 RollingUpdate 滚动更新实现应用的灰度发布

方案实现方式&#xff1a; RollingUpdate 滚动更新机制 当某个服务需要升级时&#xff0c;传统的做法是&#xff0c;先将要更新的服务下线&#xff0c;业务停止后再更新版本和配置&#xff0c;然后重新启动服务。 如果业务集群规模较大时&#xff0c;这个工作就变成了一个挑战…...

MATLAB知识点:mode :计算众数

​讲解视频&#xff1a;可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。​ MATLAB教程新手入门篇&#xff08;数学建模清风主讲&#xff0c;适合零基础同学观看&#xff09;_哔哩哔哩_bilibili 节选自第3章 3.4.1节 mode &#xff1a;计算众数 众数是指一…...

【JavaWeb】MVC架构模式

文章目录 MVC是什么&#xff1f;一、M &#xff1a;Model 模型层二、V&#xff1a;View 视图层三、C&#xff1a;Controller 控制层四、非前后端分离MVC五、前后端分离MVC总结 MVC是什么&#xff1f; MVC&#xff08;Model View Controller&#xff09;是软件工程中的一种**软件…...

【Unity学习笔记】创建人物控制器

人物左右移动 1 导入模型&#xff0c;如果没有模型&#xff0c;则在 窗口-资产商店-free sample 找到人物模型 2 在 窗口-包管理中 导入自己的模型 3 在自己的资产文件夹中找到Prefabs Base HighQuality MaleFree1模型&#xff0c;导入到场景中 4 Assets中创建C#项目 写入如下…...

HCIP:不同VLAN下实现网络互相通信

配置pc1 配置pc2 配置pc3 将sw1划分到vlan3 将sw3划分到vlan3 在sw1上进行缺省 将sw1上&#xff08;g0/0/1&#xff09;的untagged改成 1 3 则在pc1上ping pc2可通 在sw1上进行缺省 在sw3上&#xff08;e0/0/1&#xff09;打标记 则在pc1上ping pc3可通&#xff08;实现互通&am…...

07 队列

目录 1.队列 2.实现 3.OJ题 1. 队列 只允许在一段进行插入数据操作&#xff0c;在另一端进行数据删除操作的特殊线性表&#xff0c;队列具有先进先出FIFO&#xff08;First In Firtst Out&#xff09;&#xff0c;插入操作的叫队尾&#xff0c;删除操作的叫队头 2. 实现 队列…...

产品面试题2

39.产品经理在与 开发团队合作时&#xff0c;以下哪个角色负责将产品需求转化为可执行的任务&#xff1f; a) 技术经理 b) 交互设计师 c) 项目经理 d) 开发工程师 答案&#xff1a;c 40.以下哪个方法适用于评估产品的用户满意度和体验&#xff1f; a) 用户访谈 b) 用户调研问卷…...

[NSSCTF]-Web:[SWPUCTF 2021 新生赛]easy_md5解析

先看网页 大致就是输入name和password的值&#xff0c;只要他俩的值不一样&#xff0c;然后经过md5函数之后一样就能出flag。 解法一&#xff08;利用php的科学计数法&#xff09;&#xff1a; 在php中&#xff0c;假设a&#xff0c;b为数字&#xff0c;那科学计数法可以用ae…...

嵌入式解惑——串口通信中的流控制有什么作用?

在串口通信中&#xff0c;流控制&#xff08;Flow Control&#xff09;是一个非常重要的概念。它主要是用来协调发送端和接收端的数据传输速率&#xff0c;以防止接收端流量过大导致的数据丢失问题。   串口通信的特点是数据是以串行方式&#xff0c;一位一位的进行传输。如果…...

Kubernetes-Taint (污点)和 Toleration(容忍)

目录 一、Taint&#xff08;污点&#xff09; 1.污点的组成 2.污点的设置、查看和去除 3.污点实验&#xff1a; 二、Toleration&#xff08;容忍&#xff09; 1.容忍设置的方案 2.容忍实验&#xff1a; Taint 和 toleration 相互配合&#xff0c;可以用来避免 pod 被分配…...

python三数之和

给你一个整数数组 nums &#xff0c;判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k &#xff0c;同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三元组。 注意&#xff1a;答案中不可以包含重复的三元组。 示例 1…...

uniapp 用css animation做的鲤鱼跃龙门小游戏

第一次做这种小游戏&#xff0c;刚开始任务下来我心里是没底的&#xff0c;因为我就一个‘拍黄片’的&#xff0c;我那会玩前端的动画啊&#xff0c;后面尝试写了半天&#xff0c;当即我就给我领导说&#xff0c;你把我工资加上去&#xff0c;我一个星期给你做出来&#xff0c;…...

JeecgBoot 3.6.1实现Modal对话框,以为审核数据为例

JeecgBoot 3.6.1实现Modal对话框 vue使用的是3.0版本 文章目录 JeecgBoot 3.6.1实现Modal对话框前言一、列表页面关键代码示例二、textAuditModal.vue代码示例三、test.api.ts总结 前言 在工作中&#xff0c;有一个需求&#xff0c;要求&#xff0c;在数据列表页&#xff0c;…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好&#xff0c;欢迎来到《云原生核心技术》系列的第七篇&#xff01; 在上一篇&#xff0c;我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在&#xff0c;我们就像一个拥有了一块崭新数字土地的农场主&#xff0c;是时…...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

Python:操作 Excel 折叠

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

Debian系统简介

目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版&#xff…...

[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?

论文网址&#xff1a;pdf 英文是纯手打的&#xff01;论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误&#xff0c;若有发现欢迎评论指正&#xff01;文章偏向于笔记&#xff0c;谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...

C# SqlSugar:依赖注入与仓储模式实践

C# SqlSugar&#xff1a;依赖注入与仓储模式实践 在 C# 的应用开发中&#xff0c;数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护&#xff0c;许多开发者会选择成熟的 ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;SqlSugar 就是其中备受…...

均衡后的SNRSINR

本文主要摘自参考文献中的前两篇&#xff0c;相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程&#xff0c;其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt​ 根发送天线&#xff0c; n r n_r nr​ 根接收天线的 MIMO 系…...

Java + Spring Boot + Mybatis 实现批量插入

在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法&#xff1a;使用 MyBatis 的 <foreach> 标签和批处理模式&#xff08;ExecutorType.BATCH&#xff09;。 方法一&#xff1a;使用 XML 的 <foreach> 标签&#xff…...