0

WindowsボックスのCSVからLinuxのSolrサーバーにSolrインデックスをアップロードしようとしています。cygwinを使用すると、私のcurlコマンドは次のようになります。

curl --max-time 3600 http://10.xxx.xxx.xxx/solr/update/csv -F commit=true -F stream.url=file://10.xxx.xxx.xxx/Users/testdata/sample.csv -F stream.contentType=text/plain -F fieldnames=partId,desc,category

問題のcsvファイルのサイズは約4Kですが、それでも接続タイムアウトエラーが発生します。これらのコンピューターは同じネットワーク上にあり、ファイアウォールやプロキシはありません。solrサーバーはTomcat7で実行されており、connectionTimeOut = 3600000を増やしましたが、それでも役に立ちません。何か案は?ありがとう。

さらに、これはエラーです:

>HTTP Status 500 - Connection timed out

java.net.ConnectException: Connection timed out
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
    at java.net.Socket.connect(Socket.java:529)
    at java.net.Socket.connect(Socket.java:478)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:163)
    at sun.net.NetworkClient.openServer(NetworkClient.java:118)
    at sun.net.ftp.FtpClient.openServer(FtpClient.java:488)
    at sun.net.ftp.FtpClient.openServer(FtpClient.java:475)
    at sun.net.www.protocol.ftp.FtpURLConnection.connect(FtpURLConnection.java:270)
    at sun.net.www.protocol.ftp.FtpURLConnection.getInputStream(FtpURLConnection.java:352)
    at org.apache.solr.common.util.ContentStreamBase$URLStream.getStream(ContentStreamBase.java:88)
    at org.apache.solr.common.util.ContentStreamBase.getReader(ContentStreamBase.java:165)
    at org.apache.solr.handler.CSVLoader.load(CSVRequestHandler.java:355)
    at org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:58)
    at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129)
    at org.apache.solr.core.RequestHandlers$LazyRequestHandlerWrapper.handleRequest(RequestHandlers.java:241)
    at org.apache.solr.core.SolrCore.execute(SolrCore.java:1372)
    at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:356)
    at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)

もう一度あなたの助けに感謝します。

4

1 に答える 1

1

これを試して、データを更新できるかどうかを確認してください。

curl 'http://10.xxx.xxx.xxx/solr/update/csv?fieldnames=partId,desc,category' -H 'Content-type:text/plain; charset=utf-8' --data-binary [file_name]

これは、使用していたものよりも少し単純なコマンドであり、何が問題になっているのかを特定するのに役立つ場合があります。また、Tomcatログ(/ var / log / tomcat7)をチェックして、意味のあるエラーがあるかどうかを確認することもできます。

于 2012-04-10T18:35:47.943 に答える