SolrCloudで面白い状況になっています。基本的に理由はわかりませんが、通常はクラウドにないSolrインスタンスがSolrCloudページに表示され、Zookepeerのlive_nodes
パスにも表示されます。
状況の詳細は次のとおりです。
削除マシン上にある仮想マシン上でスタンドアロンアプリケーションとして実行されているSolrインスタンスが1つあります。これから呼びますvirtual1
。
これを実行するためのスクリプトは次のとおりです。
java
-server
-XX:+UnlockExperimentalVMOptions
-XX:+UseG1GC
-XX:+UseCompressedStrings
-Dcom.sun.management.jmxremote
-d64
-Xmx4096m
-Dcom.sun.management.jmxremote.port=9999
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname=remotehost -jar start.jar
このインスタンスはポート8983で実行されているため、に移動するとvirtual1:8983
、solrの従来の管理ページが表示されます。残りの構成は、solrディストリビューションに付属している例solrとすべて同じです。
次に、ローカルマシン(これから呼び出されます)で、ポートでlocal
zookeeperサーバーを実行しています。2181
2182
次に、solrインスタンスをクラウドに追加するために、ローカルマシンで1つのインスタンスを実行し、さらに2つのインスタンスを実行し、virtual1
それらを起動するためのスクリプトを次のように実行します。
ローカルのSolrインスタンス:
java -Dbootstrap_conf=true -DzkHost=zkhost:2181 -Djetty.port=8984 -jar start.jar
リモート上のSolrインスタンス:
java -DzkHost=zkhost:2181 -Djetty.port=8985 -jar start.jar
java -DzkHost=zkhost:2182 -Djetty.port=8986 -jar start.jar
ここまで、SolrログまたはZookeeperログのいずれにも例外やエラーはありません。
それらがすべて実行されていることを確認するvirtual1:8985 and virtual1:8986
と、ローカルのインスタンスも同様です。
しかし、クラウドをチェックすると(Solr管理ページとzookeeper CLIの両方から)。私はクラウドでlocal:8983
しか見ることができませんが、まったく追加されていません...奇妙な点は、上記の開始スクリプトからわかるように、Zookeeperサーバーについて何も知らないということです。virtual1:8983
virtual1:8985 and virtual1:8986
virtual1:8983
上記の事実に加えて、私は別のことを試みました。virtual2
と同じハードマシンで実行されている別の仮想マシン( )でvirtual1
、次のコマンドを使用してSolrインスタンスを作成しました。
java -DzkHost=zkhost:2181 -Djetty.port=8985 -jar start.jar
java -DzkHost=zkhost:2182 -Djetty.port=8986 -jar start.jar
したがって、この場合、インスタンスvirtual2:8985 and virtual2:8986
はとしてクラウドにあるはずです。しかし、それは起こりません...私はvirtual2:8983
、実際には存在しない、しか見ることができません。で実行されているスタンドアロンのSolrのポートを示しているだけvirtual1
です。
なぜこれが起こっているのか誰かが説明できますか?