第一步,搭建Linux环境

这里我使用的是 WSL2

安装前,先用管理员打开终端,执行以下三条命令,目的是开启安装 WSL2所需要的环境

//开启适用于windows的Linux子系统
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
//开启虚拟机平台
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
//开启hyper-v
bcdedit /set hypervisorlaunchtype auto

环境准备好后,更新wsl内核包

wsl --update

指定 wsl 版本

# 将 WSL 默认版本设置为 WSL 2
wsl --set-default-version 2

最后,输入指令安装(windows 会从微软商店下载,可能会被墙,建议开魔法,没有的话也可以直接去搜索Ubuntu安装包进行安装)

可能会提示你输入用户名和密码,要记住自己输入的用户名密码

wsl --install -d Ubuntu

安装完毕后,检验安装:

wsl -l -v

如果输出以下信息,则表示安装成功

  NAME            STATE           VERSION
* Ubuntu-20.04    Running         2

点击开始界面中最近添加的 Ubuntu 打开,即可弹出可供 linux 操作的命令框

另外,本地磁盘会多一个 Linux 目录,如果需要和 Linux 系统进行文件传输可以直接复制粘贴

第二步,下载 flink 

我用的是 flink 1.17

这里是阿里镜像下载连接:apache-flink安装包下载_开源镜像站-阿里云

选择第一个 flink-1.14.2-bin-scala_2.12.tgz

下载完毕后,将其复制粘贴到 linux 中的home目录/你的用户名文件夹 之下 

第三步,给 linux 安装 JDK11

在 lunux 命令行中,输入如下命令:

sudo apt update
sudo apt install openjdk-11-jdk

验证安装:

java -version

显示如下信息则安装成功

openjdk version "11.0.18" 2023-01-17 OpenJDK Runtime Environment (build 11.0.18+10-post-Ubuntu-0ubuntu122.04) OpenJDK 64-Bit Server VM (build 11.0.18+10-post-Ubuntu-0ubuntu122.04, mixed mode, sharing)

第四步,让防火墙对 WSL2 放行

首先在 linux 环境中查看自己与 windows 相连的主机IP地址

ip addr

flinkuser@LAPTOP-F32HCITG:~/flink-1.17.2$ ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet 10.255.255.254/32 brd 10.255.255.254 scope global lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:15:5d:27:1a:4b brd ff:ff:ff:ff:ff:ff inet 172.23.168.153/20 brd 172.23.175.255 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::215:5dff:fe27:1a4b/64 scope link valid_lft forever preferred_lft forever

可以看到我的IP地址是 172.23.168.153

管理员启动 powerShell 让防火墙给这个IP地址放行

# 允许从 Windows 访问 WSL2 的 172.23.168.153 所有端口(TCP 协议)
New-NetFirewallRule -DisplayName "WSL2-IP-All-Ports" `-Direction Inbound `-LocalAddress 172.23.168.153 `-Protocol TCP `-Action Allow

放行后,使用windows 的 powershell 测试一下能否正常访问 linux 端口

Test-NetConnection -ComputerName 172.23.168.153 -Port 8888

PS C:\Windows\system32> Test-NetConnection -ComputerName 172.23.168.153 -Port 8888 警告: TCP connect to (172.23.168.153 : 8888) failed ComputerName : 172.23.168.153 RemoteAddress : 172.23.168.153 RemotePort : 8888 InterfaceAlias : vEthernet (WSL (Hyper-V firewall)) SourceAddress : 172.23.160.1 PingSucceeded : True PingReplyDetails (RTT) : 0 ms TcpTestSucceeded : False

可以看到访问成功,只不过我们没往 8888 端口放东西,所以TcpTestSucceeded 是 flase

放行后 windows 就可以正常访问运行在 Linux 上的 filnk 集群了

第五步,开启 linux 本地 flink 集群

使用 cd 命令,进入 flink 根目录

$ cd flink-1.17.2-bin-scala_2.12

开启集群

$ ./bin/start-cluster.sh

成功开启后会输出如下信息:

  1. Starting cluster.
  2. Starting standalonesession daemon on host.
  3. Starting taskexecutor daemon on host.

提交一个本地已经有的 jar 包作业

$ ./bin/flink run examples/streaming/WordCount.jar

查看作业运行效果:

$ tail log/flink-*-taskexecutor-*.out

输出如下:

  1. (nymph,1)
  2. (in,3)
  3. (thy,1)
  4. (orisons,1)
  5. (be,4)
  6. (all,2)
  7. (my,1)
  8. (sins,1)
  9. (remember,1)
  10. (d,4)

浏览器访问 localhost:8081 可以看到 flink 的 web UI

可以看到,windows下的浏览器可以正常访问到 linux 环境中的 flink 集群

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

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

相关文章

算法:链表part02:24. 两两交换链表中的节点 + 19. 删除链表的倒数第 N 个结点 + 面试题 02.07. 链表相交

24. 两两交换链表中的节点题目&#xff1a;https://leetcode.cn/problems/swap-nodes-in-pairs/description/ 讲解&#xff1a;https://programmercarl.com/0024.%E4%B8%A4%E4%B8%A4%E4%BA%A4%E6%8D%A2%E9%93%BE%E8%A1%A8%E4%B8%AD%E7%9A%84%E8%8A%82%E7%82%B9.html 复习可以先…

【Linux学习】(11)进程的概念

前言在上一章我们知道了什么是进程&#xff0c;并简单了解了PCB。 本文我们将继续深入学习进程概念相关知识点&#xff1a; 学习进程状态&#xff0c;学会创建进程&#xff0c;掌握僵尸进程和孤儿进程&#xff0c;及其形成原因和危害了解进程调度&#xff0c;Linux进程优先级&a…

UniappDay04

1.登录模块-小程序快捷登录定义接口&#xff0c;封装 import { http } from /utils/httptype loginParams {code: stringencryptedData: stringiv: string } export const postLoginWxMinAPI (data: loginParams) > {return http({method: POST,url: /login/wxMin,data,})…

NPM/Yarn完全指南:前端开发的“基石“与“加速器“

开篇:当你第一次运行npm install时... "这node_modules文件夹怎么比我的项目代码还大100倍?!" —— 每个前端新手第一次看到node_modules时的反应都出奇地一致。别担心,今天我要带你彻底搞懂这个让项目"膨胀"的"罪魁祸首",以及如何用NPM/Y…

vue页面自定义滚动条

效果图实现思路 固定整个灰色滚动条的长度计算可滚动区域占整个可视视图的比例&#xff0c;来确定橙色块的长度监听页面滚动&#xff0c;计算橙色块向右偏移距离 主要代码 template&#xff1a; <div v-show"showBar" ref"barRef" class"scrollbar…

企业级JWT验证最佳方案:StringUtils.hasText()

在企业级Java开发中&#xff0c;判断JWT令牌是否有效的最全面且常用的方式是结合以下两种方法&#xff1a; ✅ 推荐方案&#xff1a;StringUtils.hasText(jwt)&#xff08;Spring框架&#xff09; import org.springframework.util.StringUtils;if (!StringUtils.hasText(jwt))…

灵动画布:快手可灵 AI 推出的多人协作 AI 创意工作台

灵动画布&#xff1a;快手可灵 AI 推出的多人协作 AI 创意工作台 来源&#xff1a;Poixe AI 一、什么是灵动画布 灵动画布是快手旗下可灵 AI 于 2025 世界人工智能大会期间发布的全新创意工作台功能。该功能集无限可视化画布空间、多人实时协作及 AI 智能辅助于一体&#xf…

【Linux篇】进程间通信:进程IPC

目录 共享内存空间 共享内存是在用户空间还是内核空间&#xff1f;——用户空间 共享内存的生命周期 如何使用共享内存 共享内存的权限 共享内存是进程间通信中&#xff0c;速度最快的方式&#xff1a; 共享内存的缺点&#xff1a; 进程间通信标准&#xff1a; system …

Kubernetes 存储入门

目录 Volume 的概念 Volume 的类型 通过 emptyDir 共享数据 编写 emptyDir 的 Deployment 文件 部署该 Deployment 查看部署结果 登录 Pod 中的第一个容器 登录 Pod 中的第二个容器查看 /mnt 下的文件 删除此 Pod 使用 HostPath 挂载宿主机文件 编写 Deployment 文件…

深入理解Redission释放锁过程

lock.unlock();调用unlock方法&#xff0c;往下追Override public void unlock() {try {// 1. 执行异步解锁操作并同步等待结果// - 获取当前线程ID作为锁持有者标识// - unlockAsync()触发Lua脚本执行实际解锁// - get()方法阻塞直到异步操作完成get(unlockAsync(Thread.curre…

四、计算机组成原理——第4章:指令系统

目录 4.1指令系统 4.1.1指令集体系结构 4.1.2指令的基本格式 1.零地址指令 2.一地址指令 3.二地址指令 4.三地址指令 5.四地址指令 4.1.3定长操作码指令格式 4.1.4扩展操作码指令格式 4.1.5指令的操作类型 1.数据传送 2.算术和逻辑运算 3.移位操作 4.转移操作 …

RAG面试内容整理-检索器与生成器的解耦架构

在RAG系统中,检索器(Retriever)与生成器(Generator)的解耦架构是实现灵活高效的关键设计。所谓解耦,即将检索相关文档和生成答案两个步骤分开,由不同的模块或模型负责。这种架构带来的直接好处是模块独立优化:我们可以针对检索任务微调或更换检索模型,而不必影响生成模…

【2026毕业论文鸿蒙系统毕设选题】最新颖的基于HarmonyOS鸿蒙毕业设计选题汇总易过的精品毕设项目分享(建议收藏)✅

文章目录前言最新毕设选题&#xff08;建议收藏起来&#xff09;最新颖的鸿蒙毕业设计选题汇总100套易过的精品毕设项目分享毕设作品推荐&#x1f447;&#x1f447;&#x1f447;文未可免费咨询毕设相关问题&#xff0c;点赞留言可送系统源码&#x1f447;&#x1f447;&#…

超全!Linux 面试 100 题精选解析:网络篇|16 个 Linux 网络排查与配置必考题详解

网络&#xff0c;是 Linux 系统的神经系统。 一台服务器再强大&#xff0c;没有网络连接也如孤岛。尤其在实际运维与面试场景中&#xff0c;“网络相关的问题”是高频重灾区&#xff0c;比如&#xff1a; IP 配置错乱&#xff0c;连不上公网DNS 无响应&#xff0c;域名解析失败…

在 CentOS 上安装 FFmpeg

在 CentOS 上安装 FFmpeg 可以通过以下两种推荐方法实现&#xff08;以 CentOS 7/8 为例&#xff09;&#xff1a; 方法一&#xff1a;通过 RPM Fusion 仓库安装&#xff08;推荐&#xff09; # 1. 安装 EPEL 仓库 sudo yum install epel-release# 2. 启用 RPM Fusion 仓库 # C…

数据结构——图(一、图的定义)

一、图的定义1、什么是图&#xff1f;图G(V,E) 如图&#xff0c;无向图G顶点集V{,,...,}&#xff0c;用|V|表示图G的顶点个数如&#xff1a;V{A,B,C,D} ,|V|4边集E{(u,v)|uV, vV}&#xff0c; 用|E|表示图G的边的条数如&#xff1a;E{(u,v)|(A,B),(A,D),(A,C),(C,D)}&#xf…

Python 列表推导式与生成器表达式

Python 列表推导式与生成器表达式在 Python 中&#xff0c;列表推导式&#xff08;List Comprehension&#xff09;和生成器表达式&#xff08;Generator Expression&#xff09;是处理序列数据的高效工具。它们不仅能简化代码&#xff0c;还能提升数据处理的效率。本文将详细介…

XCF32PVOG48C Xilinx Platform Flash PROM

XCF32PVOG48C 是 Xilinx 公司推出的一款高容量、低功耗的 Platform Flash PROM&#xff08;平台闪存配置芯片&#xff09;&#xff0c;专为 Xilinx FPGA 和 CPLD 系列产品提供非易失性配置存储支持。凭借其 32 Mbit 的大容量与出色的系统兼容性&#xff0c;该芯片成为中高端 FP…

重复文件清理工具,附免费链接

链接:https://pan.baidu.com/s/1s_Zx1eHp5Y-XnbbGldIgvw?pwdkjex 提取码:kjex 复制这段内容后打开百度网盘手机App&#xff0c;操作更方便哦

【Spring Boot 快速入门】二、请求与响应

目录请求响应请求Postman 工具简单参数请求实体参数请求数组集合参数日期参数JSON 参数路径参数响应请求响应 请求 Postman 工具 Postman 是一款功能强大的网页调试与发送网页 HTTP 请求的 Chrome 插件 作用&#xff1a;常用于进行接口测试 简单参数请求 原始方式 在原始的…