問題タブ [solrcloud]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
solr - solrcloud レプリカ待機時間の構成
2 シャード 2 レプリカ構成で solrcloud クラスターをセットアップしました。しかし、シャード ノードを開始し、各シャードに 1 つのレプリカ ノードのみを開始すると、シャード リーダー ノードは継続的にメッセージを出力します: waiting until we see more replicas up,total 3 found 2 timeoutin 175000
、他のレプリカがここに来るまでの待機時間は約 3 分です。
私の質問は、開発をスピードアップするために、この待機時間を短縮する方法ですか?
solr - SolrCloud - シャード数のベスト プラクティス
不必要に多くのシャードを作成せずにシステムを拡張できるように、システム内のシャード数を計画する方法に関するベスト プラクティスの優れた情報源はありますか? シャードが多すぎると複雑さが増し、ある時点でパフォーマンスに影響を与える可能性さえあります
過去にその問題についていくつかの質問がありましたが、具体的な提案はありませんでした.
solr - リーダーでのみデータインポートを実行するように CloudSolrServer を作成する
SolrCloud を使用して 2 つのサーバーの Solr クラスターをセットアップしました。現在、マスターとレプリカがあります。
スレーブでデルタインポートを行うのは意味がないため、データインポートをリーダーに渡したいです(更新はリーダーに配布されません)。
ドキュメントから、CloudSolrServer はクラスターの状態 (Zookeeper から取得) を認識しており、デフォルトではすべての更新をリーダーにのみ送信することがわかりました。
私が望むのは、CloudSolrServer がすべての dataimport コマンドをマスターに送信するようにすることです。次のコードがあります。
しかし、リクエストは引き続き私のサーバー localhost:8080 と localhost:8983 の両方に送信されます。これを修正する方法はありますか?
solr - SolrCloud vs Solr マスター/スレーブ レプリケーション
今週、Solr インデックスで問題が発生しました: http://lucene.472066.n3.nabble.com/corrupted-index-in-slave-td4054769.html、
今日、そのエラーはほぼすべてのリクエストで常に発生し始め、バグだと思ったのでJIRAの問題を作成しましたhttps://issues.apache.org/jira/browse/SOLR-4707
ご覧のとおり、最終的には Solr マスター/スレーブ レプリケーションの失敗が原因でした。Solr マスター/スレーブ レプリケーションは私たちの環境に合わないように見えるため、SolrCloud への移行を検討する必要があるかどうかはわかりません。要件:
- インデックス サイズ: ~2,000 万ドキュメント、~9GB
- ~1200 更新/分
- ~10000 クエリ/分 (2 つのスレーブに分散) MoreLikeThis、RealTimeGet、TermVectorComponent、SearchHandler
誰かがこれらの質問に答えるのを手伝ってくれるなら、私は感謝します:
- SolrCloud に移行することをお勧めしますか? レプリケーションのパフォーマンスに影響はありますか?
- その場合、どちらがより優れたパフォーマンスを発揮しますか? すべてのサーバーでインデックスのコピーを維持するか、シャード サーバーを使用しますか?
- 高可用性を確保するには、いくつのシャードとレプリカを推奨しますか?
敬具、
ビクター
solr - Solrj クライアントと XML 応答
jetty サーバーで solr4.0 を使用しています。solrj を使用して solr にクエリを実行し、結果が XML でフォーマットされることを期待しています。そこで、HttpSolrServer を使用し (CloudSolrServer と LBHttpSolrServer はパーサーの設定をサポートしていません)、パーサーを Xmlparser に設定しました。さらに、SolrQuery param wt=xml も設定していますが、XML で結果を取得できません。テスト コードは次のとおりです。
ここで何がうまくいかないのですか?
solr - AWS EC2 マシンでの Solrcloud 構成
AWS EC2 マシンでの SolrCloud のセットアップで問題に直面しています。シナリオは次のとおりです。
Zookeeper と solr 用に 3 つのサーバーがあります。
各サーバーには、Zookeeper が実行されています。Zookeeper のホスト情報を使用して Solr を起動すると、Solr が起動し、期待どおりに動作します。
問題は、クラスター情報を生成するときに飼育係がサーバーのプライベート IP を使用するため、プライベート IP を認識できない Solrj を使用してクエリを実行できないことです。たとえば、server1 の場合。private IP ip-a,b,c,d public IP : u,v,w,x Zookeeper は、プライベート IP によって solr インスタンスを認識します (明らかに、これは外部の EC2 マシンからは見えません)。
ライブ ノード IP はプライベート IP であり、パブリック IP ではありません
Zookeeper がクラスター情報を IP ではなくホスト名として保存する方法はありますか? それができない場合、AWS EC2 マシンで solr Cloud を実行するにはどうすればよいですか?