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

无法启动ZooKeeper服务:2181端口占用且无法杀死进程求助

解决ZooKeeper启动报错Address already in use(端口2181被占用)

看起来你踩了个常见的小坑——你用kill -9 2181是错的,2181是端口号,不是进程ID(PID),所以系统找不到对应的进程。别慌,按下面的步骤来解决:

1. 准确找到占用2181端口的进程PID

你之前的netstat -nlp|grep 2181输出没显示完整的进程信息,可能是参数不够或者权限问题。试试用这个命令(需要的话加sudo):

sudo netstat -tulpn | grep 2181

或者用更现代的ss命令(同样可能需要sudo):

sudo ss -tulpn | grep 2181

正常输出会类似这样:

tcp6       0      0 :::2181                 :::*                    LISTEN      1234/java

这里的1234就是占用端口的进程PID,记下来。

2. 杀死占用端口的进程

用刚才找到的PID执行kill命令,比如:

kill -9 1234

注意把1234换成你实际查到的PID,不是2181!

3. 验证端口是否释放

再执行一次查找命令:

sudo netstat -tulpn | grep 2181

如果没有任何输出,说明端口已经被释放了。

4. 重新启动ZooKeeper

现在再运行你的启动命令应该就没问题了:

/opt/Kafka/kafka_2.10-0.10.0.1/bin/zookeeper-server-start.sh /opt/Kafka/kafka_2.10-0.10.0.1/config/zookeeper.properties

补充说明:为什么重启电脑后问题还存在?

大概率是占用2181端口的进程被设置了开机自启,可能是你之前安装的ZooKeeper服务,或者其他依赖ZooKeeper的应用(比如某些大数据组件)。找到进程后可以看看进程名称,判断是什么程序在占用,必要的话可以禁用它的开机自启,避免下次再出现这个问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:12:25