最近上手新的项目,使用到了springboot分布式架构.单纯构架springboot项目,项目正常启动访问8080端口;
后来在项目中集成了redis和dubbo,再次启动项目,提示8080端口被占用:
Description: The Tomcat connector configured to listen on port 8080 failed to start. The port may already be in use or the connector may be misconfigured. Action: Verify the connector’s configuration, identify and stop any process that’s listening on port 8080, or configure this application to listen on another port.
正式开始了排查之路:
cmd命令进入doc窗口:
1.输入 netstat -nao 查看目前使用中的端口信息
再次输入命令: tasklist|findstr "13932"
发现java.exe占用着8080端口.结束进程,然后再次启动springboot项目
项目再次启动失败,提示8080端口被占用,好吧,再次排查
关掉本地redis 和zookeeper,正常启动项目,项目提示redis未连接,打开redis,项目提示dubbo服务端未找到,ok,打开zookeeper,老问题再次出现,8080端口被占用,程序启动失败;
cmd进入doc查看,又是java.exe.好吧,这锅又扔给了java.exe
第二次启动的时候发现,不开启zookeeper,项目会提示服务找不到.一开启则直接8080端口被占用.会不会是zookeeper惹的祸导致让java.exe来背这个锅?
这次咱们反着来,在任务管理器找到java.exe然后结束进程,现在8080端口是没有被占用的了.关闭程序,只启动zookeeper,然后doc命令去查看端口使用情况
罪魁祸首被咱们抓现形了,8080端口被占用了......
好吧,总算找到真凶了,zookeeper终于肯站出来背锅了
zookeeper最近的版本中有个内嵌的管理控制台是通过jetty启动,也会占用8080 端口。
ok,现在就是解决问题的时候了,网上给了很多修改配置文件更换端口的方法,而我选择了最直接的办法,降版本.
去官网下载3.4的版本然后再次启动项目.嗯...整个世界都变乖了