window部署虚拟机VirtualBox来部署flink

按理来说Cygwin可以在window模拟unix环境来部署运行flink,

但是在flink 不知从哪个版本开始,flink启动时会在window时创建临时文件夹,传递的文件夹名称参数中有冒号,导致文件夹创建失败,然后taskexecutor会启动失败,也就是说只启动了standalonesession组件,可以在web 127.0.0.1:8081界面访问flink,但是提交任务统统失败。

如果不想通过虚拟机部署flink,可以通过下载flink源码包,然后本地修改代码编译打包部署。

正文:

一、安装VirtualBox,安装Centos

查一查安装教程,此处不说了

二、设置网络

一般需要部署flink,是为了验证jar包任务,所以需要虚拟机和宿主机进行网络通信,为了方便还要虚拟机可以之间联通互联网。

1、网卡设置

虚拟机关机状态下,设置网络,两个网卡

一个桥接,一个host-only

java 复制代码
添加双网卡​​:
​​网卡1​​:选择 ​​NAT​​(默认模式,用于访问外网)。
​​网卡2​​:选择 ​​Host-Only Adapter​​(用于与宿主机通信)。
若没有 Host-Only 网络,需先在 VirtualBox 全局设置中创建:
管理 → 主机网络管理器 → 创建 → 默认使用 192.168.56.0/24 网段

2、启动虚拟机并登录

使用 root 或具有 sudo 权限的账户登录,查看网络

复制代码
nmcli device status

3、配置 Host-Only 网卡(静态 IP)

bash 复制代码
sudo nmcli connection add type ethernet con-name host-only ifname enp0s8 ipv4.method manual ipv4.addresses 192.168.56.100/24
sudo nmcli connection up host-only

​​IP 地址​​:192.168.56.100(需在 Host-Only 网段内,如宿主机 Host-Only 网卡 IP 是 192.168.56.1)。

​​子网掩码​​:/24(即 255.255.255.0)

4、验证网络配置

bash 复制代码
ip addr show enp0s8

输出应包含 192.168.56.100/24。

三、宿主机与虚拟机互通测试

1. 宿主机 ping 虚拟机

在宿主机执行:

bash 复制代码
ping 192.168.56.100

2. 虚拟机 ping 宿主机

bash 复制代码
ping 192.168.56.1  # Host-Only 网卡的宿主机 IP

若成功,表示虚拟机到宿主机通信正常。

3.防火墙

若宿主机或虚拟机防火墙阻止 ICMP,需放行

虚拟机配置

bash 复制代码
sudo firewall-cmd --permanent --add-icmp-block-inversion
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload

宿主机设置

Windows​​:

打开 控制面板 → Windows Defender 防火墙 → 高级设置 → 入站规则 → 启用 文件和打印机共享(回显请求 - ICMPv4-In)

后续如果出现,虚拟机可以Ping通宿主机,但是宿主机ping虚拟机时,无法访问,消息接收但是无返回,虚拟机可以通过抓包到宿主机的发送消息。

设置虚拟机防火墙

bash 复制代码
sudo firewall-cmd --permanent --add-rich-rule='rule protocol value=icmp accept'
sudo firewall-cmd --reload

下载 flink-1.15.0-bin-scala_2.12.tgz 包,可以从官网下载,不过下载的速度太慢了。

可以使用我的分享

链接:https://pan.baidu.com/s/1cja-lHRRrxubQO7X9SKlwg?pwd=kyzi

提取码:kyzi

上传包在/opt/下解压

bash 复制代码
tar -zxf flink-1.15.0-bin-scala_2.12.tgz
cd flink-1.15.0/bin
./start-cluster.sh

显示

bash 复制代码
Starting cluster.
Starting standalonesession daemon on host localhost.
Starting taskexecutor daemon on host localhost.

表示启动成功

不过还需要确认一下,可以通过JPS查看是否有两个组件

或者查看一下日志文件

bash 复制代码
cd /opt/flink-1.15.0/log/
tail *log

出现如下截图表示启动成功了

如果安装的带桌面的Centos,也可以访问

html 复制代码
http://127.0.0.1:8081
相关推荐
Apache Flink3 小时前
Apache Flink Agents 0.2.0 发布公告
大数据·flink·apache
永霖光电_UVLED3 小时前
打造更优异的 UVB 激光器
大数据·制造·量子计算
m0_466525293 小时前
绿盟科技风云卫AI安全能力平台成果重磅发布
大数据·数据库·人工智能·安全
晟诺数字人4 小时前
2026年海外直播变革:数字人如何改变游戏规则
大数据·人工智能·产品运营
vx_biyesheji00014 小时前
豆瓣电影推荐系统 | Python Django 协同过滤 Echarts可视化 深度学习 大数据 毕业设计源码
大数据·爬虫·python·深度学习·django·毕业设计·echarts
2501_943695334 小时前
高职大数据与会计专业,考CDA证后能转纯数据分析岗吗?
大数据·数据挖掘·数据分析
实时数据4 小时前
通过大数据的深度分析与精准营销策略,企业能够有效实现精准引流
大数据
子榆.5 小时前
CANN 性能分析与调优实战:使用 msprof 定位瓶颈,榨干硬件每一分算力
大数据·网络·人工智能
新芒5 小时前
暖通行业两位数下滑,未来靠什么赢?
大数据·人工智能
忆~遂愿5 小时前
CANN ATVOSS 算子库深度解析:基于 Ascend C 模板的 Vector 算子子程序化建模与融合优化机制
大数据·人工智能