公司使用solr做全文,突然有一天添加ip白名单时,使用sh /usr/local/tomcat/bin/shutdown.sh命令提示tomcat成功启动,sh /usr/local/tomcat/bin/shutdown.sh命令却不能关闭,提示8005端口没有启动,打开solr的日志vi /usr/local/tomcat/logs/catalina.2019-03-10.log,以下报错
01-Mar-2019 17:08:18.121 SEVERE [main] org.apache.coyote.AbstractProtocol.init Failed to initialize end point associated with ProtocolHandler ["http-nio-8080"]
java.net.BindException: Address already in use
提示8080端口被占用,于是找到8080端口占用进程杀掉
lsof -i:8080
kill -9 pid
重启Tomcat还是没有效果。最后发现8005端口没有启动。
解决办法:
修改文件:$JAVA_HOME/jre/lib/security/java.security中的配置
vi $JAVA_HOME/jre/lib/security/java.security
将:securerandom.source=file:/dev/random
改为: securerandom.source=file:/dev/urandom
其实是启动Tomcat的时候,要产生一个随机数,但是这个时间可能会变长,有的时候要几分钟,所以这个时候关闭Tomcat会提示8005端口未启动。当然全文也是没有启动成功的。
详细的原因看这边:https://blog.csdn.net/upshi/article/details/54907464