经过了解学习,最终发现是zookeeper3.5.5版本中包含一个AdminServer默认的端口是8080,所以导致占用。
解决办法:修改zookeeper默认配置或修改dubbo-admin-server的配置。
可修改在zookeeper安装目录下的conf目录中的zoo.cfg文件,添加以下内容:

admin.serverPort=8888

也可在dubbo-admin-server的application.properties文件中添加server.port=2333
两者选其一即可。推荐修改zookeeper的配置文件,因为如果修改dubbo-admin-server的配置文件,还要修改dubbo-admin-ui项目的接口地址。
附:
下载版本问题(>= 3.5.5)
问题原因:下载了错误的版本文件,Zookeeper 从3.5.5后开始拆分为两个版本,而且他们的结构还很类似。
标准版本(Apache ZooKeeper x.y.z ),下载的文件名为:apache-zookeeper-x.y.z-bin.tar.gz
另一个是源码版本(Apache ZooKeeper x.y.z Source Release),下载的文件名为:apache-zookeeper-x.y.z.tar.gz
下载标准版本(带 bin 的)。
端口冲突问题 (>=3.5.0)
在3.5.5版本及以上,Zookeeper 提供了一个内嵌的Jetty容器来运行 AdminServer,默认占用的是 8080端口,AdminServer 主要是来查看 Zookeeper 的一些状态,如果机器上有其他程序(比如:Tomcat)占用了 8080 端口,也会导致 Starting zookeeper … FAILED TO START 的问题。
可以通过以下几种方式去解决:
如果不需要 AdminServer ,可以直接禁用:打开 zoo.cfg 配置文件,直接添加以下语句即可。

# 禁用 AdminServer 服务
admin.enableServer=false

如果想使用 AdminServer , 那么可以直接在 zoo.cfg 配置文件中修改端口号即可。

# admin port
admin.serverPort=8888
最后修改:2021 年 12 月 13 日
给我一点小钱钱也很高兴啦!o(* ̄▽ ̄*)ブ