2011-11-25 3 views
5

こんにちは私は、動作中のWindowsサーバーからSolr設定を新しいものにコピーしました。Solr DataImportHandlerはSQLにログインしますが、データは一切取得しません

両方ともwin server 2008とSQL 2008R2を使用しています。これはデータのインポート設定です

MS SQLプロファイラを使用して、Solrユーザーのログインを正常に監視できますが、何も表示されません。ストアドプロシージャを試して実行するようなことはありません。なぜこれが1台のサーバーで動作し、別のサーバーでは動作しないのでしょうか?

FTR Tomcatのカタリナ・ログの唯一のものは次のとおりです。

org.apache.solr.handler.dataimport.JdbcDataSource$1 call 
INFO: Creating a connection for entity data with URL: jdbc:sqlserver://localhost;databaseName=CATLive 

UPDATE: 私との両方がでMS JDBCドライバを置き換えるの解決策を考え出したのSolrメーリングリストからYavarフサインオープンソースのもの - これはうまくいくと思われます。これは、Javaの最新バージョン、DIHとMS JDBCドライバの間の互換性の問題でなければならないことを意味します。

UPDATE 2: - 私は実行しています の問題は、Java 1.6.0_29で報告されています! http://blogs.msdn.com/b/jdbcteam/archive/2011/11/07/supported-java-versions-november-2011.aspx

+0

DBに問題はありませんので、インポートできますこのDBから私の古いSolrサーバーへ。私はTomcatの代わりにJettyを使用しており、データインポートconfig/solrスキーマを可能な限り単純化しています(1つのテーブルから4つの行を1つのフィールドにインポートする)。しかし、まだ何も - importhandlerは何もしません。 –

+0

これは狂っています。新しいマシンに新しいSolrをインストールしましたが、やはり動作しません。 configの問題が解決したら、もう何もしません。 –

+0

私はSolrのバグトラッカーで問題をオープンしました:https://issues.apache.org/jira/browse/SOLR-2980 – STW

答えて

4
+0

申し訳ありません - なぜdownvoteですか?これは私の答えでした。それがどうやってダウン投票する必要があるのか​​分かりません。 –

+1

私は誰が落ち込んだのか分かりませんが、私はただ立ち上がっただけです。 _30は私のために働いた。 http://connect.apple.comでマックのために拾うことができ、それは2011年12月22日からのリリースです。 –

+0

+1イアン。スタックオーバーフローでお会いできてよかったです:) – Yavar

0

私はあなたがこの

URL = "はjdbc:mysqlの:// localhost /をdbnameは" 不足していると思います

dbnameは - あなたがコピーしたとき、私は推測> \ SQL2008

+0

いいえ?その文字列は他のサーバでも動作します。これはmysqlであり、mysqlではないため、jdbc:sqlserverです。インスタンス名を意味しますか?私はそれがデフォルトのインスタンスだと信じていますので、名前を指定する必要はありません(そして他のサーバーにはない)。 –

+0

jdbc:sqlserver:// localhost/MSSQLSERVER(MSSQLSERVERはServices.mscに記載されている名前)と同様に、localhostの代わりにMSSQLSERVERの代わりにサーバー名を指定してみましたが、運はありません。 –

0

をSolrの設定を新しいサーバに適用すると、インデックスファイルも作成されます。私はこの問題がSolrがすでにこのデータを索引付けしていることが原因であると考えています。クエリには、最後のインデックス以降に変更があったファイルのみをインデックス化するように指定されています。

これは意味がありますか?

+0

私は、2つの異なるサーバー上で2回、この例を使って最初からやり直してみました。また、「フルインポート」を開始すると、データはデフォルトでクリアされます(これは正常に動作しています)。 –

+0

Jetty出力ウィンドウに手掛かりがありますか? – GavinR

+0

最後に私が見ているのは、接続の作成... –

2

この問題は、JDBCドライバまたはその設定でのみ発生する可能性があるので、私はこの問題をjTDS Open Source JDBC driverに置き換えて解決しました。誰か

<dataConfig> 
    <dataSource type="JdbcDataSource" 
       driver="net.sourceforge.jtds.jdbc.Driver" 
       url="jdbc:jtds:sqlserver://localhost;databaseName=DBName" 
       user="Solr" 
       password="password" name="ds1"/> 
    <document> 
    <entity dataSource="ds1" name="sometext" 
      query="SELECT * FROM mytable"> 
    </entity> 
    </document> 
</dataConfig> 

HTH - しかし、私はMSのドライバを使用することはできませんなぜ私が見ることができないので、私は答えとしてこれをマーキングいないよ。私はそれはそれで作業してしまったとき、私の設定はこのように終わりました。 ..

+0

デルタアップデートを実行すると、 'dataimport.properties'ファイルが更新されるという問題がありますが、その後すべてのデータを再フェッチします。 奇妙な! –

0

この問題は、Javaランタイムの特定のリリースでのみ発生するようであり、solr以外のアプリケーションにも影響します。これは、根本的な原因が、Solrの問題ではなく、JavaランタイムとMicrosoft SQL Server JDBCドライバ間の非互換性またはバグであると考えています。

私の特別なケースでは、それぞれ3台のサーバーで構成される2つのグループがありました。 1つのグループはこの問題の症状を示さず、他のグループはすべて問題を示した。すべてのサーバーでSolr 3.4.0が実行されていましたが、同じリリースのSQL Server JDBCドライバ3.0が実行されていました。 JRE 1.6.0_20,でもが実行されていました。問題のサーバーが1.6.0_20(CentOSではyumで配布された別のRPM)で若干新しいパッケージを使用していました。

既知の問題のあるサーバーで問題のサーバーを正確なバージョンのJavaにダウングレードすると、すぐに問題が解決しました。具体的に

作業:
http://pkgs.org/centos-5-rhel-5/centos-rhel-x86_64/java-1.6.0-openjdk-1.6.0.0-1.22.1.9.8.el5_6.x86_64.rpm.html

非稼働:これは、Java 1.6.0_29の放出によって引き起こされたと見えます
http://pkgs.org/centos-5-rhel-5/centos-rhel-updates-x86_64/java-1.6.0-openjdk-src-1.6.0.0-1.23.1.9.10.el5_7.x86_64.rpm.html

関連する問題