2016-04-07 3 views
0

別のマシンでDSpace 5.5へのアップグレードを準備するために、ローカルVMにDSpace 5.4を設定しようとしています。DSpace:Solr webappが "UnknownHostException"を示します

設定手順はうまくいきますが、私はsolr webappを動作させることができません。発見関連の機能を使用するときに

java.net.UnknownHostException: linux-ai1n: unknown error 
    java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) 
    java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928) 
    java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323) 
    java.net.InetAddress.getLocalHost(InetAddress.java:1500) 
    org.dspace.solr.filters.LocalHostRestrictionFilter.doFilter(LocalHostRestrictionFilter.java:38) 

:私はそれが(openSUSEの葉の42.1にTomocat 8.0.33とOpenJDKの1.8.0_60を使用して)、およびVMから、ホストから呼び出された場合、それは次のようなエラーが返されます展開しました私はSolrのURLを変更することをお勧めい

Expected mime type application/octet-stream but got text/html. 

回答をので、私はhttp://localhost:8080/solr/searchからhttp://127.0.0.1:8008/solr/searchへのconfig /モジュール/ Discovery.cfg環境でのSolrのURLを変更しようとしたが、それは解決しませんでした:このエラーが返されます問題。

次に何を確認するかは非常に役立ちます。これは、仮想マシンで使用可能なメモリが不足しているため問題になる可能性がありますか?

答えて

1

これは/ etc/hostsに問題がある可能性があります。 /etc/hostsにホスト名の定義が含まれていないと失敗します。 linux-ai1nをhostsファイルに追加してみてください。

127.0.0.1 localhost linux-ai1n 
0
  • 最初に行うことは、SOLRが実際に展開されているかどうかを確認することです。あなたはsolrの展開のためにTomcatにコンテキストファイルを持っていますか? [tomcat-folder]/conf/Catalina/localhostで確認してください。 xmlui/jspデプロイ用の.xmlファイルとsolrデプロイ用の.xmlファイルが必要です。

  • solrが正しくデプロイされている場合は、ブラウザから直接アクセスできることを確認してください。 localhost:port/solr /。

+0

あなたの答えをありがとうが、それは私がすでにチェックしたものです。 「私はそれを展開しました(OpenSuse Leaf 42にTomocat 8.0.33とOpenJDK 1.8.0_60を使用しました。1)、VMとホストから呼び出されたときに次のエラーが返されます:java.net.UnknownHostException:linux-ai1n:不明なエラー... "Solrがデプロイされていますが、動作しません。見る。 – 3840

0

そのデフォルト設定でのDSpaceと一緒にインストールされたSolr Webアプリケーションには、セキュリティのためにローカルホストから発信ない要求を拒否するために、フィルタorg.dspace.solr.filters.LocalHostRestrictionFilterを使用しています。ウェブに以下を追加し、また

<!-- Any path (name) registered in solrconfig.xml will be sent to that filter --> 
<filter> 
    <filter-name>LocalHostRestrictionFilter</filter-name> 
    <filter-class>org.dspace.solr.filters.LocalHostRestrictionFilter</filter-class> 
</filter> 

<filter-mapping> 
    <filter-name>LocalHostRestrictionFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 

:フィルタは、あなたはweb.xmlファイルから次の行を削除することによって完全にこのフィルタを削除するか[dspace]/webapps/solr/WEB-INF/web.xml

に配置されることになるSolrのweb.xmlで定義されています.xmlを使用して、localhost以外のすべての要求を許可するようにフィルタを構成します。

<!-- Limit access to solr webapp. 
    'true': allow requests from localhost only. 
    'false': allow requests from all remotes. --> 
<context-param> 
    <param-name>LocalHostRestrictionFilter.localhost</param-name> 
    <param-value>false</param-value> 
</context-param> 

これらの2つのいずれかを行う場合は、他の手段でSolrへのアクセスを制限することを強く推奨します。個人的に、私は${catalina.base}/conf/Catalina/localhost/solr.xmlでSolrのコンテキストファイルに以下を追加しました:

アクセスがローカルホストとローカルサブネットから入ってくることが可能になる
<Valve 
    className="org.apache.catalina.valves.RemoteAddrValve" 
    allow="127\.0\.0\.1|::1|0:0:0:0:0:0:0:1|192\.168\.1\.\d+" 
/> 

。詳細については、アクセス制御のセクションを参照してください。https://tomcat.apache.org/tomcat-7.0-doc/config/valve.html

関連する問題