2016-02-11 105 views
0

在运行apt-get更新后& &在Ubuntu 12.04盒子上进行apt-get升级并重新启动后,之前在tomcat6下运行没有问题的Solr服务无法启动,以下错误:Solr在Ubuntu 12.04上的java更新后无法启动12.04

530 [main] ERROR org.apache.solr.servlet.SolrDispatchFilter – Could not start Solr. Check solr/home property and the logs 
564 [main] ERROR org.apache.solr.core.SolrCore – null:java.lang.NoClassDefFoundError: sun/security/util/CryptoPrimitive 
    at sun.security.ssl.ProtocolVersion.<clinit>(ProtocolVersion.java:113) 
    at sun.security.ssl.SSLContextImpl$ConservativeSSLContext.<clinit>(SSLContextImpl.java:464) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:190) 
    at java.security.Provider$Service.getImplClass(Provider.java:1277) 
    at java.security.Provider$Service.newInstance(Provider.java:1237) 
    at sun.security.jca.GetInstance.getInstance(GetInstance.java:236) 
    at sun.security.jca.GetInstance.getInstance(GetInstance.java:164) 
    at javax.net.ssl.SSLContext.getInstance(SSLContext.java:142) 
    at javax.net.ssl.SSLContext.getDefault(SSLContext.java:85) 
    at javax.net.ssl.SSLSocketFactory.getDefault(SSLSocketFactory.java:119) 
    at org.apache.http.conn.ssl.SSLSocketFactory.getSystemSocketFactory(SSLSocketFactory.java:193) 
    at org.apache.http.impl.conn.SchemeRegistryFactory.createSystemDefault(SchemeRegistryFactory.java:82) 
    at org.apache.http.impl.client.SystemDefaultHttpClient.createClientConnectionManager(SystemDefaultHttpClient.java:118) 
    at org.apache.http.impl.client.AbstractHttpClient.getConnectionManager(AbstractHttpClient.java:466) 
    at org.apache.solr.client.solrj.impl.HttpClientUtil.setMaxConnections(HttpClientUtil.java:197) 
    at org.apache.solr.client.solrj.impl.HttpClientConfigurer.configure(HttpClientConfigurer.java:33) 
    at org.apache.solr.client.solrj.impl.HttpClientUtil.configureClient(HttpClientUtil.java:133) 
    at org.apache.solr.client.solrj.impl.HttpClientUtil.createClient(HttpClientUtil.java:109) 
    at org.apache.solr.handler.component.HttpShardHandlerFactory.init(HttpShardHandlerFactory.java:152) 
    at org.apache.solr.handler.component.ShardHandlerFactory.newInstance(ShardHandlerFactory.java:50) 
    at org.apache.solr.core.CoreContainer.load(CoreContainer.java:194) 
    at org.apache.solr.servlet.SolrDispatchFilter.createCoreContainer(SolrDispatchFilter.java:183) 
    at org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:133) 
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295) 
    at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422) 
    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115) 
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4072) 
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4726) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601) 
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:675) 
    at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:601) 
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:502) 
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317) 
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142) 
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065) 
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:840) 
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057) 
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463) 
    at org.apache.catalina.core.StandardService.start(StandardService.java:525) 
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:754) 
    at org.apache.catalina.startup.Catalina.start(Catalina.java:595) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:622) 
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) 
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) 

我试图切换到Tomcat7/OpenJDK7,但收到完全相同的错误。 Tomcat本身运行正常,但solr不启动,并在尝试访问/ solr路径时返回503。

所以这是Solr的一个实例,它在apt-get升级之前完美工作,现在不是......我不知道除了试用Oracle JDK之外,还有什么要做,在Ubuntu上我从来没有这样做过,我不确定为什么在这种情况下应该这样做。

Java的版本报告:

java version "1.6.0_27" 
OpenJDK Runtime Environment (IcedTea6 1.12.6) (6b27-1.12.6-1ubuntu0.12.04.4) 
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode) 

感谢你的任何想法!

+0

这就是你在日志上得到的所有东西? 如果你还有它,你能打印apt-get更新/升级的结果吗? –

+0

我添加了更多的错误结果,并添加了我当前的Java信息...不幸的是,我没有apt-get的结果,对不起! – stockli

+1

在我更新/升级类路径中的某些内容后,我的看法被破坏了。 通常java.lang.NoClassDefFoundError意味着JVM无法在运行时找到或加载在编译期间可用的特定类 您可以验证是否存在所有安装目录(Solr,data,java) –

回答

1

想通了......原来,我只是需要完全删除并重新安装tomcat6中,和所有相关的软件包,通过:

apt-get remove tomcat6 
apt-get autoremove 

我也已经安装OpenJDK7原因在于试图解决这个问题,所以我也跑:

apt-get remove openjdk-6-jre-headless openjdk-6-jre-lib openjdk-7-jre-headless 

之后,我只是做了:

apt-get install tomcat6 

它禾像预期的那样前进。所有先前的solr设置都已经存在,所以一切立即恢复,不需要索引。正如马文上面所说,CryptoPrimitive应该只有1.7,所以我不知道为什么升级后有这个问题,因为我们一直在运行1.6。

无论如何,希望这有助于未来的其他人,感谢评论,所有!