2016-08-30 12 views
0

私はrik-solrを検索目的に使用しています。クラスタでは、4つのノードに参加しています。私はdate_l:[x TO y]のような何かをsolrでクエリします。ときどき1200カウントを返す、私は再びクエリ、それは1240カウントを返します。私が知っているように、riakは、すべてのノード上のすべてのデータを複製します。すべてのノードが更新されたデータとのみ同期するというソリューションはありますか?それはriak構成に関係していますか?riakノードの結果が一貫していない

答えて

2

最初に、明確にするために、Riakはすべてのノードにデータのレプリカを保存しません。デフォルトのコピー数(R値-http://docs.basho.com/riak/kv/2.1.4/developing/app-guide/replication-properties/)はです。 4ノードクラスタでは、3つのノードに値を格納できる可能性があります。

SOLRクエリから矛盾した結果が返ってきた場合は、何らかの理由でレプリカが矛盾していると思われます(照会しているデータの3つのコピーが何らかの理由で一致しません)エラーの)。通常、RiakのActive Anti Entropy機能(AAE)によって時間の経過とともに修復されます。これがどれくらいかかるかは、データの量と矛盾の大きさによって異なります。

問題がそれ自身で訂正されない場合は、ノード上のログファイルを参照して、何が起こっているかを確認する必要があります。

+2

この質問に答えるだけで、矛盾が必ずしもレプリカにあるとは限りませんが、すべてのRiakノードにローカルなSolrインデックスに追加したいと思います。私の経験から、Solrはパフォーマンス、特にディスク/ IOの問題に非常に敏感です。solr.logを見て、インデックスエラーがないかどうかを確認してください。一貫性が必要な場合はSolr検索に依存しません。ノードに障害が発生して新しいノードに置き換えた場合、新しいノードのSolrインデックスはKVデータの後ろに長く続きます。 – vempo

+0

Vempoあなたは100%正確です。私がレプリカを言うとき、私は一般的にデータとインデックスを意味します。私はおそらくより具体的でなければならない。 – Craig

関連する問題