You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Redis Sentinel端口绑定失败求助(WSL2 Ubuntu环境)

Redis Sentinel启动端口占用报错排查方案

报错信息

616:X 04 Dec 2023 21:59:04.445 # Warning: Could not create server TCP listening socket *:26380: bind: Address already in use
616:X 04 Dec 2023 21:59:04.445 # Failed listening on port 26380 (tcp), aborting.

环境与问题背景

  • Windows 10系统,通过WSL2创建3个Ubuntu实例
  • Redis主从架构运行正常,但启动Slave节点的Sentinel时触发上述端口占用报错
  • 已尝试操作:修改Windows防火墙设置(关闭防火墙、添加26380入站规则)、将sentinel.conf端口从26379改为26380、重启Redis服务,均未解决问题

当前sentinel.conf关键配置

sentinel monitor ecomm 172.26.75.225 6379 2
port 26380

排查与解决步骤

1. 检查WSL2实例内部端口占用

在报错的Ubuntu实例中执行以下命令,确认是否有进程占用26380端口:

# 方式一
netstat -tulpn | grep 26380
# 方式二(更高效)
ss -tulpn | grep 26380

若输出显示存在占用进程,执行kill -9 <PID>强制终止对应进程,再重新启动Sentinel。

2. 检查Windows主机侧端口占用

WSL2与Windows共享网络栈,可能Windows本地进程占用了26380端口:

  1. 打开Windows命令提示符(CMD),执行:
netstat -ano | findstr ":26380"
  1. 找到输出中的PID,打开任务管理器,通过PID定位并结束对应进程。

3. 调整Sentinel绑定地址

默认配置中Sentinel监听所有地址(*),可能引发网络冲突。修改sentinel.conf,指定绑定当前Slave实例的WSL内部IP:

bind 你的WSL实例内部IP(如172.26.XX.XX)
port 26380

修改后重启Sentinel服务。

4. 清理WSL2端口转发残留规则

WSL2会自动生成端口转发规则,可能存在残留导致冲突:

  1. 在Windows CMD中执行,查看所有端口转发规则:
netsh interface portproxy show all
  1. 若发现与26380相关的规则,执行以下命令删除:
netsh interface portproxy delete v4tov4 listenport=26380 listenaddress=0.0.0.0

5. 重置WSL2网络状态

若以上步骤无效,尝试重启WSL2实例:

# 关闭所有WSL实例
wsl --shutdown
# 重新启动目标Ubuntu实例
wsl -d 你的Ubuntu实例名称

重启后再尝试启动Sentinel。

内容的提问来源于stack exchange,提问作者Tejaswita

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 22:32:46