jdk8新版本引起的solr起不来
突然solr启不来了,报错如下:
255 ERROR (localhost-startStop-1) [ ] o.a.s.c.SolrCore null:java.lang.ExceptionInInitializerError at javax.crypto.Cipher.getInstance(Cipher.java:518) at sun.security.ssl.JsseJce.getCipher(JsseJce.java:189) at sun.security.ssl.SSLCipher.isTransformationAvailable(SSLCipher.java:483) at sun.security.ssl.SSLCipher.<init>(SSLCipher.java:472) at sun.security.ssl.SSLCipher.<clinit>(SSLCipher.java:81) at sun.security.ssl.CipherSuite.<clinit>(CipherSuite.java:69) at sun.security.ssl.SSLContextImpl.getApplicableSupportedCipherSuites(SSLContextImpl.java:345) at sun.security.ssl.SSLContextImpl.access$100(SSLContextImpl.java:46) at sun.security.ssl.SSLContextImpl$AbstractTLSContext.<clinit>(SSLContextImpl.java:577) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at java.security.Provider$Service.getImplClass(Provider.java:1728) at java.security.Provider$Service.newInstance(Provider.java:1686) 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:156) at javax.net.ssl.SSLContext.getDefault(SSLContext.java:96) at javax.net.ssl.SSLSocketFactory.getDefault(SSLSocketFactory.java:122) at org.apache.http.conn.ssl.SSLSocketFactory.getSystemSocketFactory(SSLSocketFactory.java:190) at org.apache.http.impl.conn.SchemeRegistryFactory.createSystemDefault(SchemeRegistryFactory.java:85) at org.apache.http.impl.client.SystemDefaultHttpClient.createClientConnectionManager(SystemDefaultHttpClient.java:121) at org.apache.http.impl.client.AbstractHttpClient.getConnectionManager(AbstractHttpClient.java:484) at org.apache.solr.client.solrj.impl.HttpClientUtil.setMaxConnections(HttpClientUtil.java:234) at org.apache.solr.client.solrj.impl.HttpClientConfigurer.configure(HttpClientConfigurer.java:40) at org.apache.solr.client.solrj.impl.HttpClientUtil.configureClient(HttpClientUtil.java:149) at org.apache.solr.client.solrj.impl.HttpClientUtil.createClient(HttpClientUtil.java:125) at org.apache.solr.handler.component.HttpShardHandlerFactory.init(HttpShardHandlerFactory.java:166) at org.apache.solr.handler.component.ShardHandlerFactory.newInstance(ShardHandlerFactory.java:49) at org.apache.solr.core.CoreContainer.load(CoreContainer.java:382) at org.apache.solr.servlet.SolrDispatchFilter.createCoreContainer(SolrDispatchFilter.java:132) at org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:109) at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:279) at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:260) at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105) at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4700) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5340) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717) at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1092) at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1834) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:750) Caused by: java.lang.SecurityException: Can not initialize cryptographic mechanism at javax.crypto.JceSecurity.<clinit>(JceSecurity.java:93) ... 47 more Caused by: java.lang.SecurityException: The jurisdiction policy files are not signed by the expected signer! (Policy files are specific per major JDK release.Ensure the correct version is installed.) at javax.crypto.JarVerifier.verifyPolicySigned(JarVerifier.java:336) at javax.crypto.JceSecurity.loadPolicies(JceSecurity.java:378) at javax.crypto.JceSecurity.setupJurisdictionPolicies(JceSecurity.java:327) at javax.crypto.JceSecurity.access$000(JceSecurity.java:50) at javax.crypto.JceSecurity$1.run(JceSecurity.java:85) at java.security.AccessController.doPrivileged(Native Method) at javax.crypto.JceSecurity.<clinit>(JceSecurity.java:82) ... 47 more
看来是jdk的问题,
查jdk版本是这样的:
1.8.0_333-b02 /usr/java/jdk1.8.0_333-amd64/jre操作系统版本:
CentOS Linux release 7.7.1908 (Core)
那么解决方案是换jdk,(以前的都没出过这问题呀),使用的安装包是:
jdk-8u261-linux-x64.rpm安装前先卸载:
rpm -qa|grep jdk rpm -e --nodeps jdk1.8-1.8.0_333-fcs.x86_64再安装:
rpm -ivh jdk-8u261-linux-x64.rpm再修改/etc/profile环境变量,打完收工,看效果,可以了。
相关阅读
评论:
↓ 广告开始-头部带绿为生活 ↓
↑ 广告结束-尾部支持多点击 ↑