`

sonar部署java.net.BindException: Address already in use问题

阅读更多
1、下载sonar安装包解压
2、安装mysql数据库,并创建sonar的数据库以及用户
3、修改sonar的配置文件
4、启动sonar
这几步反复过多次,没有问题
在web上输入http://192.168.1.183:9000/ 这里的IP是部署服务器的IP
提示We're sorry, but something went wrong.
Please try back in a few minutes and contact support if the problem persists.

问题排查:
1、防火墙已经关闭;
2、9000端口也启动了;
3、查看日志,提示

2012-04-25 15:53:02.362:WARN::failed SelectChannelConnector@192.168.1.183:9000: java.net.BindException: Address already in use
INFO | jvm 1 | 2012/04/25 15:53:02 | 2012-04-25 15:53:02.362:WARN::failed Server@13e0937b: java.net.BindException: Address already in use
INFO | jvm 1 | 2012/04/25 15:53:02 | 
INFO | jvm 1 | 2012/04/25 15:53:02 | WrapperSimpleApp: Encountered an error running main: java.net.BindException: Address already in use
INFO | jvm 1 | 2012/04/25 15:53:02 | java.net.BindException: Address already in use
INFO | jvm 1 | 2012/04/25 15:53:02 | at sun.nio.ch.Net.bind(Native Method)
INFO | jvm 1 | 2012/04/25 15:53:02 | at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:126)
INFO | jvm 1 | 2012/04/25 15:53:02 | at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59)
INFO | jvm 1 | 2012/04/25 15:53:02 | at org.mortbay.jetty.nio.SelectChannelConnector.open(SelectChannelConnector.java:216)
INFO | jvm 1 | 2012/04/25 15:53:02 | at org.mortbay.jetty.nio.SelectChannelConnector.doStart(SelectChannelConnector.java:315)
INFO | jvm 1 | 2012/04/25 15:53:02 | at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
INFO | jvm 1 | 2012/04/25 15:53:02 | at org.mortbay.jetty.Server.doStart(Server.java:235)
INFO | jvm 1 | 2012/04/25 15:53:02 | at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
INFO | jvm 1 | 2012/04/25 15:53:02 | at org.sonar.application.JettyEmbedder.start(JettyEmbedder.java:79)
INFO | jvm 1 | 2012/04/25 15:53:02 | at org.sonar.application.StartServer.main(StartServer.java:50)
INFO | jvm 1 | 2012/04/25 15:53:02 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
INFO | jvm 1 | 2012/04/25 15:53:02 | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
INFO | jvm 1 | 2012/04/25 15:53:02 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
INFO | jvm 1 | 2012/04/25 15:53:02 | at java.lang.reflect.Method.invoke(Method.java:597)
INFO | jvm 1 | 2012/04/25 15:53:02 | at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:240)
INFO | jvm 1 | 2012/04/25 15:53:02 | at java.lang.Thread.run(Thread.java:662)
INFO | jvm 1 | 2012/04/25 15:53:04 | 2012-04-25 15:53:04.116:INFO::Shutdown hook executing
INFO | jvm 1 | 2012/04/25 15:53:04 | 2012-04-25 15:53:04.116:INFO::Graceful shutdown SelectChannelConnector@192.168.1.183:9000

然后我接着查端口是否被其它服务占用,发现并没有被其它服务占用。


那么原因是什么呢?
1、我换数据库验证,发现还是一样的错误,排除是数据库的原因;
2、我换端口,把9000改成9001,因为这个提示是说端口被占用,而实际没占用,那就换个试试,结果一试成功了,这是一个重大的突破,太高兴了!!!于是又让我怀疑难道端口真的被占用了么?但是没有啊,那就先查查此端口被谁用了,然后杀死它。lsof -i:9000,找到进程号,kill -9 进程号。然后把配置文件中的9001改回9000,重启sonar,再从web访问http://192.168.1.183:9000/,发现成功啦!真的太高兴了!这可折磨我一整天啊!
0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics