2013-04-09 25 views
5

升級到Solr的4.2.1,部署Solr的戰爭文件到GlassFish版本3.1.1導致以下錯誤後:Solr的4.2.1 SSLinitializationException

2013-04-09 10:45:06,144 [main] ERROR org.apache.solr.servlet.SolrDispatchFilter - Could not start Solr. Check solr/home property and the logs 
    2013-04-09 10:45:06,224 [main] ERROR org.apache.solr.core.SolrCore - null:org.apache.http.conn.ssl.SSLInitializationException: Failure initializing default system SSL context 
    at org.apache.http.conn.ssl.SSLSocketFactory.createSystemSSLContext(SSLSocketFactory.java:368) 
    at org.apache.http.conn.ssl.SSLSocketFactory.getSystemSocketFactory(SSLSocketFactory.java:204) 
    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:179) 
Caused by: java.io.IOException: Keystore was tampered with, or password was incorrect 
    at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:772) 
    at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:55) 
    at java.security.KeyStore.load(KeyStore.java:1214) 
    at org.apache.http.conn.ssl.SSLSocketFactory.createSystemSSLContext(SSLSocketFactory.java:281) 
    at org.apache.http.conn.ssl.SSLSocketFactory.createSystemSSLContext(SSLSocketFactory.java:366)  
    ... 50 more 
Caused by: java.security.UnrecoverableKeyException: Password verification failed 
    at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:770) 
    ... 54 more 

好像人有過這樣的問題當使用Solr版本4.2時,錯誤修復版本4.2.1應該修復它(?)。任何指針將不勝感激。

回答

9

幾天前有同樣的問題。通過降級到solr 4.1.0來解決它。但有一個解決方案(通過再次搜索我個人熟知的搜索術語發現它);只需添加兩個JVM選項。請啓動GlassFish有:

asadmin start-domain 

,然後輸入:

asadmin create-jvm-options -- -Djavax.net.ssl.keyStorePassword=changeit 
asadmin create-jvm-options -- -Djavax.net.ssl.trustStorePassword=changeit 

不要忘了重新啓動的GlassFish:

asadmin restart-domain 

試了一下對自己和工作就像一個魅力。顯然這隻在你以前從未改變過這些密碼的情況下才起作用。

+1

您不需要降級Solr版本。同樣的技巧也適用於Solr 4.2.1。 – 2013-04-16 14:45:58

+0

我降級了,因爲我想擁有最新的工作版本。 4.1.0不需要這些條目,沒有它們就可以很好地工作。 – Campfire 2013-04-22 11:30:24

+0

我發現如果Solr部署在機器#1上的GF上,並且您嘗試在機器#2上使用GF訪問它,則應該在機器#2上添加上述JVM選項。我已經在Solr 4.0.0和4.4.0安裝程序上取得了巨大的成功。 – 2013-10-17 12:26:06