2014-04-10 40 views
0

當我能夠安裝Tomcat和Solr,我可以看到在SERVERIP Solr的儀表盤:8080/Solr的錯誤Solr的連接到MySQL

接下來,我試圖通過Solr的訪問MySQL的,這樣我就可以開始索引一些數據。我添加以下行到我的solrconfig.xml中的文件剛下<config>標籤:

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> <lst name="defaults"> <str name="config">data-config.xml</str> </lst> </requestHandler>

我的數據-config.xml文件看起來是這樣的:

<dataConfig> <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://本地主機/my_database" user="my_username" password="my_password" /> <document> <entity name="user" query="select id, first_name, last_name from user;"> <field column="id" name="id"/> <field column="first_name" name="first_name"/> <field column="last_name" name="last_name"/> </entity> </document> </dataConfig>

然而,當我重新啓動Tomcat時,我收到一條很長的錯誤消息。以下是前幾行:

HTTP Status 500 - {msg=SolrCore 'collection1' is not available due to init failure: RequestHandler init failure,trace=org.apache.solr.common.SolrException: SolrCore 'collection1' is not available due to init failure: RequestHandler init failure at org.apache.solr.core.CoreContainer.getCore(CoreContainer.java:827) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:317) at ...

有誰知道在哪裏我甚至開始調試這個錯誤?

其他一些線程表明這可能是文件權限錯誤,但我已經仔細檢查solr目錄是否可寫入。

回答

0

這花了一段時間,但我能夠解決錯誤信息。

首先,我必須編輯tomcat/solr/collection1/conf目錄中的現有schema.xml文件。其次,我必須在tomcat/solr目錄下創建一個lib目錄,然後將原始dist目錄(/ opt/solr/dist)中的所有文件複製到tomcat/solr/lib目錄。要複製的重要文件是solr-dataimporthandler-4.7.1.jar,solr-dataimporthandler-extras-4.7.1.jar,我還需要下載mysql-connector-java-5.1.30-bin.jar

希望這可以幫助那裏的人! PS:我仍然無法連接到MySQL,但solr運行時沒有任何致命錯誤消息,並嘗試索引某些內容。我可能只需要稍微調整一下配置文件。

0

您必須將mysql jar添加到您的solr home文件夾中的lib目錄。一旦你這樣做,它會工作。

+0

感謝您的回覆。我其實已經這樣做了,所以這不是我的場景的解決方案,但這可能有助於其他人。 –

+0

您必須使用您的使用屬性編輯架構文件,例如名字和姓氏 – javacreed

+0

我嘗試在聯機教程中向schema.xml添加字段。不幸的是,在重新啓動Tomcat之後,我仍然在solr中遇到同樣的錯誤。穿過它。 –